Fork me on GitHub

synthesis.js - MIDI / MML Synthesizer (WIP)

Web Audio API and Web MIDI API experiment works on Chrome, Edge and iOS Safari.
The features are very limited for now. Currently you can:

- play with MIDI keyboard
- play with PC keys (C key = C4, Space = Damper pedal)
- play simple MML
- play test SMF


Keyboard (N/A)


MML Commands

Notesc, d, e, f, g, a, b, +, -
Octaveo[octave], <, > (4)
Note Lengthl[note length] (4)
Tempot[tempo] (120)
Gate Timeq[1-8] (6)
Velocityu[0-127] (100)
Channel Volumev[0-127] (100)
Panp[-64-63] (0)
Expression ControllerE[0-127] (127)
Key Shiftk[-127-127] (0)
Set MIDI ChannelC[1-16] (1)
Next Track and MIDI Channel;
Play from Here?
Comment//..., /*...*/

SMF Player


MIDI Implementation Chart

MIDI Input (Ch. 1-16)

Note On/Off
Pitch Bend
CC 1 (Modulation Wheel)
CC 7 (Channel Volume)
CC 10 (Pan)
CC 11 (Expression Controller)
CC 64 (Damper Pedal On/Off)
CC 123 (All Notes Off)

Programmed by Katsuomi Kobayashi (@KatsuomiK / @k0rin in Japanese)