# How to normalize frequency response charts

I want write a simplistic program that can transform a high-quality voice recording in a way that it sounds like it was recorded using a specific low-quality microphone.

I have obtained the mic's FR using a program that uses sine sweeps in a sort-of-anechoic room since there is no official spec available. Sine sweep was played by a good loudspeaker of which I have the FR specs.

Now these FR charts have different "dB ranges":

• Mic FR: -90dB to -10dB
• Speaker spec: starts at -45dB, moves to 85dB and stays mostly linear.

The goal is to normalize the mic FR data w.r.t to the speaker's FR spec and then use that result to create an (inverse) FIR filter.

Question: How to read, interpret and normalize these charts so I can do the math on them?

My guess would be to choose mic amplification during the sine sweep so that the max amplitude observed is 0dB (is this the same as the mic's clipping threshold?), and then divide by the min amplitude observed. And for the speaker, normalize in the 45–85dB range.

Example speaker frequency response chart:

Example microphone frequency response chart:

• Can you maybe add the charts? It is very hard for me to understand what is your exact question? "How to read, interpret and normalize these charts so I can do the math on them?" is way to general given that we do not have the data or the charts. Jan 19, 2020 at 11:59
• Sure, added some charts Jan 20, 2020 at 12:12

Regarding the decibel scaling, an easy thing would be to play a signal at a known level (for example 94 dB SPL) and record it with the microphone. Then check what is the dBFS level of that recording. This will allow you to map the dB SPL to dB FS. Once it's done, you can convolve your signals and analyse the spectra to see what level they simulate. If any gain adjustment is necessary then you can do it afterwards. This, of course, assumes that you know the original level of those recordings, which is generally not true. If you had the same sort of measurement for the device that was used to capture those recordings, then it's easy. You know what is the sensitivity of that device, you know how much it differs from your microphone, so you can correct for that either by adjusting the level of impulse response or applying gain post convolution. Finally, you can simply ignore all of that and set the gain of your impulse response so the frequency response peaks at 0 dBFS. This means no boosting - only attenuation.