ESP32 dual osc polyphonic synth project

I’ve been working on Marcel’s marcel-licence/esp32_basic_synth: ESP32 based simple synthesizer project (github.com) Synth code of late - bringing it into line so it compiles under platformio and modernising the midi control interface and such. It’s working pretty well now and I’ll get my fork back up on GH soon.

One of the really fun things was there was some skeleton code for a display for the waveform, but no real implementation. I implemented it and got some output that was pretty amazing, but jumped all over the place as there was no trigger sync (I’ve been learning about oscilloscopes!). I’ve now managed to code in the trigger sync, and suddenly the waveform view is super super cool. It’s not amazing for polyphony as yet since syncing each voice is a whole other pile of fun, but for single notes (even with multiple oscillators) it’s very cool.

Have a look here: stable waveform meter! - YouTube

I need to make a case for it now - will update once the 3d printer has churned something out :slight_smile:

4 Likes

Nice work, indeed!
I guess you are deriving the trigger sync from the starting point of the oscillator’s next cycle?

Bang on :slight_smile: - it’s why multi-voice becomes hard as the new voice’s oscillator starts when the new note is pressed - so the waves are out of phase… I’m tempted to try some code that quietly puts the display back into phase to see how it looks - being able to visualise the combined waveform is the super-interesting thing for rme so graphing them separately seems boring.

Fun problems to have :slight_smile: Just warming the 3D printer up to test print the front panel - if it comes out okay pictures will follow.

Wee update - getting things into 3D printed case slowly then need to program all the oled display scribble-strips … going to be fun! It’s really easy when you model the indentations for each component into the case to mount them etc.


2 Likes