IPB

Welcome Guest ( Log In | Register )

DSP Loudness Control, What is Best Filter architecture
easily_confused
post Jan 10 2012, 05:39
Post #1





Group: Members
Posts: 5
Joined: 5-September 09
Member No.: 72908



I want to implement bass boost based on volume setting. Basically the low end (below 2KHz) of the Fletcher Munson curves. I don't want to try to dynamically load interpolated biquad filter coefficients based on the volume control. Is ther some other filter architecture that will produce the approx. 0db per octave (loud) to 12 dB per octave (low volume) bass boost in a simpler way. An example of a simple 6dB only analog control is at extron.com http://www.extron.com/company/article.aspx...p;version=print . This would be simple to implement as an iir filter, but I want to go a little fancier. Thanks
Go to the top of the page
+Quote Post
 
Start new topic
Replies
dc2bluelight
post Mar 31 2012, 03:13
Post #2





Group: Members
Posts: 83
Joined: 16-June 11
Member No.: 91562



Perhaps my statement as to Fletcher-Munson getting it wrong was a bit to generalized. Their data was accurate for the conditions in which it was taken, and the test equipment available in that day. But, since those conditions included pure tones as stimuli presented as a frontal field in an anechoic space, the resulting curves don't represent the actual correction needed for real listening environments. The really unfortunate part of Fletcher-Munson is that the curves became widely adopted, but almost entirely misunderstood. They were applied as complete loudness correction curves, when in fact, they represent human hearing response (in those specific test conditions). Loudness compensation doesn't need to correct for human hearing response, it just needs to correct for the variance in response at differing levels.

Later research using more modern measurement equipment and more appropriate methods yielded better data. Yet even though adopted as a standard, Robinson-Dodson's data (pure tones again, but presented with headphones or random incidence) isn't as pertinent to real listening conditions as is really required, and they freely admit that fact in their paper.

There have been many, historically, who have attempted to characterize human loudness perception, some of them fairly well known (Zwicker, or the Bauer-Torick papers), and what's interesting is there reasonable correlation between all of them, particularly in that the ear response is anything but flat even at live music levels of 100dB or so. The exception, interestingly, is the Fletcher-Munson data, which shows response at 100dB that is much flatter than any other curve family. For that reason alone, the F/M data would not appropriate to apply in a loudness compensation scheme.

To complicate things, as most equal loudness curves go, even Fletcher-Munson, the high frequency portion of the curves above 1KHz are parallel, and so no adjustment is required in that range. But designers applying the F/M equal loudness data to a loudness comp circuit often used the entire curve! So we had boost at the top and bottom, and of course, the wrong amount at the bottom in any case.

Stevens work included a wide variety of stimulus methods, from diffuse, free-field, earphones, etc., and included several subjective quantities as well (annoyance, etc.). One of his test systems extended down to 1Hz! And while that's not useful for loudness compensation, it's notable since other research stops at 20Hz.

At the risk of repetition, it's important to note that the equal-loudness contours found in Stevens, F/M or any other do no represent the actual correction needed, but reflect hearing response. The correction system would actually apply a differential curve, which would, in fact, have to be dynamically variable, a fact easily seen on any equal loudness contour family.

So, I'm afraid I'll modify my Fletcher-Munson comment only slightly: Their data is valid for their test conditions, and considering the limitations of test equipment of the day. However, to consider it at all relevant to an actual loudness compensation algorithm would be an error. Perhaps that's more accurate than "they got it wrong", but you see what I mean.

As to the supposed loudness compensation built into music by composers (Ravel, et al), their hypothetical compensation is valid for only one listening position: the conductor's podium. Ever other seat in the house will hear something else. However, no seat will have a basic level change anywhere near 20dB. Yet that's the kind of level shifts we see in recorded music played in private listening conditions. With that kind of offset, and looking at any equal loudness contour curve family, anyone can see for this to work it must be dynamic and must operate with the knowledge of actual playback SPL. No fixed modifier would be correct at anything but one specific SPL.

The dual-control loudness compensation idea has been tried (Yamaha, late 1970s, early 1980s, Apt-Holman, 1978), but has not survived even though the Apt-Holman implementation actually applied correction based on the Stevens data. The reason is simple: people can't be depended upon to make continual subjective evaluation and apply correction. Two knobs might get you close, but only at one SPL (at least some music still has dynamic range), and one volume setting. The knob would require constant adjustment, something no listener will do.

Bob Katz has made some excellent inroads in studios, but there's decades of music already recorded and released without any of that, and still today volumes of music released without standardization. The film industry became standardized, at least in the high-fidelity sense, when Dolby Labs became involved. That's been 40 years. No, it's wild in music to this day, though getting better.

I don't now how else to make the point that compensation must be dynamic, but if all of the above doesn't do it, perhaps ask yourself: if it's so simple as to be a fixed, static correction, why at this point in history have we moved completely away from fixed-curve and dual control systems? Why do the pre-eminaet voices in this field all say it has to be dynamic? Must be something they know.
Go to the top of the page
+Quote Post
splice
post Mar 31 2012, 07:56
Post #3





Group: Members
Posts: 137
Joined: 23-July 03
Member No.: 7935



(Excuse my trimming of quotes, I'm trying to keep post lengths down. If you think I've trimmed too much and misrepresented your points, please say so.)

