I need an help about how to implement the Fletcher Munsen curve method in an audio code. If i know that in a 16 bits value a wave peak has a particular level how is possible to apply Fletcher Munsen method starting from the levels in bits? How is possible to calculate the decibel or sound pressure from this digitals levels?
Fletcher Munsen curves !?
Started by ●April 16, 2006
Reply by ●April 16, 20062006-04-16
attackack@yahoo.com wrote:> I need an help about how to implement the Fletcher Munsen curve method > in an audio code. If i know that in a 16 bits value a wave peak has a > particular level how is possible to apply Fletcher Munsen method > starting from the levels in bits? How is possible to calculate the > decibel or sound pressure from this digitals levels? >What is it that you're actually trying to achieve ? Are you just trying to simulate the effect of the "loudness" button on old-fasioned hifis or something like that ? Paul
Reply by ●April 16, 20062006-04-16
> > What is it that you're actually trying to achieve ? Are you just trying > to simulate the effect of the "loudness" button on old-fasioned hifis or > something like that ? > > PaulNo. I have no idea about how to calculate decibel from a waveform and how to use Fletcher Munsen curve method. I need to know how to apply this method at a wav file. I've searched it in the web but with bad results.
Reply by ●April 16, 20062006-04-16
john john wrote:>>What is it that you're actually trying to achieve ? Are you just trying >>to simulate the effect of the "loudness" button on old-fasioned hifis or >>something like that ? >> >>Paul > > > No. I have no idea about how to calculate decibel from a waveform and > how to use Fletcher Munsen curve method. I need to know how to apply > this method at a wav file. I've searched it in the web but with bad > results.Fletcher-Munson curves aren't methods, they're plots of observations of (threshold of hearing) vs. (frequency) averaged for many subjects. They are rarely understood and frequently misapplied. Proper application of loudness-level curves requires knowledge of absolute loudness, information that we rarely have with reproduced music. Converting signal level to decibels is simple. Iv the signal is in RMS (or other average measure) volts, decibels is 20*log10(signal). To convert to absolute level, add a (usually unknown) constant. What do you want to apply the Fletcher-Munson curves to? For what purpose? Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●April 16, 20062006-04-16
> music. Converting signal level to decibels is simple. Iv the signal is > in RMS (or other average measure) volts, decibels is 20*log10(signal). > To convert to absolute level, add a (usually unknown) constant. >If I've an array of values and I send it to a sound card this will reproduce all these bits in speaker movements. Right? How I can know what is the value in volts from these bits? Ok you say "or other average measure" but I would like to know which are these "other". Excuse for my ignorance but I'm totaly new at this kind of analysis.
Reply by ●April 16, 20062006-04-16
Jerry Avins wrote:> > Fletcher-Munson curves aren't methods, they're plots of observations of > (threshold of hearing) vs. (frequency) averaged for many subjects. They > are rarely understood and frequently misapplied....> > What do you want to apply the Fletcher-Munson curves to? For what purpose?he might be wanting to use something like F-M to compute perceived loudness of some audio sound. looks like Wikipedia might be useful for the OP: http://en.wikipedia.org/wiki/Equal-loudness_contours http://en.wikipedia.org/wiki/Fletcher-munson_curves http://en.wikipedia.org/wiki/A-weighting http://en.wikipedia.org/wiki/ITU-R_468_noise_weighting http://en.wikipedia.org/wiki/Standard:ITU-R_468 r b-j
Reply by ●April 17, 20062006-04-17
I do again my question. I have an array of digits that describe a wave form an If I send this digits to a sound card I can hear the sound. I need to calculate the pressure of a sound in logaritm but I have to start from this array only. How can I do it?
Reply by ●April 17, 20062006-04-17
john john wrote:> I do again my question. > I have an array of digits that describe a wave form an If I send this > digits to a sound card I can hear the sound. > I need to calculate the pressure of a sound in logaritm but I have to > start from this array only. How can I do it? >You need to calibrate the syatem. Generate a sine wave at a nominal amplitude and frequency and then measure the SPL with a suitable SPL meter and reference microphone. Since the frequency response of your sound card and loudpeakers/headphones won't be completely flat you should probably do this at a number of different frequencies and generate a calibration curve, rather than just a single calibration constant. Paul
Reply by ●April 17, 20062006-04-17
If I am reading this right, you want to get the A/B/C weighted SPL *directly* from your digitized data stream. This is good, as your waveform already has you one step away from reality. Getting the soundcard further involved along with, gasp, speakers only pulls you farther away. You can do this two ways... Canned software... SpectraPlus/SpectraLab and others will apply A-weighting (and C, I think) on a digitized waveform in the form of a WAV file and give you an SPL estimate. You will need to "calibrate" it as a previous poster described - but that is not such a big deal. There are built in features intended to undo what you microphone and soundcard did to the measurement prior to it ending up on your harddrive, so that will help. Roll you own... Bring the signal into MATLAB or some other computing environement (or write a C-program) to implement a Z-domain approximation of the laplace-domain estimates of the weighting filters described by Fletcher and Munson and approximated for years by analog electronics. Such s-domain estimates can be found here: http://www.cross-spectrum.com/audio/weighting.html If you need help converting continuous domain transfer functions into discrete domain transfer functions, that is best handled with a text book or, at least, in a different thread. The s-domain estimate of the Fletcher and Munson curves introduced error. The map from s- to z- will introduce more. Choose an s- to z- map that polutes your final SPL estimates minimally. I cannot help you with this as I have not looked at this problem, specifically. There are fully digital certified lab grade SPL meters out there, so it can indeed be done. Welcome to the field of Measurements Theory. Remember, if it was easy, everyone would be doing it... BR, Dan
Reply by ●April 17, 20062006-04-17
"john john" <attackack@yahoo.com> wrote in message news:1145264035.693557.63020@u72g2000cwu.googlegroups.com...>I do again my question. > I have an array of digits that describe a wave form an If I send this > digits to a sound card I can hear the sound. > I need to calculate the pressure of a sound in logaritm but I have to > start from this array only. How can I do it?Unless you can exactly control _all_ the variables involved, you can't. Assuming a Windows PC, some of the variables include mixer volume settings, master volume settings, choice of soundcard, choice of speakers/amplifiers, speaker/amplifier settings, placement of speakers, etc. In other words, for one specific system, this can be done, but for a general case, there are too many unknowns. Think about this: if 2 different random people download a audio file off the internet and play it back on their PCs, what are the changes that the SPL is going to be the same for both of them? One guy might have a monster audio system cranked all the way up, and the other might have a cheap speaker with the volume turned way down. If you are talking about one particular installation, then calibrate as described by Paul Russell elsewhere in this thread. Otherwise, you are out of luck.






