[PD] isosonic curves : level the perceptual loudness of different pitches

Charles Henry czhenry at gmail.com
Thu Jan 25 15:24:47 CET 2007

Hi, Alexandre,

On the one hand, a filter could be designed to approximate what you
need, but this sounds like a job for the wavelet transform.  A linear
filter can't handle the level-dependent changes in iso-sonic curves.
In the wavelet domain, you could apply different compression/expansion
curves for each subband to approximately invert the equal loudness

The only big problem here is that you need to have a calibrated system
to make a real difference.  You need to know, when you tell your
loudspeaker to output 90 dB at 1000 Hz, it will *be* 90 dB for your
listeners (same for all the other frequencies in your composition).
Also, the loudness can vary over the listening area, and may depend on

If you've already got a multi-band equalizer set up and a microphone
to take measurements in some particular listening position, you can
already make a decent linear approximation, without anything else.


On 1/25/07, Alexandre Quessy <listes at sourcelibre.com> wrote:
> Hi all,
> I would like to create an abstraction to adjust the amplitude of
> synthetic sounds according to the ear sensitivity. At a given
> amplitude, we hear the notes in the middle range louder than the high
> and low notes. This perceptual property of the audition can be
> somewhat undesired in a musical work. (in my opinion at least)
> The equal lines of actual amplitude of notes that seem to have the
> same loudness are called "isosonic curves". Here are 2 different
> graphics of these curves :
> http://www.multimedia.uqam.ca/cours/audio/images/diag/sonpsy_isoson.gif
> http://www.comm.uqam.ca/GRAM/illu/mus/nature/CourbeDIsosonie.GIF
> A few links that might give you a few hint for the calculations :
> http://en.wikipedia.org/wiki/DB%28A%29
> http://en.wikipedia.org/wiki/Weighting_filter
> http://en.wikipedia.org/wiki/Stevens%27_power_law
> Anyone would have a formula or a table containing data that could help
> me to calculate this ? For instance, we would be able to generate sine
> waves of any frequencies that would be perceived as having the same
> intensity for all of them, by changing their amplitude according to
> this leveling formula . This way, we could hear our low freq notes as
> much as the middle ones. Very valuable. :)
> Thanks !
> --
> Alexandre Quessy
> http://alexandre.quessy.net
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list

More information about the Pd-list mailing list