Show HN: VOOG โ€“ Moog-style polyphonic synthesizer in Python with tkinter GUI

47 points - today at 7:40 PM


Body: I built a polyphonic synthesizer in Python with a tkinter GUI styled after the Moog Subsequent 37.

  Features: 3 oscillators, Moog ladder filter (24dB/oct), dual ADSR envelopes, LFO, glide, noise generator, 4 multitimbral channels, 19 presets, rotary
  knob GUI, virtual keyboard with mouse + QWERTY input, and MIDI support.

  No external GUI frameworks โ€” just tkinter, numpy, and sounddevice.

Source

Comments

poketdev today at 10:35 PM
This is fantastic work! I love how you stuck with pure Python libraries - tkinter, numpy, and sounddevice. The Moog ladder filter implementation is particularly impressive. Have you considered adding export functionality for the generated audio? Being able to save presets or record to WAV files would make this even more practical for music production. Great job on the GUI design too - those rotary knobs look perfect for this application.
FriedrichN today at 10:13 PM
Very cool! I will be playing with this.

The only thing that jumped out to me is a lack of a panic button that stops all sound.

peteforde today at 8:11 PM
Damn, that is really, really cool.

Thanks for building this and thanks for sharing.

wizardforhire today at 9:13 PM
Really ambitious and really cool, congrats on finishing and sharing!

Getting into the weeds, how are you doing individual voices, ie an an analog synth needs a separate signal path for each note of polyphony with inadvertent and unavoidable interferenceโ€ฆ which ironically is desirable.