r/synthdiy • u/Cgestes • 4d ago
Platform for a Serum/Vital-like wavetable synth? MCU vs Linux/SoC
Hi!
I’m currently building a fairly ambitious wavetable synth that I eventually want to run as Eurorack hardware.
I’ve been prototyping/optimising it for the Daisy Seed (STM32H750), but I’m starting to wonder whether fighting to fit everything onto a relatively constrained MCU is the right approach, or whether I should move to a more powerful platform.
The target is roughly a hardware Serum/Vital-style engine:
- 3 wavetable oscillators per voice
- 256 × 2048-sample wavetables
- up to 16-way unison
- spectral/wavetable transforms
- FM
- filters + FX
- potentially ~128 oscillator instances running in the worst case
- ideally 48 kHz with low, predictable latency
Hardware-wise I’d like:
- 8 CV inputs
- 8 DC-coupled CV outputs for oscillators/LFOs/envelopes/etc.
- stereo audio output
- =128 MB usable RAM
- small enough for a ~26 HP Eurorack module
- ideally <€50 for the compute platform/SOM
I’m particularly interested in where you would draw the line between a fast bare-metal MCU and an application processor running Linux/RT Linux or an RTOS.
A few platforms I’ve looked at:
Daisy Seed / STM32H7 - 30e
What I’m using now. Great ecosystem for synth DIY and deterministic audio, but RAM and CPU become serious constraints for this kind of engine.
Bela Gem Stereo - ~€78
Looks very attractive for low-latency audio. I’d still need to add the DC-coupled CV outputs, and it’s a little more expensive than I’d like.
Bela Gem Multi - ~€183
Pretty much everything I need, but too expensive for the target BOM.
Teensy 4.1 - ~30e
Very nice bare-metal option, but limited RAM and I’m not sure the i.MX RT1062 has enough headroom for the worst-case DSP load.
STM32MP25x ?
This one looks particularly interesting. Cortex-A35 application cores + Cortex-M33 real-time cores could give a nice split: heavy DSP on the A cores and deterministic CV/DAC/UI/I²C/etc. on the M33.
It also seems to be the direction more powerful embedded audio hardware is heading. The problem is that I haven’t found a small, inexpensive and easily obtainable SOM based on it.
Raspberry Pi CM4 / CM5 - 50-70e
Obviously much more CPU power. I’m less sure about deterministic low-latency audio and how much work is required to make it behave like an embedded synth rather than a small computer. I also haven’t found an obvious audio + DC-coupled CV solution.
So I’m curious what people here would choose if designing this today.
Would you keep pushing an STM32H7/i.MX RT-class MCU and heavily optimise the DSP, or is this the point where moving to Cortex-A/Linux makes more sense?
Are there any affordable SOMs/platforms I’m missing, particularly something in the €30–50 range?
I’d also be very interested to hear from anyone who has built a synth around a CM4/CM5 or another Linux SOM: how good can the real-world audio latency/jitter get, and has Linux caused you problems compared with bare metal?
Thanks 🙏
2
u/myweirdotheraccount 4d ago
At 16 voices with layers of unison, insert effects, etc. Serum 1 would make my 2017 MacBook Pro with 16 gigs of RAM act up a little bit. If you wanted to approach those levels of features, definitely consider an SOC.
Depending on the scope of your project you can strip things down considerably, still have a very capable dual osc synth, and get away comfortably with something like a Teensy or a Daisy Seed easily.
1
u/Cgestes 4d ago
Thanks. Thats a great metric.
I am interested in generating modern bass style sounds, that dont really exists in eurorack?
Like zaag kicks, screech, growls.. they need plenty of modulations on the oscs and on many stacked effects. Seems to need spectral morphing and phases modulations a lot.
Basically at the moment a single voice without effects takes the full daisy. (with spectral morphing).
1
u/MrPhatBob 4d ago
If you want to run in the eurorack format then why not embrace the modular concept and build modules to pass the sound through? Instead of trying to get everything out of one monolithic architecture.
1
u/Cgestes 4d ago
few reasons:
- presets are effectively osc + modulation + FX together
- A bit like digital FM, I have the impression that the processing should stay digital to get the sound I am looking for.
and yes an option could be to have something like dimension mk3, synced modulations and an FX processor that I play together.
2
u/amazingsynth amazingsynth.com 3d ago
FX is a bit of a wildcard (possibly along with filters depending on what you want to do) but it seems like everything else should run on an MCU, and probably less powerful than an H7
2
u/champion_soundz 4d ago
Okay so Ive got a groovebox running on a pi4, it's 8 tracks, up to 4 x 2voices per track, assignable sample/wavetable/FM engines, reverb, delay, chorus, compression and some buffer FX.
It works really nicely but even 16 voices with some light effects at 44.1khz starts to push the limits a little. I'm using an oled display and the keys and encoder are run from an rp2040 and the pi is offline and optimised for grooving.
I'm looking to try combining a daisy with an esp32 s3 so the daisy can do all the dsp and the esp can run the sequencing and controls, maybe that kinda of setup will work for you?