2 pointsby gpasquero2 hours ago2 comments
  • gpasquero2 hours ago
    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.py
  • 2 hours ago
    undefined