My ultimate aim is to find the Sound Pressure level of a digital WAV audio file and represent this (say, in MATLAB) as a dB SPL re 20 uPa on y-axis and frequency on x-axis.
As this link mentions:
Calibration Signal Recording – Record a WAV file with a tone or signal of a known level using the same recording input gain setting that were used to record the WAV file. Sound Quality Analyzer will use the calibration recording to generate the proper normalization term for the WAV file to be analyzed.
Now, let'say I have a calibration tone which I know has a 94 dB SPL at 1 KHz frequency, how can I use this information to scale the pressure values my audio file to finally get to a dbSPL.
In the above equation, I know Po = 20 uPa (threshold of hearing). So if I am able to find the scaled P values of the audio file, I can use this equation to find the dBSPL.
So the question boils down to this:
- There is a noise.wav that needs to be analysed.
- There is a calibration.wav that is recorded with 94 dB SPL at 1 KHz. This is the known calibration tone from a calibrator. The settings on the calibrator say 94 dB, 1KHz. Is this 94 dB SPL re 20 uPA? How do we find the SPL of this recording to get a normalization factor for the noise.wav to be analyzed? I am assuming the actual SPL of the recording will be different than what the calibrator says.
- How will you use the normalization factor obtained above to calibrate and find the SPL of the original noise.wav? If noise.wav is a 1 minute recording - do we need to take n number of samples (window the signal), calculate the SPL re 20 uPa of each window and further normalize the SPL value obtained from the term obtained above?
Here, I am assuming that the WAV files (noise and calibration tone) are not recorded with a calibrated sound level meter but rather, say, a mobile phone. So, essentially what I am trying to get at is to replicate the functionality of calibrating a sound level meter given these two recordings.