The trouble with the "standard" loudness switch, which added an amount of boost determined by the position of the volume control, was that most (pre)amps were designed for typical sources of the time. "Full volume" (usually onset of clipping) was designed to be about the "2 o'clock" to "3 o'clock" position of the control. The "loudness" tap of the control was around the "11 o'clock" position. Modern sources such as CD players, along with modern overcompressed CDs, meant that "full output" was often reached at 11 or 12 o'clock. This meant that loudness compensation was engaged for all practical volume settings - too much compensation.
There's a fairly simple rule to apply for approximate loudness compensation:
Arrange the compensation so that, at a listening level where the audio sounds "right" or realistic to you, the response is flat. As you reduce the volume below that, progressively boost the bass (and optionally the treble). For every 10 dB you lower the volume setting, boost the lowest bass by about 5 dB and optionaly the treble by a dB or so.
You can experiment with this if you have an amp with tone controls.
Stick a few paper labels on the faceplate so that you can mark temporary scales around the controls with a pencil.
You'll need:
A source of test signals (PC / smartphone generated or a signal generator.)
A voltmeter or other means of measuring the amp output level.
You've probably noticed that, for each genre of music, there's a volume level that sounds "right" or realistic to you. So play some music and adjust the volume control until it sounds "right". Attach the meter to the amp output and note the peak levels achieved.
Play a 1 KHz tone and adjust the generator (not the volume control) to about the same level on the meter. Now disconnect the speakers for the sake of your sanity.
Mark the position of the volume control.
Now repeat the following steps:
- Play a 1 KHz tone and turn down the volume control by 6 dB on the meter.
- Play a 50 Hz tone and turn up the bass control until the level rises by 3 dB.
- Mark the position of the controls.
Repeat.
The aim is to have a set of marks to indicate the correct position of the bass boost for each position of the volume control.
Experiment with more or less bass for each level, and optionally some treble boost, to arrive at a curve that works for you.
A while back I designed a simple analogue circuit that did this automatically, but it needs a 6-gang potentiometer...
I believe Audyssey and some other home theatre processors offer the same function in DSP.
Edit:
Corrections made. References to film SPL removed, see my response to Gregorio.
The above procedure worked for me (for prog / rock / metal in the days before the loudness war.) YMMV.