Audio toolbox: using acousticLoudness() in reverse for "normalizing" audio signal

12 次查看(过去 30 天)
Edited for clarity.
I have a set of speech signals that were peak normalized. I want to adjust the gain of each signal so they have an equal loudness (same idea as replay gain).
I am calling the function :
acousticLoudness()
The signal I'm passing to the function is the original recording.
First I wanted to use the ISO 532-2 method, since the sound presentation will be done with headphones, but my signal is time-varying (speech signal), so I must use the ISO 532-1 method instead. How would I compensate for the non-linearity of the headphones and the fact that the sound will not be presented in a free field? I thought of just building a filter to pre-process the signal before feeding it to acousticLoudness() but I'm not sure where to start.
The headphones used are Sennheiser HDA300 (spec sheet).
One I have a "replay gain" value for each signal based on an arbitrary reference, I will calibrate the amplifier by measuring the dBSPL output of a 1kHz signal.
Thank you!

采纳的回答

Jimmy Lapierre
Jimmy Lapierre 2021-4-28
If you want average perceived loudness, consider omitting the time-varying option even though the signal isn't stationary.
Otherwise, one way to apply a frequency response (besides the obvious filtering of the signal) would be to compute octave SPL first (see the example in the acousticLoudness doc) and compensate for the headphone response in each band using the table you provided before giving those SPL values to acousticLoudness.
  6 个评论
Frederik Desaulniers
Thank you for all the help you provided! I will do some experimentation.
I reached out to Sennheiser about how to use their published data to make a free field equivalent earphone output level / mirrored free-field equalization filter. I will publish any answer I get here in case it can be of value to others.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Measurements and Spatial Audio 的更多信息

产品


版本

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by