QUOTE (dc2bluelight @ Mar 30 2012, 18:13) *
... the resulting curves don't represent the actual correction needed for real listening environments. ... Loudness compensation doesn't need to correct for human hearing response, it just needs to correct for the variance in response at differing levels.


That's it exactly. You understand it here, but why do you remain skeptical at the end of your post?

QUOTE (dc2bluelight @ Mar 30 2012, 18:13) *
To complicate things, as most equal loudness curves go, even Fletcher-Munson, the high frequency portion of the curves above 1KHz are parallel, and so no adjustment is required in that range. But designers applying the F/M equal loudness data to a loudness comp circuit often used the entire curve! So we had boost at the top and bottom, and of course, the wrong amount at the bottom in any case.


This is where so many seem to get it wrong. As you point out, there's no need to apply an EQ curve that's the inverse of a given "equal loudness" contour of whatever provenance. All that is needed is a correction to compensate for reproducing a source (music) at a different level than that it was originally performed / mastered for. Take a look at the ISO 226:2003 "equal loudness" curves. As a crude example, imagine you're listening to two tones - 20 Hz and 1 KHz - at the 60 phon level. You perceive them as equally loud, although the 1 KHz tone is at 60 dB SPL and the 20 Hz tone is at 110 dB SPL. Now you turn down the "volume" by 20 dB. This is equivalent to moving the 60 phon curve down to the 40 phon curve. The problem is that they don't match. You've lowered the 1 KHz signal from 60 dB SPL to 40 dB SPL, and you've lowered the 20 Hz signal from 110 dB SPL to 90 dB SPL. But you can see from the curves that a 20 Hz signal should be reproduced at 100 dB SPL to match the 40 dB SPL 1 KHz signal in loudness. In short, if you change the level at 1 KHz by x dB, you have to change the level at 20 Hz by x/2 dB. This is a ratio, not a fixed EQ. It doesn't need an absolute reference level to work.

QUOTE (dc2bluelight @ Mar 30 2012, 18:13) *
Stevens work included a wide variety of stimulus methods, from diffuse, free-field, earphones, etc., and included several subjective quantities as well (annoyance, etc.). One of his test systems extended down to 1Hz! And while that's not useful for loudness compensation, it's notable since other research stops at 20Hz.


Other researchers have done work in the 1-20 Hz area recently. I have papers by Yeowart and Evans, and Moller and Pederson, but there may well be others.

QUOTE (dc2bluelight @ Mar 30 2012, 18:13) *
As to the supposed loudness compensation built into music by composers (Ravel, et al), their hypothetical compensation is valid for only one listening position: the conductor's podium. Ever other seat in the house will hear something else. However, no seat will have a basic level change anywhere near 20dB. Yet that's the kind of level shifts we see in recorded music played in private listening conditions. With that kind of offset, and looking at any equal loudness contour curve family, anyone can see for this to work it must be dynamic and must operate with the knowledge of actual playback SPL. No fixed modifier would be correct at anything but one specific SPL.


I'm not proposing a fixed modifier. I'm proposing a fixed ratio (2:1 as a ballpark figure). If the loudness compensation (crudely, the bass level relative to the midrange level) is correctly set at one specific SPL, and the ratio is applied to any level change, then the compensation will also be correct at the new SPL.

QUOTE (dc2bluelight @ Mar 30 2012, 18:13) *
The dual-control loudness compensation idea has been tried (Yamaha, late 1970s, early 1980s, Apt-Holman, 1978), but has not survived even though the Apt-Holman implementation actually applied correction based on the Stevens data. The reason is simple: people can't be depended upon to make continual subjective evaluation and apply correction. Two knobs might get you close, but only at one SPL (at least some music still has dynamic range), and one volume setting. The knob would require constant adjustment, something no listener will do.


I'm aware of the earlier schemes. They did not accurately couple (or in some cases couple at all) the level and "loudness compensation EQ" controls. I do. "Continual subjective evaluation" is thus not required, and the right amount of correction is applied regardless of the listening level.

QUOTE (dc2bluelight @ Mar 30 2012, 18:13) *
Bob Katz has made some excellent inroads in studios, but there's decades of music already recorded and released without any of that, and still today volumes of music released without standardization.


Most of my listening is to various sub-genres of "rock". My vinyl collection spans some 20 years. Almost all of it plays back within a 20 degree arc of the volume control. My early CDs play back as a group, there's the 90s transition, then most of the last 10 years play back as another group. I accept that other genres may be more varied in their playback levels. My point is that it's not hard to establish a playback level that the music was intended to be heard best at, and this level doesn't vary all that much between like grouped sources.

QUOTE (dc2bluelight @ Mar 30 2012, 18:13) *
I don't now how else to make the point that compensation must be dynamic, but if all of the above doesn't do it, perhaps ask yourself: if it's so simple as to be a fixed, static correction, why at this point in history have we moved completely away from fixed-curve and dual control systems? Why do the pre-eminaet voices in this field all say it has to be dynamic? Must be something they know. ...


