IPB

Welcome Guest ( Log In | Register )

2 Pages V   1 2 >  
Reply to this topicStart new topic
ISO 226:2003 based loudness correction
googlebot
post Sep 11 2010, 12:23
Post #1





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



Low volume music sounds very thin in my living room, while being great at mid to high levels. That comes at no surprise 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?

This post has been edited by googlebot: Sep 11 2010, 12:44
Go to the top of the page
+Quote Post
Notat
post Sep 11 2010, 18:30
Post #2





Group: Members
Posts: 581
Joined: 17-August 09
Member No.: 72373



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.
Go to the top of the page
+Quote Post
Arnold B. Kruege...
post Sep 11 2010, 18:33
Post #3





Group: Members
Posts: 3534
Joined: 29-October 08
From: USA, 48236
Member No.: 61311



QUOTE (Notat @ Sep 11 2010, 13:30) *
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.
Go to the top of the page
+Quote Post
C.R.Helmrich
post Sep 11 2010, 19:42
Post #4





Group: Developer
Posts: 681
Joined: 6-December 08
From: Erlangen Germany
Member No.: 64012



QUOTE (googlebot @ Sep 11 2010, 13:23) *
PS Or has anyone got the raw data, so that I could calculate EQ presets myself?

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 smile.gif

Chris


--------------------
If I don't reply to your reply, it means I agree with you.
Go to the top of the page
+Quote Post
greynol
post Sep 11 2010, 20:02
Post #5





Group: Super Moderator
Posts: 10000
Joined: 1-April 04
From: San Francisco
Member No.: 13167



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.


--------------------
Your eyes cannot hear.
Go to the top of the page
+Quote Post
googlebot
post Sep 11 2010, 20:47
Post #6





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



QUOTE (C.R.Helmrich @ Sep 11 2010, 20:42) *
QUOTE (googlebot @ Sep 11 2010, 13:23) *
PS Or has anyone got the raw data, so that I could calculate EQ presets myself?

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 smile.gif

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?

This post has been edited by googlebot: Sep 11 2010, 20:51
Go to the top of the page
+Quote Post
Slipstreem
post Sep 11 2010, 22:07
Post #7





Group: Members
Posts: 966
Joined: 7-July 06
Member No.: 32660



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. tongue.gif

This post has been edited by Slipstreem: Sep 11 2010, 22:50
Go to the top of the page
+Quote Post
pdq
post Sep 12 2010, 14:25
Post #8





Group: Members
Posts: 3304
Joined: 1-September 05
From: SE Pennsylvania
Member No.: 24233



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?
Go to the top of the page
+Quote Post
googlebot
post Sep 12 2010, 14:30
Post #9





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



Matlab is great! I have uploaded my first results here. 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.

This post has been edited by googlebot: Sep 12 2010, 14:44
Go to the top of the page
+Quote Post
C.R.Helmrich
post Sep 12 2010, 14:41
Post #10





Group: Developer
Posts: 681
Joined: 6-December 08
From: Erlangen Germany
Member No.: 64012



QUOTE (googlebot @ Sep 12 2010, 15:30) *
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 smile.gif

This post has been edited by C.R.Helmrich: Sep 12 2010, 15:11


--------------------
If I don't reply to your reply, it means I agree with you.
Go to the top of the page
+Quote Post
googlebot
post Sep 12 2010, 14:53
Post #11





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



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.

This post has been edited by googlebot: Sep 12 2010, 15:21
Go to the top of the page
+Quote Post
Slipstreem
post Sep 12 2010, 15:14
Post #12





Group: Members
Posts: 966
Joined: 7-July 06
Member No.: 32660



QUOTE (pdq @ Sep 12 2010, 14:25) *
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.

This post has been edited by Slipstreem: Sep 12 2010, 15:16
Go to the top of the page
+Quote Post
googlebot
post Sep 12 2010, 15:19
Post #13





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



Yes, the application of ReplayGain before processing would be mandatory.
Go to the top of the page
+Quote Post
jimmanningjr
post Sep 12 2010, 19:25
Post #14





