I was hoping for help from people with more Max experience than I have to give me directions.
I’m interested in creating a patch that will do the following, with simply a set of speakers and a microphone:
1) play a test sweep
2) perform an FFT of the known sweep to get a frequency response of the speakers+microphone setup
3) take that frequency response, and calculate a filter pattern that will compensate for the system’s non-linearities when applied to the original test sweep.
The goal here is to have a way to get a machine to compute the exact filter necessary to have a perfectly flat response out of any system. There’s probably a number of flaws in my reasoning, yet I feel like it’s an interesting enough idea that I’m surprised no one’s tried it before – let me know if I’m wrong, or if this idea is absurd (if it is, please add why).
Interesting developments would be to be able to copy visual representations of frequency responses for various equipment directly in Max and compute the linearization graph without even having to go through the test sweep in microphone step, since the manufacturer has already done that.
I think ideally you’d like to deconvolve your signal with the room+speaker characteristics (captured by the impulse response). To do this you need:
- a method to get the impulse response of the room (you NEED to know the impulse response of your microphone)
- a method to deconvolve