VX7 – Open-source Yamaha DX7 emulator written in Python
github.comWeird that everyone was bagging on your Voog project, but they've got nothing to say about this. I guess Yamahas lack the caché..?
Anyhow, they're both nice reads, man!
I built a real-time Yamaha DX7 synthesizer emulator in pure Python (~2500 lines). It implements the full DX7 FM synthesis architecture: 6 operators, all 32 algorithms, 4-rate/4-level envelopes, LFO with 6 waveforms, keyboard level scaling, velocity sensitivity, and feedback — all computed sample-by-sample at 44.1 kHz.
Includes 32 factory presets from the original ROM1A bank (BRASS 1, E.PIANO 1, STRINGS, etc.), a tkinter GUI with a DX7-style panel layout, pitch bend
and mod wheels, a clickable 5-octave keyboard, and optional MIDI input.
The audio engine runs in a real-time callback via sounddevice/PortAudio with ~5.8 ms latency. No external DSP libraries — just NumPy for the math.
Tech: Python 3.10+, NumPy, sounddevice, tkinter. Optional python-rtmidi for MIDI controllers.
pip install numpy sounddevice && python main.pyHow much overlap does this have with the voog project? Why not factor out common components?
very nice, helped a friend a little on this one a few years back, if it sparks any https://github.com/cannc4/DX7-Supercollider