Web MIDI Synth Host
This project is unofficial, but is intended to further the discussion about software synths at Web MIDI API issue 124.
It can also be used to develop any new Web MIDI Synth  without having to create a GUI:
- clone this project
- create a new directory, at the top level of the project, for the new synth's files
- create a file that describes the new synth's interface using one the existing synth definition files  as a model.
- implement the interface, and include the synth's file(s) at the bottom of the host.html file
- MIDI synth (Chris Wilson)
This is Chris' MIDI synth (repository, application) without its original GUI. I have tried to keep closely to the code in the original files while using simple MIDI controls whose values are in the range 0..127. It would, of course, be possible to get nearer to the original settings by using hi- and lo-byte controllers (as standard MIDI does). Issues with this synthesizer should be raised at its own repository.
- monosynth (Chris Wilson) A very simple synth. The original is here.
This is almost entirely gree's sf2synth.js synthesizer, but I have adapted the code to my own style, and changed both the soundFont and synthesizer code so that soundFonts can be cached and changed at runtime. I am not a Web Audio or SoundFont specialist, so would especially welcome any help in developing the code. Issues with the ResidentSf2Synth should be raised here, in this repository.
This is a minimal synth that simply echoes the messages it receives to the console without producing sound. It could be used as a stub when writing a new synthesizer. Issues with the consoleSf2Synth should be raised here, in this repository.
Other Host Applications:
Web MIDI synths can easily be lifted out of this host and used in other Web applications. Simply copy the synth's directory and the WebMIDI directory in parallel somewhere where the new host can access the files, and then link the files to the new host.
There are some simple applications that implement this pattern at:
SimpleSoundFontSynthHost, (GitHub), SimpleMIDISynthHost, (GitHub) and SimpleMIDISynthHost2, (GitHub)
If there are any issues relating to these demo applications, please raise them here in this repository.
December 2015 (updated February, November 2016, June 2017)
 A "Web MIDI Synth" is a software synth that uses the Web Audio API to implement the Output Device interface defined in the Web MIDI API. Web MIDI Synths can be used online independently of browser implementations of the Web MIDI API.
 Web MIDI Synth interface definitions can be found in: