Is this where you brag about your projects?
Here's an audio equalizer and general purpose DSP platform I put together. It's made up of an Teensy 4.1 for the DSP, a CYD (Cheap Yellow Display) for the visual part of the UI and a ES9039Q2M board I designed. The display has its own ESP32-processor that runs all the graphic stuff and I'm using I2C to send screen updates.
To support up to 32-bit audio at up to 192kHz, I had to write my own audio pipeline. I borrowed some of the I2S code from Paul (I hope I got all the attributions right, please let me know if I didn't). The pipeline uses single precision floats, since it makes things so much easier when you don't have to worry about precision loss and overflow all the time. I tried doubles. but unfortunately that's a little too much for the little Teensy to handle.
Right now, it functions as a preamp with a parametric equalizer, but thanks to the awesome power and versatility of the Teensy, I can make it do pretty much any audio processing. I will add a graphic equalizer in the near future. I might add things like reverb and wide stereo if I get bored. There's also a really cool real time spectrum analyzer display mode. I initially did that using FFT, but I never could get it to look good and react quickly enough, so I'm not using a bank of biquads to do the whole thing in the time domain.
This was a really enjoyable project, in no small part thanks to the awesomeness of the little Teensy 4.1!
All information, including code and CAD-files can be found here. Feel free to borrow as you see fit, but some credits and attributions would be nice if you do. Enjoy! Questions and ideas for improvement are welcome!
github.com
Here's an audio equalizer and general purpose DSP platform I put together. It's made up of an Teensy 4.1 for the DSP, a CYD (Cheap Yellow Display) for the visual part of the UI and a ES9039Q2M board I designed. The display has its own ESP32-processor that runs all the graphic stuff and I'm using I2C to send screen updates.
To support up to 32-bit audio at up to 192kHz, I had to write my own audio pipeline. I borrowed some of the I2S code from Paul (I hope I got all the attributions right, please let me know if I didn't). The pipeline uses single precision floats, since it makes things so much easier when you don't have to worry about precision loss and overflow all the time. I tried doubles. but unfortunately that's a little too much for the little Teensy to handle.
Right now, it functions as a preamp with a parametric equalizer, but thanks to the awesome power and versatility of the Teensy, I can make it do pretty much any audio processing. I will add a graphic equalizer in the near future. I might add things like reverb and wide stereo if I get bored. There's also a really cool real time spectrum analyzer display mode. I initially did that using FFT, but I never could get it to look good and react quickly enough, so I'm not using a bank of biquads to do the whole thing in the time domain.
This was a really enjoyable project, in no small part thanks to the awesomeness of the little Teensy 4.1!
All information, including code and CAD-files can be found here. Feel free to borrow as you see fit, but some credits and attributions would be nice if you do. Enjoy! Questions and ideas for improvement are welcome!
GitHub - prydin/param-eq: Parametric Equalizer
Parametric Equalizer. Contribute to prydin/param-eq development by creating an account on GitHub.