Hello Tympan community,
I wish to implement an equalizer using Tympan Rev E. Please suggest some methods/ways to implement Equalizer in Tympan.
So, for an equalizer you want a certain number of parallel filters where you can control the gain of each?
If so, you’d want classes like this:
-
AudioInputI2S_F32
-
AudioFilterbankBiquad_F32. (this is a set of parallel filters)
-
AudioEffectGain_F32 (You’ll need multiple of these…one for each EQ band)
-
AudioMixer16_F32 (this rejoins your parallel filters back into one stream)
-
AudioOutputI2S_F32
You prob need more help, but if you start with this, you can come back with your next questions!
Chip
Hello again!
I made an 8-band example EQ and added it to the Tympan library (I also had to tweak one of the Tympan_Library audio classes, so do be sure to update your library). After you’ve updated your library, the new example is 03-Intermediate/Equalizer_8BandBiquad.
Features:
-
This example shows you how to set the number of bands, how to set the frequency of each band, and how to change the loudness (gain) of each band.
-
It includes the ability to change the gain of each band interactively, via the Arduino SerialMonitor. Type “h” (no quotes) to get its help menu!
If you want to alter the code to change the number of EQ bands:
-
If you want something other than 8 bands, you can look at this example to see the pattern. You’d then change the code following the pattern I think that it should work for up to 16 bands (though I have not tested this).
-
If you want more than 16 bands, you will definitely need a few more changes. Specifically, you will need more of the mixer classes because the mixer used in this example only supports up to 16 channels (hence its name “AudioMixer16”). Also, the filterbank has never been tested with more than 16 channels…so that could be a limit, too. You’ll have to try it to find out.
Let me know if example this works for you!
Chip
Hi Chip,
The code is working well.
And I think while connecting GainBlocks to Mixer, you have missed one band to add it seems. Please check that.
Thanks for the great support.
You’re right! Good find!
I’ll fix it with the next update to the library.