MSP and Decibel Query
Feb 28, 2011 at 11:20am
MSP and Decibel QueryI have a number box which is the result of a calculation that works out the perceived intensity of a sound source in dB at a changeable distance if the emitted source was 100 dB. For example, if the sound source was 100 dB at 1 meter away, at 40.23 meters away, the perceived intensity in dB would be 73.93 dB. Basically, I have got a cycle~ 440 object and I want the perceived intensity in dB to be represented on the gain~ slider, but the gain slider has a range from 0157. How can I get the dB from the calculation to be represented on the gain~ slider. I understand that the calculation is in dBSPL and I have looked into atodb and dbtoa. Any ideas would be greatly appreciated, 

Mar 5, 2011 at 10:51pm
db inside digital audio and in real world are used in different manners. In digital audio 0dB is defined as the maximum possible amplitude – which equals an amplitude of 1. Therefore dB values in digital audio are usually negative. I.e. 6dB equals a amplitude of 0.5, 12db would result in 0.25 and so on. In the ‘real’ world 0dB is defined as the lowest perceivable sound pressure – therefore the dB values are positive. What remains the same is that if you raise a soundpressure by 6dB you double the signal. So the only thing you can represent inside your patch is the relative difference of the signal. In your example you have a drop in sound pressure of 26.07dB (100dB – 73.93dB). To scale your signal feed [dbtoa] with the difference in dB of your ‘real world’ values (in your example it would be 26.07 as it is a drop in sound pressure) and multiply your signal from the [cycle~] with the resulting value using [+~]. If it comes to the [gain~] object you have to notice that it applies a logarithmic scale internally and that is uses what is called headroom. (See the help patch). At a value of 128 is multiplies the in incoming signal by 1 (in other words the signal is unchanged). A drop of 10 steps at the [gain~] equals a drop of 6dB or half of the amplitude. So at 118 the [gain~] will multiply the incoming signal by 0.5 (== 6dB), at 108 with 0.25 (== 12dB) and so on. The rest is just a very little math…. Jan 

Mar 6, 2011 at 10:56pm
“and multiply your signal from the [cycle~] with the resulting value using [+~].” 
You must be logged in to reply to this topic.