HydrogenAudio

Hydrogenaudio Forum => General Audio => Topic started by: googlebot on 2010-09-11 12:23:40

Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-11 12:23:40
Low volume music sounds very thin in my living room, while being great at mid to high levels. That comes at no surprise (http://en.wikipedia.org/wiki/Equal-loudness_contour) and doesn't need further discussion when you note that the curves vary with sound pressure.

Is there any plugin which would apply the difference curve between a chosen reference sound level, for example the 40 phon curve (plus 40 dB) minus the 80 phon curve?

I know, all this is not perfect for music, since equal loudness contours are derived from stationary signals. Still, I expect the result to be better than just doing nothing and have drowned lows and mid-highs.

PS Or has anyone got the raw data, so that I could calculate EQ presets myself?
Title: ISO 226:2003 based loudness correction
Post by: Notat on 2010-09-11 18:30:33
We used to call this sort of compensation "Loudness" and it was found on most receivers. It looks like that term has been occulted by "Loudness war" and the like and it is not so common on equipment anymore. Just dial up the bass a little when you lower the volume and you should be good.
Title: ISO 226:2003 based loudness correction
Post by: Arnold B. Krueger on 2010-09-11 18:33:12
We used to call this sort of compensation "Loudness" and it was found on most receivers. It looks like that term has been occulted by "Loudness war" and the like and it is not so common on equipment anymore. Just dial up the bass a little when you lower the volume and you should be good.


IME loudness contours were victims of the high end's obsession with avoiding equalization.
Title: ISO 226:2003 based loudness correction
Post by: C.R.Helmrich on 2010-09-11 19:42:13
PS Or has anyone got the raw data, so that I could calculate EQ presets myself?

http://www.mathworks.com/matlabcentral/fileexchange/7028 (http://www.mathworks.com/matlabcentral/fileexchange/7028)

Plug-in for which software? Foobar? In any case, I don't know of any such plug-in, but it sounds like a nice project to do

Chris
Title: ISO 226:2003 based loudness correction
Post by: greynol on 2010-09-11 20:02:06
This is probably the single most important reason I've chosen Yamaha receivers for my 2.0 and 2.1 systems.  They have a variable loudness contour.
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-11 20:47:18
PS Or has anyone got the raw data, so that I could calculate EQ presets myself?

http://www.mathworks.com/matlabcentral/fileexchange/7028 (http://www.mathworks.com/matlabcentral/fileexchange/7028)

Plug-in for which software? Foobar? In any case, I don't know of any such plug-in, but it sounds like a nice project to do

Chris


That's really great, thanks! I have never used Matlab before. I am installing it right now and will give it a try. Maybe I can modify the function to output the difference between two given phon levels. My plan for now, as there does not seem to be any Foobar plugin for this, yet, is to create 2 or 3 presets with a parametric equalizer and then create convolution files for Foobar. Anything further would cost too much time, that I don't have right now.


What do you guys think would be the best reference curve? What's a typical SPL of a rather loud but still comfortable listening session?
Title: ISO 226:2003 based loudness correction
Post by: Slipstreem on 2010-09-11 22:07:45
Surely it wouldn't be too hard to have two audio streams, one 'dry' and one EQed with the severest curve from the Fletcher-Munson curve set. Adjust the gain of the EQed version with a floating inverted average level detector with appropriately tweaked attack and decay times and use that to control the amount of EQed audio added to the 'dry' audio for auto-loudness?

So, at your highest reference signal level, all you get is the 'dry' audio. As the average signal level from the source drops, more of the EQed version is progressively added to the 'dry' audio. It wouldn't be exactly precise, but I'd expect it to be a fairly close approximation of what should be happening for equal loudness across a fairly wide volume range.

Although, when you consider that, back in the good old days, loudness controls were implemented with enough accuracy to make them worthwhile by just adding a couple of RC networks for each channel around the volume pot, I'm not convinced that a particularly high level of precison is required in practice.

Note that I speak from the POV of an electronics design engineer, not a software engineer, so what I could probably achieve (after a fashion) at a prototype level in a few days in analogue hardware may be a completely different kettle of fish in software.
Title: ISO 226:2003 based loudness correction
Post by: pdq on 2010-09-12 14:25:44
Maybe I'm misreading the original post, but I thought he was referring to the change in perceived bass when he turns his volume control up and down, not when the musical piece gets louder and softer?
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-12 14:30:25
Matlab is great! I have uploaded my first results [a href='index.php?showtopic=83607']here[/a]. Reference level was 90 phon. The resulting plots are based on the function iso226(difference) - iso226(90). I was quite impressed about the range of values. A 30dB loudness correction seems to imply EQing of over 16dB for some frequencies. Can that be correct?

PS Thank you, pdq, yes.
Title: ISO 226:2003 based loudness correction
Post by: C.R.Helmrich on 2010-09-12 14:41:32
A 30dB loudness correction seems to imply EQing of over 16dB for some frequencies. Can that be correct?

Not sure. After some tuning by ear, I found that about 10 dB of low-frequency EQing sounds best for 30-40 dB loudness correction.

[Edit: Just noticed that I misread the plots (log-linear thing). At 100 Hz, both of our filters boost by about 7-10 dB for 30 dB loudness correction. So the results seem quite close to each other.]

I just managed to design a simple 5th-order parametric IIR correction filter. See the corresponding upload thread. This should work fine as a static loudness correction filter, i.e. one coupled to the volume knob, as pdq described above.

PM me if you're interested in further details.

Chris

P.S.: Yes, Matlab is great
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-12 14:53:33
Next I'll try to replicate the curves exactly in iZotope Ozone and then upload the resulting convolution files for general Foobar use. I probably won't find the time to do that before the middle of the week. We'll see.

I think a perceptual, digital volume control would be a great product! One would dial in once at which sound pressure levels a set of speakers appears to have the flattest frequency response. All volume changes would then just be EQing of the sort iso226(attenuation) - iso226(reference) for the frequency range covered by the standard and just flat attenuation for the rest.
Title: ISO 226:2003 based loudness correction
Post by: Slipstreem on 2010-09-12 15:14:47
Maybe I'm misreading the original post, but I thought he was referring to the change in perceived bass when he turns his volume control up and down, not when the musical piece gets louder and softer?

Yes. The original proposal should work fine if all source material has ReplayGain applied before loudness correction.

If it doesn't then you get less loudness correction on quiet tracks than on loud ones as the volume control will have be set higher for the quiet ones providing less loudness correction for the same output signal level. Providing some means of tracking the source level (preferably with a very fast attack time and a very slow release time) reduces this problem.

I'm thinking of the way an olde worlde RC network loudness control behaves in relation to different source levels where its effectiveness is considerably reduced with quieter sources due to having to crank the volume pot up. If this software behaves differently then I stand corrected.
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-12 15:19:04
Yes, the application of ReplayGain before processing would be mandatory.
Title: ISO 226:2003 based loudness correction
Post by: jimmanningjr on 2010-09-12 19:25:49
I used to have an old Harmon Kardon 100+ Quad receiver. A real dinosaur...But it had a real neat Loudness button that was unlike any other loudness button Ive seen...Some where I still have the Booklet that came with it and in that booklet It described how it worked (I know a real "cock" tease of a statement. Sorry Its at the bottom of a box in storage. From what I remember its effect became less pronounced and cut off at a certain point the more you turned up the volume  . I do remember this though...It added high as well as low frequencies...In other words it followed  a predefined curve and the louder the music got the less of a curve was used. Was very advanced stuff for 1974...I can not recall ever seeing a "Loudness" controll that did any more than pump the bass up +6-8db at 70-100 khz ala Sony's Groove Button..... after that. I myself have about 3 predifined EQ settings used for low level listening...
Talk amongst yourselves...I find this facinating!
Title: ISO 226:2003 based loudness correction
Post by: Slipstreem on 2010-09-12 19:51:07
From what I remember its effect became less pronounced and cut off at a certain point the more you turned up the volume  . I do remember this though...It added high as well as low frequencies...

That was fairly common practice for the era, I believe. I've had several amplifiers dating from the mid 70s onward with loudness controls that have behaved exactly as you describe.
Title: ISO 226:2003 based loudness correction
Post by: jimmanningjr on 2010-09-12 20:29:19
From what I remember its effect became less pronounced and cut off at a certain point the more you turned up the volume  . I do remember this though...It added high as well as low frequencies...

That was fairly common practice for the era, I believe. I've had several amplifiers dating from the mid 70s onward with loudness controls that have behaved exactly as you describe.


Why did they stop making the "Loudness Button"? its nice to have if you also use your system for low level listening...
Title: ISO 226:2003 based loudness correction
Post by: pdq on 2010-09-12 20:38:51
Why did they stop making the "Loudness Button"? its nice to have if you also use your system for low level listening...

It was easy to implement when the volume control was a potentiometer. You added a tap part way up in volume and hung some equalization circuitry on it.

These days the volume control is digital, so you would have to do it in firmware I guess.
Title: ISO 226:2003 based loudness correction
Post by: Fedot L on 2010-09-12 21:31:30
…when you note that the curves vary with sound pressure.

Note that the curves vary VERY considerably with sound pressure in the low frequencies (from about 700 Hz to 20 Hz), and practically insignificantly in the rest of the frequency range in the reasonable listening volume range.
…has anyone got the raw data, so that I could calculate EQ presets myself?

You need no data other than the equal loudness contours (version 2003) you’ve cited.
You choose the maximum, reasonable for you, listening sound pressure level in dB (say 100 dB) and the minimum, reasonable for you, listening sound pressure level in dB (say 50 dB).

Then you take the differences in dB of ordinates values for all frequencies from 20 to 700 Hz for the 100 dB and 50 dB curves. This will be the whole range of gradual control of bass of your future “loudness” control. On the low frequencies INCREASING side, if you wish it only for listening sound pressure levels (SPL) LOWER than the SPL “natural” for the natural sound source listened electro-acoustically (for example, a big symphony orchestra listened to at 50…60 dB SPL).

And also on the low frequencies DECREASING side, if you wish it also for listening sound pressure levels (SPL) HIGHER than the SPL “natural” for the natural sound source listened electro-acoustically (for example, a flute or a normal human speech listened to at 90…95 dB SPL).

By “loudness control” I mean only a separate, independent equal loudness contours compensation device, not notorious “loudness compensated volume controls”, that allow NO comparison between the “natural” SPL for a natural sound source, and its SPL listened electro-acoustically, and therefore, almost never fitting the due corrections.
This is probably the single most important reason I've chosen Yamaha receivers for my 2.0 and 2.1 systems.  They have a variable loudness contour.

Exactly, although only for the low frequencies INCREASING side, i.e. for listening sound pressure levels (SPL) LOWER than the SPL “natural” for the natural sound source listened electro-acoustically.
What do you guys think would be the best reference curve?

What “reference curve”? For an equal loudness contours compensation device, there is none.
What's a typical SPL of a rather loud but still comfortable listening session?

Typical? What for? And isn’t it the SPL of a listening session rather loud but still comfortable for YOU and/or your companions?
…at your highest reference signal level…

For the equal loudness contours compensation domain, there is NO other “reference” SPL than the SPL of the natural sound source that a system listener wishes to listen to electro-acoustically.

When you listen, electro-acoustically, to a natural sound source at a SPL LOWER that the SPL “natural” for this natural sound source, and you wish to impart to its sound a tonal balance you are accustomed to at its natural SPL, you will apply, by means of your equal loudness contours compensation device, an increase of low frequencies to the degree you wish.

When you listen, electro-acoustically, to a natural sound source at a SPL HIGHER that the SPL “natural” for this natural sound source, and you wish to impart to its sound a tonal balance you are accustomed to at its natural SPL, you will apply, by means of your equal loudness contours compensation device, a decrease of low frequencies to the degree you wish.
…I'm not convinced that a particularly high level of precision is required in practice.

Quite right. It’s determined only by the listener’s preference and his personal experience.
Matlab…
A 30dB loudness correction seems to imply EQing of over 16dB for some frequencies. Can that be correct?

I don’t know what you mean by “30dB loudness correction”, but the difference of ordinate values of the equal loudness contours, for example, for 20 Hz between 100 phon et 50 phon reaches 23 dB.
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-12 22:19:24
Thank you for your comments. However, have a look at the earlier posts in the thread, most of what you advice has actually already been cleared up. The data, that I had asked for, has been provided by C.R. Helmrich and the process itself has been laid out conceptually:

ref: reference SPL
tgt: target SPL

Apply Replay Gain (ref = 89 dB) -> Apply a filter corresponding to the iso226(ref) - iso226(tgt) function (see Matlab code).

If anyone still sees a problem with the above, I'd be thankful for any help.

That's basically it. Due to a lack of time, the implementation is going to consist of only a few convolution presets for Foobar right now. A dynamic approach, where the volume control would modify a set of equalizer parameters or choose corresponding convolution presets would be nice, but it hasn't been programmed, yet. Actually, there is even already an implementation within Sox. So the only thing really missing is a nice GUI integration for media players.
Title: ISO 226:2003 based loudness correction
Post by: Fedot L on 2010-09-13 13:49:36
…have a look at the earlier posts in the thread, most of what you advice has actually already been cleared up.

Before writing my answer, I had read the whole thread, but it doesn’t seem to me anything of what I’ve tried to explain is cleared.
ref: reference SPL
tgt: target SPL

To me, no “reference”, “target” etc. SPLs can be applied for the equal loudness contours compensation, as I said. The only criterion applicable is the listener’s preference.
If anyone still sees a problem with the above...

I do, and really crucial.
…the volume control would modify a set of equalizer parameters or choose corresponding convolution presets would be nice…

My explanation why the volume control CANNOT be used for equal loudness contours compensation control, is tacitly ignored.
Equal loudness contours compensation control can be only a discrete circuit unit.
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-13 14:23:11
I really don't see your problem. tgt and ref are user modifiable parameters. Maybe it is just a different use of words, I call "reference" what you seem to call "natural".

By experiment I have also found out that the choice of ref is really not that significant, att = ref - tgt is the only variable making a real difference. The difference between ref = 90, tgt = 70 and ref = 60, tgt = 40, att = 20 is below .5 dB for each band.

I also do not agree that the only significant range is 20...700 Hz. For example, why omit a over 2 dB difference at 12.5 kHz for an 18 dB attenuation? And while we're at it. Why not just model perfectly? A four band parametric EQ is sufficient to get an accuracy of +/- .5 dB with respect to the mathematically derived curve. I'm very impressed by the results so far.
Title: ISO 226:2003 based loudness correction
Post by: Slipstreem on 2010-09-13 15:22:40
I'm wondering if Fedot means that the pre- and post-ReplayGain values for each track (or at least the difference between them) would be required to calculate the natural and target loudness levels respectively? After all, a track that's intended to be quieter originally should still sound quieter in terms of tonal quality after correction if the relative apparent loudness level of the track is to be representative of reality.

From the experiments I carried out when designing an analogue loudness control for a home-made preamp many years ago, I'd agree with you that a degree of correction is also desirable at the higher end of the audio spectrum.
Title: ISO 226:2003 based loudness correction
Post by: greynol on 2010-09-13 19:20:08
I swept the variable loudness control on my receiver a long while back and it was basically a midrange cut, IIRC.  Whether or not it sounded natural is in the ears of the beholder.  I feel that it is provided I'm not going much past -8dB (as indicated on the control) and the volume when the loudness control is at 0dB is fairly loud.
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-13 19:30:07
Results are [a href='index.php?act=findpost&pid=722690']online[/a].

If needed, I might add a moderate -5 dB version later.

PS: Judging by ear I think the filter needs even more highs than the alternate version. What do you think?
Title: ISO 226:2003 based loudness correction
Post by: klonuo on 2010-09-13 21:36:28
Thanks for your nice experiment and fine results
Using foobar convolver and enjoying your effect right now
Highs are fine by me, although I always boost highs and lower bass in general listening

What's your reason for using Ozone instead built-in parametric equalizer, maybe lower number of bands provided in CEP/Au, or something else?
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-13 21:58:44
What's your reason for using Ozone instead built-in parametric equalizer, maybe lower number of bands provided in CEP/Au, or something else?


Foobar's EQ ends at 55 kHz at the bottom. Also missing exact meters and fixed spacing of bands didn't allow me to replicate the curves as exactly as I wanted. I am also no big fan of graphic equalizers in general. They always either don't fit the problem sufficiently or implement basically very simple things very complicated.
Title: ISO 226:2003 based loudness correction
Post by: dhromed on 2010-09-13 22:09:31
Nice work. I went against your advice, and did some quick listening with MP3s of Portishead; Mysterons and Sour Times, specifically.

I preferred the -20dB version for very low level playback, and didn't find much use for the subtly different -10dB, as I generally don't notice any disturbing low/high attenuation when playing at the levels it was apparently meant for.

The loudness button on my amp seems smoother than the convolver wavs, provides a greater low boost across a greater range, and also amplifies the high ranges significantly more.
Title: ISO 226:2003 based loudness correction
Post by: klonuo on 2010-09-13 22:15:14
Foobar's EQ...

I was talking about Audition built-in parametric eq
Isn't -20 dB corrected too attenuated compared to same alternative (by looking in CEP frequency spectrum)?
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-13 23:05:33
Oh, I guess that would also have been fine. I'm more familiar with Ozone's UI and didn't have to research first if it's any good.
Title: ISO 226:2003 based loudness correction
Post by: splice on 2010-09-13 23:53:16
For an in-depth discussion of loudness compensation, including suggested circuits, see this thread over at diyaudio:
http://www.diyaudio.com/forums/solid-state...ss-control.html (http://www.diyaudio.com/forums/solid-state/154209-reverse-old-loudness-control.html)

The practical side of that thread is aimed at processing in the analogue domain. I hadn't considered "doing it digital" as this thread has suggested.

By the way, the Matlab function is easily converted to other languages - I ported it to REXX without any problems. It should be just as easy to port it to VB, C++, Perl etc.
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-14 00:48:44
Isn't -20 dB corrected too attenuated compared to same alternative (by looking in CEP frequency spectrum)?


Which alternative? The -20 dB curve matches the iso226(83) - iso226(20) function exactly and was made by hand without any personal tweaking. -10 dB has been generated from that with Ozone's "amount" function, i.e. I left all settings untouched and reduced the EQ's "amount" value until the curve matched the new iso function within +/- 0.2 dB again. It worked without further adjustments. Condition is that Ozone is really able to output what it displays, but as yet I really haven't had a reason that call that into question.
Title: ISO 226:2003 based loudness correction
Post by: klonuo on 2010-09-14 01:26:04
"-20 dB Loudness Corrected.wav" and "-20 dB Loudness Corrected - Alternative.wav" when looked in frequency spectrum: http://img215.imageshack.us/img215/2696/clips.png (http://img215.imageshack.us/img215/2696/clips.png)

I was just asking as I don't quite understand how this works, because when impulse is applied to signal they are both correcting as it should and "auto level" is disabled in convolver
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-14 01:44:34
Please double check. The plots you have uploaded do indeed not look as they should. But I just did the same analysis in Audition and it looks fine.
Title: ISO 226:2003 based loudness correction
Post by: klonuo on 2010-09-14 02:12:53
Yeah, it's mistake at my end: the second screenshot is with response from cursor position and not entire impulse (I didn't pressed "scan"). Because impulse is at the beginning of waveform the frequency response looks similar in shape as for the entire impulse, and that's why I haven't noticed that whole impulse is not selected. Apologies for inconvenience
Title: ISO 226:2003 based loudness correction
Post by: Fedot L on 2010-09-19 11:40:01
I really don't see your problem.

It seems to me I haven’t any.
Maybe it is just a different use of words...

Yes, very different.
I call "reference" what you seem to call "natural".

From your reasoning, I see absolutely not. Let’s see:
What do you guys think would be the best reference curve? What's a typical SPL of a rather loud but still comfortable listening session?

The crucial difference in the use of words in our specific case, is that the only reference SPL for equal loudness compensation applications in all my reasonings is the SPL natural for the natural sound source, listened to electro-acoustically at any moment. And not a “rather loud”, or for “comfortable listening session” etc.

What can be a “typical SPL” common for a flute, with its typical SPL of about 60…65 dB, and for a forte-fortissimo of a big symphony orchestra with a chorus, with its typical peak SPL of about 105…110 dB?

I also do not agree that the only significant range is 20...700 Hz. For example, why omit a over 2 dB difference at 12.5 kHz for an 18 dB attenuation?

I don’t know what you mean by 18 dB attenuation, but analyzing the equal loudness curves version ISO 226: 2003
http://www.lindos.co.uk/cgi-bin/FlexiData....=full&id=17 (http://www.lindos.co.uk/cgi-bin/FlexiData.cgi?SOURCE=Articles&VIEW=full&id=17)
I don’t see any difference in the ordinates values of the curves in the 12 kHz zone within a reasonable hearing range of 40 to 100 phon.
Why not just model perfectly? A four band parametric EQ is sufficient to get an accuracy of +/- .5 dB with respect to the mathematically derived curve.

In my opinion, by the simple reason that there cannot be mathematically derived curves for equal loudness compensation, because nobody can know the “mathematically” accurate value of the SPL created by the natural sound source at the sound picking up place, and therefore the “mathematically” accurate difference of this value and the value of the SPL created by this natural sound source listened to electro-acoustically.

Hence it follows the point that I’ve mentioned in my previous post:
The only criterion applicable is the listener’s preference.

I'm wondering if Fedot means that the pre- and post-ReplayGain values for each track (or at least the difference between them) would be required to calculate the natural and target loudness levels respectively?

No, I didn’t mean this, because to me, no calculation for these purposes is possible.
After all, a track that's intended to be quieter originally should still sound quieter in terms of tonal quality after correction if the relative apparent loudness level of the track is to be representative of reality.

I haven’t understood what you meant by this.

So I can only say that a sound source listened to electro-acoustically may only be representative of reality in its general quality, if it sounds at its natural SPL. Any sound source listened to “louder” or “quieter” than natural inevitably sounds unnaturally, “artificially” by definition.

And equal loudness compensation is inevitably an artificial tool intended for to artificially communicate to a sound source sounding unnaturally when listened to “louder” or “quieter” than natural, a tonal balance the listener is accustomed to at its “natural” SPL.

Under the precondition that the electro-acoustical system is able to reproduce linearly the whole frequency range necessary for the given sound source.
From the experiments I carried out when designing an analogue loudness control for a home-made preamp many years ago, I'd agree with you that a degree of correction is also desirable at the higher end of the audio spectrum.

In principle, as the “equal-loudness contours” cited above show, high frequencies don’t need a tangible compensation.

But the equal loudness compensation problem is much more complicated than it seems to be.

First, by the fact that the high frequencies having normally much lower levels than others, disappear quickly “sinking” in the ambient noise (masked by ambient noise) with decrease of general listening SPL level. That makes the listener boost the HF for to make them audible.

Furthermore, many natural sound sources having a very large natural dynamic range (up to 80 dB in extreme cases of forte-fortissimo of a big symphony orchestra with a choir and soloists) can’t be listened to anywhere except big theatre or concert halls, a fortiori, electro-acoustically attenuated, where most “quiet” passages will simply be lost!

The reason, by the way, to always compress the dynamic range of such natural sound sources, and very considerably, from 60…80 dB down to 40…50 dB on all analogue recording mediums (tape, records, radio), due to their limited S/N ratio.

Such a compression changing very radically the “natural” proportions between the quietest and the loudest fragments, and therefore, making meaningless any “mathematical calculations” of the spectral balance of programs listened to electro-acoustically. Thus making me simply return to my initial opinion that the only criterion for equal loudness compensation is the listener’s individual experience and his individual preferences. And undoubtedly, the ambient conditions of listening.
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-19 12:36:48
What can be a “typical SPL” common for a flute, with its typical SPL of about 60…65 dB, and for a forte-fortissimo of a big symphony orchestra with a chorus, with its typical peak SPL of about 105…110 dB?


I think I have finally understood your criticism, but I must still reject it. Of course a flute has a different SPL than the fortissimo of a whole orchestra at any given (linear) volume control setting. But that's not relevant!

At the time of mastering (or even already when recording) all these instruments and their respective volume levels are put into a common context. This context is created by the recording and/or mastering engineer at about 83-85 dB SPL in front of a monitoring setup with flat frequency response. This is exactly the same context you want at playback time! And it will already have undergone the first step of human ear loudness contour correction by the person having done the mix.

And your pair of speakers at home will have exactly one volume setting coming closest to that monitoring situation (not necessarily at the exact same SPL setting) with respect to perceived frequency response. The exact flute SPL within the reproduced context, in comparison to a tenor, is irrelevant. You want to preserve their relative loudness to each other as it has been defined at 83-85 dB SPL, flat FR, by the engineer.

But as soon as your overall playback volume differs too much from the "reference" level, where your speakers produce the closest approximation to the mixing setup, relative loudnesses, as we perceive them, start to get altered. This alteration is highly correlated to the differences of loudness contours as defined in ISO 226:2003. To restore a perceived loudness contour at a level n dB below the level, where your speakers produce the closest approximation to a flat FR, 83-85 dB studio setup, the loudness contour resulting from iso226(83) - iso226(83 - n) will result in a very accurate correction curve able to restore the intended context. As I have also already written, if you do the math, the choice of a specific reference level is not that significant iso226(60) - iso226(60 - n) delivers almost exactly the same curve. n, what I have also called "attenuation" is the only significant variable.


I also do not agree that the only significant range is 20...700 Hz. For example, why omit a over 2 dB difference at 12.5 kHz for an 18 dB attenuation?

I don’t know what you mean by 18 dB attenuation, but analyzing the equal loudness curves version ISO 226: 2003
http://www.lindos.co.uk/cgi-bin/FlexiData....=full&id=17 (http://www.lindos.co.uk/cgi-bin/FlexiData.cgi?SOURCE=Articles&VIEW=full&id=17)
I don’t see any difference in the ordinates values of the curves in the 12 kHz zone within a reasonable hearing range of 40 to 100 phon.


I also don't see it by just looking at the curves. Get the raw data, do the math and you will get exactly the results at 12.5 kHz, that I have posted. "18 dB attenuation" is n from above, the difference in dB at 1 kHz between two ISO 226 curves.
Title: ISO 226:2003 based loudness correction
Post by: 2Bdecided on 2010-09-20 10:29:39
It's a nice effect googlebot - certainly nicer than the one I had on a very old stereo.

The proof of the pudding would be having it tied to a fully variable volume control, and seeing how natural (or not) it sounded as that was changed.

I don't know if, to my ears, even a "perfect" implementation would sound "natural". In real life if someone plays quieter, or if someone is playing further away, the equal loudness curves of my ears aren't compensated for - I hear them in full effect. Removing them isn't natural. But turning a symphony orchestra down to 60dB isn't natural either!

If you're going to compensate for lower listening levels, IMO you also need some DRC to bring the previously quiet and now completely inaudible sounds back into the audible range. Dolby Volume does this quite unobtrusively - not sure if there's any EQ in there though.

Cheers,
David.
Title: ISO 226:2003 based loudness correction
Post by: googlebot on 2010-09-20 12:40:05
Yes, at extreme settings the "naturalness" is indeed debatable. Quiet things have a "signature" of being quiet and applying a large amount of frequency domain correction delivers an odd mix, at least one that one isn't accustomed to. I underwent three stages with my first -24 dB trial: 1. Eww, what's that? 2. Thorough comparison uncorrected vs. corrected vs. loud. Result: corrected, even though sounding unfamiliar, had a better representation of relative instrument volumes compared to uncorrected. So I made the -20 dB patch to reduce the effect a little and settled for that. 3. Couldn't get over the impression of boomy-ness for some tracks. With over 10 dB boost in the 20 Hz region I guess my speakers were also starting to contribute some distortion at the lower end. In response to that I settled for the -10 dB patch and as yet I'm really satisfied with it. I think about -12 dB could be about my personal sweet spot. I'll make that when I find the time. A variable control would surely be the best solution.

I really started this project to get around DRC. Finding a one size fits all parameter-set for attack and release times is really hard. I can live with quiet parts being to quiet if I turn down the volume control. Really dynamic music just isn't suited for very quiet listening sessions in my opinion and I don't know if I need to fix that.

When I get the chance, I will have a look at Dolby Volume. Didn't even know that it existed. It should be somewhat limited by its dynamic realtime nature, though.