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: