I would like to have an osc~ and hear all the frequencies in the same volume level. In fact to correct the frequency response from the ear. (http://en.wikipedia.org/wiki/File:Perceived_Human_Hearing.png). Is there an object or have someone a solution?
-
Correct the ear!
-
Maybe just save the equal loudness contour in to a table. The x-axis as frequency, y-axis as dBSPL.
When you read through the table with a frequency input you'll get the corresponding dB output.
-
Your idea is good but I have to know the maths behind this curve. With a little search I've found this (http://scholar.google.de/scholar?hl=de&lr=&q=related:qLdXyEJpdMsJ:scholar.google.com/&um=1&ie=UTF-8&ei=qGSrTPW8CcGBOpWJ7bcH&sa=X&oi=science_links&ct=sl-related&resnum=14&ved=0CF4QzwIwDQ), witch I think is a very complex issue. That's why I am asking if someone has done something similar before!
-
Yeah that's the hard part. Getting the curve into PD
-
This might be of some use, some one trying to do it in Max: http://www.cycling74.com/forums/topic.php?id=13899
-
hi there,
I've got the same problem and found an object called mtx_phon_curve (from the iemmatrix library). It looks as if it is the right thing to use but I got stuck when I tried to implement it in my patch. Any suggestions more than welcome!
cheers!
-
Hi,
The [mtx_phon_curve] is a great object but I think that only generates the several curves from the equal-loudness contours. See ISO 226:2003 – Normal equal-loudness-level contours in http://www.sengpielaudio.com/Acoustics226-2003.pdf
Loy, G., 2006 (pp. 167-168), turns clear our issue when he said: “In general, for a sinusoid with frequency f, we want to know what intensity I is required so that it will have the same loudness L as a sinusoid at 1000 Hz. Let ε be the criterion of equal loudness. Then for some frequency f and loudness L, we want to solve the relation I = ε (L, f), which tells us what intensity I is required for a sinusoid to achieve loudness L at frequency f.”
Loy, G., (2006). Musimathics 1. The Mathematical Foundations of Music. Cambridge, Massachusetts, The Mit Press, pp. 167-168.
Unfortunately, he doesn’t give any formula to achieve that.
We need a mathematical function that relates frequencies and intensities along the 40 phon curve (A-weighting). The A-weighting curve it is used with sinusoids and represents the better approximation in relation to our auditory perception. In my research I found an equation for A-weighting curves extracted from: Wong, G. (2007). Sound Level Meters, The Handbook of Noise and Vibration Control. New York. Ed. Malcohm J. Crocker, John Wiley, pp. 455-464.
See pages 457 to 459; eq. (2) and the Fig. 6 in the wong.pdf file
I’ve implemented the eq. (2) in Pure Data. Check it if it is correct.
Best,
-
Have someone the mtx_*,mtx_+,mtx_-,mtx_.^, objects? Because I cannot find them in the iemlib or iemmatrix and they are needed for the mtx_phon_curve object!
-
Hi,
I need those objects too.
Those objects are written in c and they are inside of the src file in
http://pure-data.cvs.sourceforge.net/viewvc/pure-data/externals/iem/iemmatrix/?diff_format=h&pathrev=v0-39-3-extendedSCM Repositories
I think that you have to compile them to transform it in Pure Data externals.
Best,
-
@ pp2007.pt: thanks very much for this.
@ skatias: I had the same problem and was able to overcome this by adding the hexloader library. After that, mtx_*, mtx_+ etc. should be working.