Auto-EQ

I’ve a crazy idea flying in my brain …

Imagine this workflow:

  • connect a decent microphone to your zynthian
  • put the mic it in a proper place (like the place where your head is when you are playing)
  • select the “auto-EQ” function in your zynthian:
    • shhhhhhhhhh, a pink noise is generated => http://gareus.org/oss/lv2/testsignal
    • and equalized with a 31 band 1/3 octave equalizer => urn:zamaudio:ZamGEQ31
    • the mic captures the audio feedback and sends back to zynthian
    • this audio input is analyzed with 31 band 1/3 octave analyzer =>
      http://gareus.org/oss/lv2/meters#spectr30mono
    • an optimization algorithm modify the pink noise equalization until the response is flat (or whatever we want).
    • the equalization is saved as a ZamGEQ31 plugin preset, so you can recall it when you want.

As you can see we already have all the parts except the optimization algorithm, but i don’t think this is specially difficult …

What do you think?

Regards,

4 Likes

For better result, you should have the response curve of your mic for compensating the input. Zynthian could include the curves of some well-known mics, of course …

Regards,

Used to be a facility on some touring rigs… Pink noise throu’ the PA and manually tweak the eqalizers, whilst watching a spectrum analyser. . . .
Not to difficult to close the loop and have it do it’s own adjustment.

IT would need a nice big off button or it could drive the microphone lovers mad :smiley:

My university final year project was titled, “Wide band impedance measurement using cross correlation of fast Fourier transform”… or something equally catchy! It was a means of measuring frequency response from a short bursts of pseudo random noise. It was for the Chemistry department to measure the impedance of liquids at all frequencies within a band but it later became a seed in my brain of how to perform the automatic equalisation of audio circuits for radio transmission which was quite labour intensive at the time (1990). I later considered how it might be used to set up sound systems in live music environments and also create models of different acoustic environments. The latter is far more complex as signals vary over time. My point is that you don’t necessarily need to manually adjust filters if automatic detection is possible.

2 Likes

“Manually adjust”? “Auto-EQ” is the title of this thread … :wink:

The question is … who wants to write the auto-EQ algorithm? Ohhh!! I would love to do it!! It would be a really funny task … but i would accept if someone do the work and takes the merit … and the fun!! :wink:

He he. Yes, I meant that there is an alternative to the iterative measure & adjust in the frequency domain that you suggested.

The link is to paid for, licenced metering. I am using an open source device that does similar. (I need to check the licensing before sharing the link.) But using the technique I described may remove such a dependency. I am happy to share my knowledge but may find it challenging to devote significant time to such a whim :grinning:. I think the thesis is on a 3" (not 3.5") floppy…

1 Like

But you have to measure something if you want to EQ a space … so you need speakers, microphone, etc. Please, explain how this alternative works …

Sure…

  • Create a burst of pseudo random noise and send it to your speakers
  • Record the result with your microphone
  • Apply FFT to convert the time domain data to frequency domain data
  • Cross correlate the result with the original signal (which is reproducible because it is pseudo, i.e. mathematical generated)
  • Use resulting frequency response to adjust equalisation

Maybe this technique isn’t require now that we have powerful computers with loads of storage in our pockets so we can just play a recording of noise and use the recording as our data source - something that was extremely expensive in 1989. (My pseudo random noise generator was a shift register with selected bit feedback.) Also we can perform fast calculations producing (near) realtime frequency domain measurement. Maybe I am a couple of decades too late…

The technique could still be used but either way you will need to consider the phase change due to delays in the time domain. (Best resolved by adjusting pre-delay within time domain.)

Maybe a “simple” spot frequency measure and adjust is the way to go. It was labourious back in the day but could be automated.

We later used Lindos audio generators and measurement devices which performed automated frequency sweeps and provided frequency response curves - that is another method. The Lindos inserted FSK data to inform its partner of the test being performed. (Required when measuring circuits and test units were miles (kilometres) apart.)