I remain unconvinced. I'm not proposing a "fixed, static" correction. My proposal is also different than any "dual control" system I have seen, and I have been looking hard. And if by "dynamic" you mean that the EQ adjusts itself based on the (varying) level of the source, then I disagree strongly. That would be equivalent to twiddling the bass tone control to match the loud and quiet parts of the music, and we just don't do that. (Well, I don't, anyway.)

One more time... My system has two knobs. As I originally envisaged it, one knob is more or less "set and forget" for a given genre and input source, especially if the source has Soundcheck or Replaygain. The other knob is the main "volume" control. Adjusting this control also applies the correct amount of "loudness compensation" for that volume. In concept, the bass tone control is ganged to the volume control. Where this differs from other schemes is that the ratio of bass to overall level is fixed, and matches the ratio inherent in the "equal loudness" curves.

An alternative scheme which may be more user friendly is to again have two knobs - one labeled "volume" and one labeled "bass", which actually sets the operating point of the loudness compensation. Adjust the volume control to your desired level, regardless of the original intended playback level, then adjust the bass control to your taste - "not too heavy, not too light". But behind the scenes, the two controls are actually linked, so any subsequent adjustment of the volume control automatically applies the correct level of loudness compensation.




--------------------
Regards,
Don Hills
Go to the top of the page
+Quote Post
dc2bluelight
post Mar 31 2012, 10:01
Post #4





Group: Members
Posts: 83
Joined: 16-June 11
Member No.: 91562



QUOTE (splice @ Mar 31 2012, 01:56) *
I remain unconvinced. I'm not proposing a "fixed, static" correction. My proposal is also different than any "dual control" system I have seen, and I have been looking hard. And if by "dynamic" you mean that the EQ adjusts itself based on the (varying) level of the source, then I disagree strongly. That would be equivalent to twiddling the bass tone control to match the loud and quiet parts of the music, and we just don't do that. (Well, I don't, anyway.)
Ok, but that's precisely what is required.
QUOTE (splice @ Mar 31 2012, 01:56) *
One more time... My system has two knobs. As I originally envisaged it, one knob is more or less "set and forget" for a given genre and input source, especially if the source has Soundcheck or Replaygain. The other knob is the main "volume" control. Adjusting this control also applies the correct amount of "loudness compensation" for that volume. In concept, the bass tone control is ganged to the volume control. Where this differs from other schemes is that the ratio of bass to overall level is fixed, and matches the ratio inherent in the "equal loudness" curves.
Yes, I understand what you are saying, but please understand that this has been done, and did not succeed because because of an error in concept outlined in your previous sentence, "the ratio of bass to overall level is fixed, and matches the ratio inherent in the "equal loudness" curves." The curve families show the ratio of bass to overall level is not fixed, it's a non-linear relationship. Because it's non-linear, every time you change the overall level, you operate at a point where the rate-of-change in bass sensitivity is different, and the lower the overall level the faster the rate of change in bass sensitivity. It's the rate-of-change problem that dictates the fact that compensation cannot be fixed. It must track the rate of change of bass sensitivity of the ear. The ear/brain system has what is essentially a volume expander that is both frequency and level dependent. The expansion ratio is dependent on the specific SPL as well as the specific frequency of stimulus. That's why it takes a family of equal loudness curves to show what's actually going on, and also takes something fairly complex and dynamic to perform the compensation. We're kicking around the details of what curve-set to follow in other posts, but they all have this non-linear ratio characteristic.
QUOTE (splice @ Mar 31 2012, 01:56) *
An alternative scheme which may be more user friendly is to again have two knobs - one labeled "volume" and one labeled "bass", which actually sets the operating point of the loudness compensation. Adjust the volume control to your desired level, regardless of the original intended playback level, then adjust the bass control to your taste - "not too heavy, not too light". But behind the scenes, the two controls are actually linked, so any subsequent adjustment of the volume control automatically applies the correct level of loudness compensation.

Actually, this is exactly what Yamaha and Holman did, as I mentioned before. Yamaha had a Volume knob and a Loudness knob, which set the amount of fixed bass boost. You set the volume, then set the loudness to taste. The Apt-Holman preamp had a Volume control and a Bass control with a contour that matched a differential curve derived from Stevens. Again, you set the volume as desired, then set the bass for the best subjective compensation. However, in Holman's 1977 AES paper, "Loudness Compensation: Use and Abuse", from which his bass control-loudness comp was derived, among his conclusions he states that while variable compensation is required, the only correct solution would be for it to react to program material (sorry, I'll post the exact quote later). The technology to accomplish that accurately and economically didn't exist then, but does now.

It would seem the that this conclusion is supported by the fact that loudness compensation began to vanish from consumer audio gear from the 1980s onward, and with the exception of several DSP based dynamic systems such as the afore mentioned Audyssey, (which by the way, Holman was involved with), Dolby Volume (subjectively less effective, because while it's dynamic, it doesn't have specific SPL information on which to base its correction), loudness compensation has not generally made a reappearance in today's products. If you can answer the question of why that might be, you'll also answer the question of why a simple approach isn't effective and therefore, not used.
Go to the top of the page
+Quote Post
splice
post Mar 31 2012, 11:36
Post #5





Group: Members
Posts: 137
Joined: 23-July 03
Member No.: 7935



QUOTE (dc2bluelight @ Mar 31 2012, 01:01) *
QUOTE (splice @ Mar 31 2012, 01:56) *
... if by "dynamic" you mean that the EQ adjusts itself based on the (varying) level of the source, then I disagree strongly. That would be equivalent to twiddling the bass tone control to match the loud and quiet parts of the music, and we just don't do that. (Well, I don't, anyway.)
Ok, but that's precisely what is required.


Why do you think it is required? If you wouldn't manually adjust the bass control during the "performance", for example during the playing of Ravel's "Bolero", why would you want a DSP to do it for you?

QUOTE (dc2bluelight @ Mar 31 2012, 01:01) *
... Yes, I understand what you are saying, but please understand that this has been done, and did not succeed because because of an error in concept outlined in your previous sentence, "the ratio of bass to overall level is fixed, and matches the ratio inherent in the "equal loudness" curves." The curve families show the ratio of bass to overall level is not fixed, it's a non-linear relationship. Because it's non-linear, every time you change the overall level, you operate at a point where the rate-of-change in bass sensitivity is different, and the lower the overall level the faster the rate of change in bass sensitivity. It's the rate-of-change problem that dictates the fact that compensation cannot be fixed. It must track the rate of change of bass sensitivity of the ear. The ear/brain system has what is essentially a volume expander that is both frequency and level dependent. The expansion ratio is dependent on the specific SPL as well as the specific frequency of stimulus. That's why it takes a family of equal loudness curves to show what's actually going on, and also takes something fairly complex and dynamic to perform the compensation. We're kicking around the details of what curve-set to follow in other posts, but they all have this non-linear ratio characteristic.


What's non-linear about a 2:1 ratio that holds over at least an 80 dB range? I'm missing something here. (Not my marbles, every morning I look in my toybox and there they are.) I'm getting an impression from you and JJ that loudness compensation EQ has to vary as the signal level varies within a given musical performance, and I find that hard to accept. If it is in fact the case, I have some learning to do. I'll have to get Holman's paper that you referenced.



--------------------
Regards,
Don Hills
Go to the top of the page
+Quote Post
dc2bluelight
post Mar 31 2012, 17:19
Post #6





Group: Members
Posts: 83
Joined: 16-June 11
Member No.: 91562



QUOTE (splice @ Mar 31 2012, 05:36) *
I'm getting an impression from you and JJ that loudness compensation EQ has to vary as the signal level varies within a given musical performance, and I find that hard to accept. If it is in fact the case, I have some learning to do. I'll have to get Holman's paper that you referenced.


Journal of the AES, July/August 1978, volume 26, number 7/8, pp 526 - 536.

There's so much to quote that is relevant, but here's two portions of one paragraph:

"A completely technically correct system would also need to be dynamic, that is, it should compensate for the fact that the recording is not always playing at the peak level. Instead, the system needs to look at the amount of attenuation between the original and reproduced sound pressure level and the amount of attenuation at any given point in time below the peak level." ..."...the translation between original and reproduced sound pressure level calls for less compensation at the upper end of the dynamic range than the lower end: the level translation causes the need for dynamic compensation." (bold italics, mine).


Take any equal loudness contour curve family and re-graph the data for any bass frequency as a gain differential between 1khz and that frequency. You'll see the resulting graphs for lower frequencies are not straight lines, they are non-linear curves.

This post has been edited by dc2bluelight: Mar 31 2012, 17:20
Go to the top of the page
+Quote Post
splice
post Apr 1 2012, 11:41
Post #7





Group: Members
Posts: 137
Joined: 23-July 03
Member No.: 7935



QUOTE (dc2bluelight @ Mar 31 2012, 09:19) *
... Take any equal loudness contour curve family and re-graph the data for any bass frequency as a gain differential between 1khz and that frequency. You'll see the resulting graphs for lower frequencies are not straight lines, they are non-linear curves.


Is this the differential you refer to?
At the 40 phon level, the differential between 1 KHz and 20 hz is about 60 dB.
At the 60 phon level, the differential between 1 KHz and 20 hz is about 50 dB.
At the 80 phon level, the differential between 1 KHz and 20 hz is about 40 dB.



--------------------
Regards,
Don Hills
Go to the top of the page
+Quote Post
dc2bluelight
post Apr 1 2012, 17:03
Post #8





Group: Members
Posts: 83
Joined: 16-June 11
Member No.: 91562



QUOTE (splice @ Apr 1 2012, 05:41) *
QUOTE (dc2bluelight @ Mar 31 2012, 09:19) *
... Take any equal loudness contour curve family and re-graph the data for any bass frequency as a gain differential between 1khz and that frequency. You'll see the resulting graphs for lower frequencies are not straight lines, they are non-linear curves.


Is this the differential you refer to?
At the 40 phon level, the differential between 1 KHz and 20 hz is about 60 dB.
At the 60 phon level, the differential between 1 KHz and 20 hz is about 50 dB.
At the 80 phon level, the differential between 1 KHz and 20 hz is about 40 dB.


From memory the actual differences above seem too high, but that's the general idea.

This post has been edited by dc2bluelight: Apr 1 2012, 17:07
Go to the top of the page
+Quote Post
splice
post Apr 1 2012, 22:04
Post #9





Group: Members
Posts: 137
Joined: 23-July 03
Member No.: 7935



QUOTE (dc2bluelight @ Apr 1 2012, 09:03) *
From memory the actual differences above seem too high, but that's the general idea.


Those are the ISO 226:2003 differences. Here are the approximate differences for Fletcher-Munson, Robinson-Dadson, and ISO 226:3003:
CODE
Phon  F-M  R-D  ISO
----  ---  ---  ---
40    42   50   60
60    26   41   50
80    10   32   40


But the important figure is the delta between the differences:

CODE
Phon  F-M  R-D  ISO
----  ---  ---  ---
40    42   50   60
=20   =16   =9  =10
60   =26   41   50
=20   =16   =9  =10
80    10   32   40


This holds true within a dB or two for other phon levels, especially in the ISO curves.
OK so far?



--------------------
Regards,
Don Hills
Go to the top of the page
+Quote Post
dc2bluelight
post Apr 1 2012, 22:37
Post #10





Group: Members
Posts: 83
Joined: 16-June 11
Member No.: 91562



QUOTE (splice @ Apr 1 2012, 16:04) *
This holds true within a dB or two for other phon levels, especially in the ISO curves.
OK so far?

Sorry, I don't have a convenient way to check your data for accuracy. But assuming it is (accurate), what's your point?

This post has been edited by dc2bluelight: Apr 1 2012, 22:38
Go to the top of the page
+Quote Post
splice
post Apr 2 2012, 01:49
Post #11





Group: Members
Posts: 137
Joined: 23-July 03
Member No.: 7935



QUOTE (dc2bluelight @ Apr 1 2012, 14:37) *
... Sorry, I don't have a convenient way to check your data for accuracy. But assuming it is (accurate), what's your point?


Maybe an example will help:


We have a piece of "music" that has the following characteristics:

1. It consists of a "loud part" and a "quiet part", with 10 dB difference.

2. The "instruments" produce a 1 KHz tone and a 20 Hz tone in both parts.

3. The music sounds "as composed" when the two tones are of equal perceived loudness in both parts and the loud part is played at the 80 phon level. (The two parts sound the same, except that one is quieter than the other.)

4. The dB values in the following examples assume the use of the ISO 226:2003 curves. The values will be different if using other curves such as those by Fletcher-Munson or Robinson-Dadson, but the same principle and relative ratios still apply.

For ISO 226:2003, the SPL difference between "equal loudness" 1 KHz and 20 Hz tones are approximately:

80 phon level = 80 dB SPL 1 KHz, 120 dB SPL 20 Hz = 40 dB difference.
60 phon level = 60 dB SPL 1 KHz, 110 dB SPL 20 Hz = 50 dB difference.
40 phon level = 40 dB SPL 1 KHz, 100 dB SPL 20 Hz = 60 dB difference.
20 phon level = 20 dB SPL 1 KHz, 90 dB SPL 20 Hz = 70 dB difference.


Under the above conditions, the resultant SPLs for the example "music" played at its intended level are as follows:

Loud part:
1 KHz = 80 db SPL
20 Hz = 120 dB SPL (40 dB difference)
Quiet part:
1 KHz = 70 db SPL
20 Hz = 115 dB SPL (45 dB difference)

No loudness compensation is required for the quiet part. The music is being played at its "composed" level. The perceived balance between the "instruments" is as intended by the artist: in this case, both "instruments" are of equal perceived loudness during both parts.

The listener finds this too loud for their environment so reduces the "volume" level by 20 dB. The resultant SPLs are now as follows:
Loud part:
1 KHz = 60 db SPL
20 Hz = 100 dB SPL (40 dB difference)
Quiet part:
1 KHz = 50 db SPL
20 Hz = 95 dB SPL (45 dB difference)

The listener perceives a loss of bass, because the curves indicate that the "loud part" difference should be 50 dB and the "quiet part" difference should be 55 dB at this listening level. 10 dB of boost at 20 Hz needs to be applied to both the loud and quiet parts in order to restore the equal perceived loudness.

The listener reduces the "volume" level by a further 20 dB. The resultant SPLs are now as follows"
Loud part:
1 KHz = 40 db SPL
20 Hz = 80 dB SPL (40 dB difference)
Quiet part:
1 KHz = 30 db SPL
20 Hz = 75 dB SPL (45 dB difference)

The listener perceives a further loss of bass, because the curves indicate that the "loud part" difference should now be 60 dB and the "quiet part" difference should be 65 dB. Another 10 dB of boost at 20 Hz needs to be applied to both the loud and quiet parts in order to restore the equal perceived loudness.

The key points are that:

1. For each 10 db of difference between the "artist intended" SPL and the actual listening SPL, 5 dB (at 20 Hz) of "loudness compensation" needs to be applied. (Assuming the ISO 226:2003 curves are used.)

2. The same amount of "loudness compensation" needs to be applied to the loud and quiet parts of the music.

3. "Dynamic" compensation, that alters according to the changing dynamics within the piece of music, will alter the artist's intended balance. The compensation amount should be determined only by the difference between the "artist intended" SPL and the actual listening SPL, set by adjusting the "volume control".


For a practical implementation, two parameters need to be determined.

The first is the time constant of the tone control. This can be determined by examining the difference between two curves on the "equal loudness" curve. Two curves that differ by, for example, 20 dB SPL at 1 KHz, will end up differing by only 10 dB SPL by the time they get to 20 Hz. The curve derived from the differences will determine the required time constant for the tone control network. (Note that it's the difference between two different phon levels that is important, not the absolute phon level. For example, the curve derived from the difference between the 20 phon and 40 phon curves is the same as the curve derived from the difference between the 60 and 80 phon curves.) I've got as far as using Jeff Hackett's Matlab routine to spit out a spreadsheet of the curve values.

The second is the amount of loudness compensation needed for a given volume change. Again, it can be determined from the curves, noting for ISO 226:2003 that a 20 dB SPL change at 1 KHz requires a 10 dB change at 20 Hz in order to maintain a perceived balance between bass and midrange.

Does this make sense, or have I over-simplified due to an inadequate knowledge of how the auditory system responds?



--------------------
Regards,
Don Hills
Go to the top of the page
+Quote Post
dc2bluelight
post Apr 2 2012, 04:38
Post #12





Group: Members
Posts: 83
Joined: 16-June 11
Member No.: 91562



Oversimplified.

Your example assumes that all stimulus within the entire spectrum start out at a perceived equal loudness relative to each other. But what, for example, if a bass note were intended to be 10dB below a mid-band note? At the original level, all is well, but if you alter the play level, you'll find that the two notes land on entirely different theoretical curves. And even that example is too static to be realistic.

The problem is, the curves, all of them, were derived from data taken by using stimuli presented at "equal loudness levels" with respect to each other, and all were steady-state, with no variation over time, be they tones or band-limited noise signals. It had to be done that way to characterize the ear/brain response in some easily presented manner. The data shows what it would take for a stimulus to be perceived as equal in loudness to a mid-band reference signal. So long as we realize that that is what the curves show, we're fine. And we can see the nonlinear nature of LF ear/brain response represented by a curve family. But the equal-loudness contour curves do not represent the actual correction needed, because they are not correction curves at all, they are graphs of stimuli level required for perceived equal loudness. The actual correction curve must be derived from a known original reference level, and the new play level of each independent stimulus frequency, and the predicted differential in ear/brain response shown by the contours. Note: you can't apply a single curve to the spectrum, you have to correct for the level of each frequency because (and this is the key) the ear/brain system is non-linear to a different degree for each frequency below mid-band.

So, for proper loudness compensation you need to know:
1. The acoustic original level (at the time of recording)
2. The new acoustic level during playback of each frequency or group below 1KHz (actually, 400Hz would work as well)
3. The amount of correction needed for each frequency to re-establish spectral balance for playback at the new level considering its specific moment to moment acoustic level.

The problem is, for #1 you have to make certain assumptions, unless the original was mixed in a standardized control environment (again, this happens routinely in film and has for decades, not so much for music). For #2, you have to know a lot about the play system to establish any meaningful relationship between real acoustic level and a knob position. For #3, we open up the whole "which curve" can of worms, F/M, R/D, ISO, or what? J.J. likes F/M, I've always felt the Stevens data was closer, then there's the wizards at Audyssey, who didn't use any existing data, but gathered their own, and didn't use an anechoic chamber, or tones, or band-limited noise. They did it with actual program material, a wide variety at that, and they took terrabyes of data points. And their solution is dynamic.

Considering music as the stimulus, we must note that it changes moment by moment. And yes, some music probably does present stimuli across the spectrum at equally perceived loudness levels, but certainly not all. If we expand our possible signals to include non-music material such as film soundtracks, the problem becomes even more obvious. Moreover, the stumuli doesn't happen exactly concurrently in time or level.

If you're willing to make certain compromises, you could apply a fixed correction to certain music because it doesn't have a lot of dynamic range, and is mixed with a relatively fixed relationship between bass and mid-band. In fact, it's because of that fact that loudness compensation has worked at all over the years. But you must realize that this solution is situational at best, certainly far from universal.

The only volume setting at which a fixed, non-variable correction curve would be right would be that which results in the exact acoustic level of the original performance, at the original listening position. In other words, the level at which no loudness compensation is required.

So, just because I'm running out of gas on this, here's the "agree to disagree" statement: feel free to build up your favorite curve set in a DSP, and give it a whirl. Make it adjustable using non-variable curves. Use the old one-knob or two, or three, or no knobs. Tweak it by ear, RTA, FFT, or fuzzy clustering. One of the nice things is, today, it's not so big a deal to do that, even if you do prefer to ignore the research. Who knows? You just might be thrilled with your result! And that, I would have to say, will make it valid for you. But you may want to grab a few of those loudness research papers and look them over. At very least, you'll have a cure for insomnia.
Go to the top of the page
+Quote Post
splice
post Apr 2 2012, 06:23
Post #13





Group: Members
Posts: 137
Joined: 23-July 03
Member No.: 7935



QUOTE (dc2bluelight @ Apr 1 2012, 20:38) *
Oversimplified.


Understood. I appreciate your point that sources with dynamics cause the ear to exhibit different behaviour than it does with steady state tones. I have some learning to do.

QUOTE (dc2bluelight @ Apr 1 2012, 20:38) *
Your example assumes that all stimulus within the entire spectrum start out at a perceived equal loudness relative to each other. But what, for example, if a bass note were intended to be 10dB below a mid-band note? At the original level, all is well, but if you alter the play level, you'll find that the two notes land on entirely different theoretical curves. And even that example is too static to be realistic.


Please bear with my static, unrealistic model for a moment. I ran the figures again assuming the bass in the loud part was 10 dB (SPL) below the level required to provide "equal loudness" compared with the midrange. The non-intuitive part was, "if the bass in the loud part is 10 dB SPL below the midrange, what level must the bass be in the quiet part to maintain the same perceived loudness difference?" And the answer was, 10 dB SPL below the midrange. (Note that in both cases, the "perceived loudness" difference is actually 20 dB. In other words, for both parts you would need to drop the midrange by 20 dB to make it "equal loudness" with the bass.) Dropping the listening level by 20 dB still showed the same difference: for both loud and quiet parts, 10 dB of "loudness compensation" at 20 Hz was required. Dropping the volume by a total of 40 dB, a total of 20 dB of compensation was required. So if you say it's wrong, I must be making a fundamental error in my calculations.


QUOTE (dc2bluelight @ Apr 1 2012, 20:38) *
But the equal-loudness contour curves do not represent the actual correction needed, because they are not correction curves at all, they are graphs of stimuli level required for perceived equal loudness. The actual correction curve must be derived from a known original reference level, and the new play level of each independent stimulus frequency, and the predicted differential in ear/brain response shown by the contours.


I'm quite clear on the point that the curves do not represent the actual correction needed. But I believe the compensation required can be derived from the curves, at least for steady state signals, because the relationship between the curves follows a single law. That is, although the curves are all different in shape, the differences between them work out to a single set of deltas. Applying this to each curve makes them all "line up" over each other. Take a curve at a given phon level, apply the correction, and it matches closely the next phon curve up. I'll have to post some graphs from my spreadsheet.

QUOTE (dc2bluelight @ Apr 1 2012, 20:38) *
Note: you can't apply a single curve to the spectrum, you have to correct for the level of each frequency because (and this is the key) the ear/brain system is non-linear to a different degree for each frequency below mid-band.


I thought that's what I was doing? Apparently not.

QUOTE (dc2bluelight @ Apr 1 2012, 20:38) *
So, for proper loudness compensation you need to know:
1. The acoustic original level (at the time of recording)
2. The new acoustic level during playback of each frequency or group below 1KHz (actually, 400Hz would work as well)
3. The amount of correction needed for each frequency to re-establish spectral balance for playback at the new level considering its specific moment to moment acoustic level.


I do understand that there has to be an initial reference level set that matches the intended playback level (not necessarily the original recording level, it may have been rebalanced in mixing / mastering to suit a different playback level.) I'm taking that as a given, in order to focus on what I'm doing wrong.

QUOTE (dc2bluelight @ Apr 1 2012, 20:38) *
... The only volume setting at which a fixed, non-variable correction curve would be right would be that which results in the exact acoustic level of the original performance, at the original listening position. In other words, the level at which no loudness compensation is required.


I'm not suggesting a "fixed, non-variable curve". I'm suggesting that there is a specific curve for every difference between the "original performance" level and the listener's choice of level. And this curve follows a simple law. I appreciate that this is only valid for steady-state signals. I'll need to learn more about how we hear, in particular the differences in response to time-varying signals versus steady state.

QUOTE (dc2bluelight @ Apr 1 2012, 20:38) *
... So, just because I'm running out of gas on this, here's the "agree to disagree" statement: feel free to build up your favorite curve set in a DSP, and give it a whirl. Make it adjustable using non-variable curves. Use the old one-knob or two, or three, or no knobs. Tweak it by ear, RTA, FFT, or fuzzy clustering. One of the nice things is, today, it's not so big a deal to do that, even if you do prefer to ignore the research. Who knows? You just might be thrilled with your result! And that, I would have to say, will make it valid for you. But you may want to grab a few of those loudness research papers and look them over. At very least, you'll have a cure for insomnia.


Thank you for your time. I appreciate it. I have plenty of areas to investigate now. Insomnia? I haven't had that problem for a very long time. My biggest problem is that I get involved in reading some paper, I start scribbling notes and diagrams and suddenly it's 3 in the morning...





--------------------
Regards,
Don Hills
Go to the top of the page
+Quote Post
dc2bluelight
post Apr 2 2012, 16:14
Post #14





Group: Members
Posts: 83
Joined: 16-June 11
Member No.: 91562



I'd iterate, one last time, three points:

1. In research many have concluded the control has to respond to the input signal dynamically. Those include, but are not limited to, the Holman paper, the Stevens data (apparently his Mark VI system revealed the issue, though he was focused on annoyance prediction), I suspect the data in the Torick-Bauer papers and others too, though my loudness file is almost two inches thick, and I'm not prone to read it all again having had that fact established quite well the first time.

2. Today's loudness compensation solutions implemented in DSP include the afore mentioned Audyssey Dynamic Volume and Audyssey Dynamic EQ, Dolby Volume, and THX Loudness Plus. All are dynamic and respond to the input signal. You may Google at will. All three had the same basic goal, all three are commonly available on inexpensive equipment. None of those organizations would put man-years and $$$ of R and D resources into such a project if the simple solution were adequate.

3. A very brief and informal survey of mine, though admittedly incomplete, shows that there are no loudness compensation systems on the market today that use a non-dynamic, steady state, user variable contour solution. I may have missed one, but the high-end market would have nothing whatever to do with EQ of any kind, and loudness comp passed out of the consumer receiver market decades ago, including a single switch/single knob control, a two-knob system, and even a three-knob system approach. If I have somehow not described the solution you suggest correctly, I apologize. Again, I'd like to reference the Holman paper where it discusses an implementation of a three-control loudness comp system as impractical.

The above three points should be enough to send anyone interested in loudness comp to the library to see what the Loudness Jedi have learned over the years. I'd just hate to see anyone try to re-invent the square wheel (even in DSP) when experts have already agreed it needs to be round.
Go to the top of the page
+Quote Post

Posts in this topic
- easily_confused   DSP Loudness Control   Jan 10 2012, 05:39
- - pdq   How about taking the unfiltered data, and the data...   Jan 10 2012, 13:46
- - Woodinville   You need a time-varying system with knowlege of th...   Jan 10 2012, 14:13
- - DVDdoug   I think what you are looking for is a shelving fil...   Jan 10 2012, 20:34
- - easily_confused   Hmmm, - implementing the exton example is not as s...   Jan 10 2012, 21:43
|- - bandpass   SoX has an accurate FFT FIR filter implementation ...   Jan 15 2012, 10:48
- - Woodinville   Again, you need a signal-dependent EQ that operate...   Jan 16 2012, 01:05
|- - hellokeith   QUOTE (Woodinville @ Jan 15 2012, 19:05) ...   Jan 16 2012, 05:20
|- - Woodinville   QUOTE (hellokeith @ Jan 15 2012, 20:20) Q...   Jan 16 2012, 06:24
|- - splice   QUOTE (Woodinville @ Jan 15 2012, 21:24) ...   Mar 18 2012, 12:00
- - saratoga   I always wondered if they're any good open sou...   Jan 16 2012, 05:39
- - dc2bluelight   First, the Fletcher-Munson data is not accurate. ...   Mar 30 2012, 09:40
|- - splice   QUOTE (dc2bluelight @ Mar 30 2012, 00:40)...   Mar 30 2012, 12:12
|- - Woodinville   QUOTE (dc2bluelight @ Mar 30 2012, 01:40)...   Mar 30 2012, 21:05
|- - splice   QUOTE (Woodinville @ Mar 30 2012, 12:05) ...   Mar 31 2012, 01:42
|- - Woodinville   QUOTE (splice @ Mar 30 2012, 17:42) I...   Mar 31 2012, 03:40
|- - splice   QUOTE (Woodinville @ Mar 30 2012, 18:40) ...   Mar 31 2012, 11:05
- - dc2bluelight   Perhaps my statement as to Fletcher-Munson getting...   Mar 31 2012, 03:13
|- - Woodinville   QUOTE (dc2bluelight @ Mar 30 2012, 19:13)...   Mar 31 2012, 03:44
||- - dc2bluelight   QUOTE (Woodinville @ Mar 30 2012, 21:44) ...   Mar 31 2012, 06:20
||- - Woodinville   QUOTE (dc2bluelight @ Mar 30 2012, 22:20)...   Mar 31 2012, 09:25
|- - splice   (Excuse my trimming of quotes, I'm trying to k...   Mar 31 2012, 07:56
|- - Woodinville   QUOTE (splice @ Mar 30 2012, 23:56) An al...   Mar 31 2012, 09:27
||- - splice   QUOTE (Woodinville @ Mar 31 2012, 00:27) ...   Mar 31 2012, 13:03
|- - dc2bluelight   QUOTE (splice @ Mar 31 2012, 01:56) I rem...   Mar 31 2012, 10:01
|- - splice   QUOTE (dc2bluelight @ Mar 31 2012, 01:01)...   Mar 31 2012, 11:36
|- - dc2bluelight   QUOTE (splice @ Mar 31 2012, 05:36) I...   Mar 31 2012, 17:19
|- - splice   QUOTE (dc2bluelight @ Mar 31 2012, 09:19)...   Apr 1 2012, 11:41
|- - dc2bluelight   QUOTE (splice @ Apr 1 2012, 05:41) QUOTE ...   Apr 1 2012, 17:03
|- - splice   QUOTE (dc2bluelight @ Apr 1 2012, 09:03) ...   Apr 1 2012, 22:04
|- - dc2bluelight   QUOTE (splice @ Apr 1 2012, 16:04) This h...   Apr 1 2012, 22:37
|- - splice   QUOTE (dc2bluelight @ Apr 1 2012, 14:37) ...   Apr 2 2012, 01:49
|- - dc2bluelight   Oversimplified. Your example assumes that all s...   Apr 2 2012, 04:38
|- - splice   QUOTE (dc2bluelight @ Apr 1 2012, 20:38) ...   Apr 2 2012, 06:23
|- - dc2bluelight   I'd iterate, one last time, three points: 1....   Apr 2 2012, 16:14
|- - splice   QUOTE (dc2bluelight @ Apr 2 2012, 08:14) ...   Apr 2 2012, 21:37
|- - mbkennel   I don't know if I can solve the problem in its...   Jun 3 2013, 00:07
- - dc2bluelight   You can buy the paper from the AES, if I get time ...   Mar 31 2012, 17:38


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: 26th November 2014 - 01:38