I have subtle education on music/sound design so excuse my ignorance if any.

I am producing a score via programming ( actually Java and minim ) where I use Oscillators to produce sound. I noticed that the lower and higher frequencies tend to be less loud than the middle ones. I suspect that there is a relation between pitch and loudness, but is there any math behind it? Can I keep the loudness on the same level on all frequencies by e.g. altering the amplitude of the Oscillator?

3 Answers 3


You are most likely experiencing the non-linear frequency reception of the human hearing and the frequency response in your playback system.

As listener you perceive a constant loudness of steady tones roughy following this chart (Equal loudness contours or "Fletcher-Munson" curves):

Equal loudness contour

In addition your headphones or speakers frequency response curve is also a variable here, but you probably should not try to compensate for that in your design. You should though try to listen with a system with a rather flat response if you're going to tweak oscillator volumes by ear (i.e. avoid crappy speakers, head phones and amps with "magic" rock eq settings etc).

If possible in your setup you may want to try out loudness compensation to see if that helps. MDA-VST plugins made a Loudness VST for that exact purpose. It follows the Stevens-Davis equal loudness contours.

Btw. there is an old patent from 1979 regarding this exact issue in tone generator designs: Electronic musical instrument with automatic loudness compensation which may be of interest to you also.


You could probably run a compressor over the sound to control the loud peaks. You could also try tracking the frequencies and modifying the amplitude based on where the frequency is.

  • I don't have a big variety of tools ( like a compressor ) but I can modify the amplitude based on the frequency, the question is how much should I modify it? What is the relation between frequency and loudness?
    – xpy
    Oct 7, 2015 at 12:02

The only relationship between frequency and loudness that I am aware of is Equal Loudness Contours ( https://en.wikipedia.org/wiki/Equal-loudness_contour ). You may be aware of this already, but the general gist of it is that our ears are more sensitive to certain ranges of frequencies than others. That being the case, I would suggest you run your audio through a metering plugin to check the peak values (in dBFS) of different pitches to ensure they are all equal. If the levels are, in fact, equal then this is just a case of perceived loudness which you can fix with an EQ. If the peak values are inconsistent, then the problem may be your program/script(?) playing oscillators at varying amplitudes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.