Group: Members
Posts: 33
Joined: 5-August 10
From: Philly Pa USA
Member No.: 82832



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!
Go to the top of the page
+Quote Post
Slipstreem
post Sep 12 2010, 19:51
Post #15





Group: Members
Posts: 966
Joined: 7-July 06
Member No.: 32660



QUOTE (jimmanningjr @ Sep 12 2010, 19:25) *
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.
Go to the top of the page
+Quote Post
jimmanningjr
post Sep 12 2010, 20:29
Post #16





Group: Members
Posts: 33
Joined: 5-August 10
From: Philly Pa USA
Member No.: 82832



QUOTE (Slipstreem @ Sep 12 2010, 14:51) *
QUOTE (jimmanningjr @ Sep 12 2010, 19:25) *
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...
Go to the top of the page
+Quote Post
pdq
post Sep 12 2010, 20:38
Post #17





Group: Members
Posts: 3304
Joined: 1-September 05
From: SE Pennsylvania
Member No.: 24233



QUOTE (jimmanningjr @ Sep 12 2010, 15:29) *
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.
Go to the top of the page
+Quote Post
Fedot L
post Sep 12 2010, 21:31
Post #18





Group: Members
Posts: 109
Joined: 2-January 10
Member No.: 76586



QUOTE (googlebot @ Sep 11 2010, 12:23) *
…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.
QUOTE (googlebot @ Sep 11 2010, 12:23) *
…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.
QUOTE (greynol @ Sep 11 2010, 20:02) *
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.
QUOTE (googlebot @ Sep 11 2010, 20:47) *
What do you guys think would be the best reference curve?

What “reference curve”? For an equal loudness contours compensation device, there is none.
QUOTE (googlebot @ Sep 11 2010, 20:47) *
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?
QUOTE (Slipstreem @ Sep 11 2010, 22:07) *
…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.
QUOTE (Slipstreem @ Sep 11 2010, 22:07) *
…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.
QUOTE (googlebot @ Sep 12 2010, 14:30) *
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.
Go to the top of the page
+Quote Post
googlebot
post Sep 12 2010, 22:19
Post #19





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



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.

This post has been edited by googlebot: Sep 12 2010, 22:54
Go to the top of the page
+Quote Post
Fedot L
post Sep 13 2010, 13:49
Post #20





Group: Members
Posts: 109
Joined: 2-January 10
Member No.: 76586



QUOTE (googlebot @ Sep 12 2010, 22:19) *
…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.
QUOTE (googlebot @ Sep 12 2010, 22:19) *
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.
QUOTE (googlebot @ Sep 12 2010, 22:19) *
If anyone still sees a problem with the above...

I do, and really crucial.
QUOTE (googlebot @ Sep 12 2010, 22:19) *
…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.
Go to the top of the page
+Quote Post
googlebot
post Sep 13 2010, 14:23
Post #21





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



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.

This post has been edited by googlebot: Sep 13 2010, 15:00
Go to the top of the page
+Quote Post
Slipstreem
post Sep 13 2010, 15:22
Post #22





Group: Members
Posts: 966
Joined: 7-July 06
Member No.: 32660



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.

This post has been edited by Slipstreem: Sep 13 2010, 15:31
Go to the top of the page
+Quote Post
greynol
post Sep 13 2010, 19:20
Post #23





Group: Super Moderator
Posts: 10000
Joined: 1-April 04
From: San Francisco
Member No.: 13167



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.


--------------------
Your eyes cannot hear.
Go to the top of the page
+Quote Post
googlebot
post Sep 13 2010, 19:30
Post #24





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



Results are online.

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?

This post has been edited by googlebot: Sep 13 2010, 19:46
Go to the top of the page
+Quote Post
klonuo
post Sep 13 2010, 21:36
Post #25





Group: Members
Posts: 257
Joined: 29-April 10
Member No.: 80274



Thanks for your nice experiment and fine results
Using foobar convolver and enjoying your effect right now smile.gif
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?
Go to the top of the page
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 17th April 2014 - 03:55