Anybody have a formal loudness circuit?

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Thanks for the input guys.

FWIW I actually like "some" loudness circuits. If they do as they are supposed to do and fade into non-interference at higher listening levels. Some I've encountered are simple bass and treble boost that just stays constant at all levels. Shouldn't work that way.

Guess the answer is to just try a bunch of designs and see which one is most pleasing to my ears.

Doc
 
From the web... F-M opamp circuit, and ISO 226 code.

I use the ISO 226 in my PC based system. I have found it necessary to equalize the room effects before adding a global loundness contour like the ISO 226 curve.




function [spl, freq] = iso226(phon);
%
% Generates an Equal Loudness Contour as described in ISO 226
%
% Usage: [SPL FREQ] = ISO226(PHON);
%
% PHON is the phon value in dB SPL that you want the equal
% loudness curve to represent. (1phon = 1dB @ 1kHz)
% SPL is the Sound Pressure Level amplitude returned for
% each of the 29 frequencies evaluated by ISO226.
% FREQ is the returned vector of frequencies that ISO226
% evaluates to generate the contour.
%
% Desc: This function will return the equal loudness contour for
% your desired phon level. The frequencies evaulated in this
% function only span from 20Hz - 12.5kHz, and only 29 selective
% frequencies are covered. This is the limitation of the ISO
% standard.
%
% In addition the valid phon range should be 0 - 90 dB SPL.
% Values outside this range do not have experimental values
% and their contours should be treated as inaccurate.
%
% If more samples are required you should be able to easily
% interpolate these values using spline().
%
% Author: Jeff Tackett 03/01/05



% /---------------------------------------\
%%%%%%%%%%%%%%%%% TABLES FROM ISO226 %%%%%%%%%%%%%%%%%
% \---------------------------------------/
f = [20 25 31.5 40 50 63 80 100 125 160 200 250 315 400 500 630 800 ...
1000 1250 1600 2000 2500 3150 4000 5000 6300 8000 10000 12500];

af = [0.532 0.506 0.480 0.455 0.432 0.409 0.387 0.367 0.349 0.330 0.315 ...
0.301 0.288 0.276 0.267 0.259 0.253 0.250 0.246 0.244 0.243 0.243 ...
0.243 0.242 0.242 0.245 0.254 0.271 0.301];

Lu = [-31.6 -27.2 -23.0 -19.1 -15.9 -13.0 -10.3 -8.1 -6.2 -4.5 -3.1 ...
-2.0 -1.1 -0.4 0.0 0.3 0.5 0.0 -2.7 -4.1 -1.0 1.7 ...
2.5 1.2 -2.1 -7.1 -11.2 -10.7 -3.1];

Tf = [ 78.5 68.7 59.5 51.1 44.0 37.5 31.5 26.5 22.1 17.9 14.4 ...
11.4 8.6 6.2 4.4 3.0 2.2 2.4 3.5 1.7 -1.3 -4.2 ...
-6.0 -5.4 -1.5 6.0 12.6 13.9 12.3];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Error Trapping
if((phon < 0) | (phon > 90))
disp('Phon value out of bounds!')
spl = 0;
freq = 0;
else
%Setup user-defined values for equation
Ln = phon;

%Deriving sound pressure level from loudness level (iso226 sect 4.1)
Af=4.47E-3 * (10.^(0.025*Ln) - 1.15) + (0.4*10.^(((Tf+Lu)/10)-9 )).^af;
Lp=((10./af).*log10(Af)) - Lu + 94;

%Return user data
spl = Lp;
freq = f;
end
 

Attachments

  • Loudness_Contour.jpg
    Loudness_Contour.jpg
    86.3 KB · Views: 728
Hi,

Anybody have a schematic / circuit for a real "formal" loudness control?

Almost all of the published ones and common ones are wrong.

Most seem to attempt to conform to the curves of equal loudness but fail and boost bass insufficiently and boost treble where no boost is needed.

In addition, you need a "reference level" in your system which equates some reference and is taken as "flat". With most HiFi systems having way, way excessive gain all these "Formal Loudness" buttons are are "boom-tizz" buttons.

For a REAL loudness control you need to equalise the difference between the equal loudness curves. Here a slide from an excellent german site that supports Mr. Sengpiel's Sound Engineer courses at a german Uni:

http://www.sengpielaudio.com/GehoerrichtigeLautstaerkeregelung.pdf

It shows normalised the "equal loudness" curves for 90dB and 30dB SPL.

Any true "Loudness" contur needs to equalise the difference between the two curves, that is the second graph. This Graph is the loudness contour that would need to be applied if the original intended replay SPL is 90dB and the sound is attenuated by 60dB (in other words way, way below late night listening).

The last graph shows the response of a common "HiFi" Loudness.

The issues are now manifold.

Many studio monitoring system will be set to around 90dB SPL for "0dB-VU", VU standing for Volume Unit and essentially being the average SPL of the programm, not peak based.

In theory for CD the recommended "0dB-VU" point is -14dBFS, in practice it varies widely (I would say +/-10dB easily) and modern music is excessively compressed, so replay level averages are likely higher, while some audiophile levels operate lower average levels as they do not compress peaks.

For LP "0dB-VU" should be 5cm/S peak or 3.54cm/S RMS with 14dB peaks possible, however, again actual average levels vary widely, probably not quite as wide as CD, but significantly.

The next item is that Speakers have different SPL's for a given input, while 87dB/2.83V/1m is a good average for speakers tested by Stereophile (and thus likely also for high quality systems), real speakers I have encountered range from 74dB/2.83V/1m to 105dB/2.83V/1m.

The gain of Pre and Power Amplifiers also varies widely, as often does the output level from sources.

It means that most of the time any loudness control combined with the "volume" control will be "wrong" and that it will be rather difficult to set any separate adjustable "loudness" control.

Many, many years ago I used a "control panel" in my home studio setup back in what was then east germany. I call it control panel, because it was not a traditional preamp.

It did have a bypassable tone control and multiple inputs, but here similarities end. It allowed me to route the signal to a number of different Amplifier/Speaker combination, each output had a wide ranging trim (screwdriver) control for level to ensure that a given output gave the same SPL from each Speaker/Amplifier combo.

The "Volume" control used a 32 Position switch with Resistors and networks to implement "loudness" (not bypassable) which allowed replay levels average from around 60dB to 100dB. The whole thing came out of an old german Publication and I now believe was based on the legendary Eckmiller Fader with Loudness.

The input section had multiple rotary controls and was actually a mixer, instead of a traditional input selection (with additional mute switches for each input at zero) and was used to set the level correctly. Of course, two VU Meters where fitted, to allow the correct setting of the Levels from the various Tape Machines, Tuner and Record Player (no CD back then in East Germany), various dubbing routing options where switchable in addition.

With this control panel and with average program levels before volume control set identically, it was indeed possible to adjust the volume without the usual perceived loss of Bass and many more recordings and programmes had the correct tonal balance without needing the tone controls, however such a system is not exactly practical.

With today's serious HiFi system tending towards single sources again it should be possible to calculate the overall gains-structure with Amplifier and Speaker accounted for and I am in fact playing with something along these lines, but it is not ready yet. However, without being able to at least estimate and fix reference levels from source and Amplification/Speaker loudness just does not work correctly.

Ciao T
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.