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
Woodinville
post Mar 31 2012, 03:44
Post #3





Group: Members
Posts: 1402
Joined: 9-January 05
From: JJ's office.
Member No.: 18957



QUOTE (dc2bluelight @ Mar 30 2012, 19:13) *
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.


Interestingly, F-M and Stevens disagree on loudness growth at low frequencies, and having built systems using both models for loudness growth, I've been much, much more successful with a variation on F-M than I have with Stevens (annoyingly that work belongs to long-former employer, not even a recently former employer, and it hasn't been put to any use at all).

As to the flatness concern, once you realize that the bandwidth of the critical bands emerges as a factor, F-M makes a great deal of sense, actually.

But, as far as loudness ratio, I've had much more success with loudness ratios using a model I can't talk about (snarl, hiss, grumble) very much that are derived from F-M. Fletcher and Munson show more loudness growth at threshold than Stevens, and that's also been my experience.


--------------------
-----
J. D. (jj) Johnston
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: 24th April 2014 - 16:58