[sdiy] IR Reverb

rsdio at audiobanshee.com rsdio at audiobanshee.com
Wed Feb 21 03:27:00 CET 2018


Oops, I’ve already lost the response from this thread where someone recommended getting your feet wet on the desktop.

That’s good advice.

Nearly all of this DSP stuff comes down to the same building blocks. I’ve ported plugins from Intel’s x86-specific DSP library to Apple’s processor-independent macOS DSP library  and they all have the same blocks. The TMS320 code that I worked on was original, not ported from existing code, but it also basically used the same blocks. The CMSIS-DSP library has the same blocks, although they won’t quite be the fastest.

So, the easiest way to learn all of this math is to build something on the desktop - maybe with CoreAudio - so that you understand all of the pieces. Once you have this code running and producing sound, you can then start looking at the hardware platform design. You’ll know from your desktop code what FFT sizes you’re happy with. If the embedded DSP options lean towards a different FFT size for any reason, you can tweak your desktop code to mimic the exact same operations. Then you can spec out the various DSP chip options by looking at benchmarks. I selected the TMS320VC5506 after I knew the exact FFT size, sample rate, number of channels, and desired update rate. Then I could select chips that met those requirements while also meeting the dollar cost and USB power consumption limitations of the project.

Having some working desktop DSP code will really help you get your mind around what your hardware design will need to be. The vendor for the DSP chip that you end up selecting will surely have libraries available for their chips that provide exactly the same building blocks that you need. You’ll just know more about what to look for after you’ve written the code on the desktop.

Wish I hadn’t lost that email response, because I’d like to give credit to the person who first suggested this approach in this thread.

Brian





More information about the Synth-diy mailing list