1
$\begingroup$

I found a function called scipy.io.wavefile.read() which returns the sampling rate and an array. But in the documentation, it is not specified that whether the array returned by this function is of Amplitude or Sound Pressure Level. Which one is it?

$\endgroup$
  • $\begingroup$ Digital Amplitude. In essence, something proportional to the voltage at the ADC. So strictly speaking, since this is DSP, there's no such function, because the information about actual air pressure values is lost during recording and playback. $\endgroup$ – Marcus Müller Feb 16 '17 at 22:57
  • $\begingroup$ You mean that this function returns array of Digital Amplitude ? $\endgroup$ – user26612 Feb 16 '17 at 23:04
  • $\begingroup$ The digital amplitude is proportional to pressure, but you need to know mic sensitivity, gain, ADC max voltage to map it to an actual number $\endgroup$ – endolith Feb 17 '17 at 3:17
  • $\begingroup$ Not an exact duplicate, but I think that you might find this question and responses relevant (?) $\endgroup$ – A_A Feb 17 '17 at 9:53
1
$\begingroup$

No, you need to know the full Transfer function from the acoustic response at the sensors face to your A/D converter. Transducer responses vary with frequency. You need a calibrated reference at a minimum.

A reference sensor will have a response curve from the manufacturer. An average would be useful as well.

$\endgroup$
0
$\begingroup$

It's amplitude data. Assuming the file contains a recording of an acoustic event the data may well be strongly correlated to the original SPL but it's not that data.

According to the docs, depending on the nature of the audio file scipy.io.wavefile.read() gives the data in one of the formats below:

WAV format Min Max NumPy dtype 32-bit floating-point -1.0 +1.0 float32 32-bit PCM -2147483648 +2147483647 int32 16-bit PCM -32768 +32767 int16 8-bit PCM 0 255 uint8

You can convert the value in your to dBFS using 20*log10(val/max). Where max is the max appropriate to your wav file as per the above table.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.