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: 113
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: 113
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

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: 20th April 2014 - 17:06