[TriEmbed] DSP expertise on Cortex-M4

Alex Davis alexd at matrixwide.com
Wed Apr 15 15:32:02 CDT 2015


I'm working on a polyphonic synth based around the Teensy 3.1 and Audio
Interface Board, along with the PJRC audio library. Project is here:
https://github.com/quarterturn/four_voice_synth

Currently, four simultaneous two-operator voices are working, each with
their own multi-mode filter. The basic wavetable functions are solid and
I can understand them, but I'm in over my head when it comes to the
filter implementation. The filter, as written, suffers from instability
at zero resonace for certain cutoff values (sounds like it breaks into
'chaos' to me - white noise) and is incapable of self-oscillation.

There are websites out there with all sorts of non-C examples of various
'famous' filters, eg. Moog Ladder, TB-303, etc... but I have a feeling
they will be very suboptimal if not optimized to fit in 32-bit integer
math on the M4. It is not terribly important to emulate the filter
producing a pure sinewave, as that's more of a classic analog way of
getting another voice and we can make a sinewave easily in the digital
realm, but it certainly does need to be able to 'ring' a bit in the
'right' way. It's what gives things like the TB-303 their unique
character and makes the synth exciting to musicians.

Let me know if you're interested. I don't have a commercial product in
mind (there are loads of DSP-based instruments already), this is more of
just wanting to do it myself.

-- 
"The theater of noise is proof of our potential."
|\ |  (¯  \/ |¯\  |V| |\ ¯|¯ |¯) | \/ | | | |¯\ (¯   /¯  /\ |V|
|-||_ (_  /\ |_/ @| | |-| |  | \ | /\ |^| | |_/ (_ . \_  \/ | |

You won't find me on Facebook.




More information about the TriEmbed mailing list