webaudio-tinysynth is a small synthesizer / MIDI player library written in JavaScript with GM like timbre map.
All timbres are generated by the combinations of Oscillator and Dynamically generated BufferSource algolithmically without any PCM samples.
Repository :
https://github.com/g200kg/webaudio-tinysynth
The demo on this page is based on webauido-tinysynth, and you can do the following:
- Playable with mouse or qwerty-keyboard.
- Play by MIDI keyboard also available via WebMIDI API(Chrome).
- Selectable timbre with GM map. Ch10 is drum track.
- Quality setting switches two timbre set. light-weighted 1 osc or FM based 2 or more osc.
- webaudio-tinysynth also has built-in MIDI sequencer. Select local MIDI file by DnD to 'TinySynth' or file selector to play.