This Yamaha DX7 emulator is my attempt to do something cool with the Web Audio APIs. The synth responds to MIDI input (make sure your device is hooked up before you start your browser) including pitch bend, mod wheel, and aftertouch. I've added the ability to pan the operators for stereo output (this applies to carrier operators only – the solid squares in the algorithm diagram).
I'll cover the basics here, and add some fun implementation details later.
- QWERTY keys melodic keyboard control
- Space bar panic (all notes off)
- Control hold down to increase QWERTY velocity
- Mouse wheel over knobs and sliders to increase/decrease value
- Click or touch and drag up/down on knobs and sliders to increase/decrease value
- Arrow up/down on knobs and sliders to increase/decrease value
- Tab moves between controls
There are some DEMO buttons up top to keep the noise going while you twiddle, plus a MIDI file selection at the bottom.
One tricky aspect of the DX7 is the 4-step envelope generator, so here are some tips. The higher the EG RATE slider, the shorter the envelope section lasts. The envelope starts at zero. The first rate slider (R1) tells you how fast the operator will approach the level of the first volume slider (L1), and so on for R2 L2, R3 L3, R4 L4. If you get stuck notes, hit space and increase your rates.
Shout out to Alva Snædís for sparking my interest in FM synthesis.