The purpose of this fork is twofold:
The original does not contain the percussion track (Channel 10)
Because abcjs depends on the soundfont, I wanted it in a place that I knew would not change.
The URLs mentioned below are for the gleitz version of the soundfonts. To use this version, the URLs are:
https://paulrosen.github.io/midi-js-soundfonts/abcjs/
https://paulrosen.github.io/midi-js-soundfonts/FluidR3_GM/
https://paulrosen.github.io/midi-js-soundfonts/MusyngKite/
MIDI.js is a fantastic library for MIDI sequencing and playback in Javascript. It comes packaged with a soundfont-generator that is unfortunately a little difficult to get up and running (requires installation of Ruby, Node.js, FluidSynth, Lame, etc.)
This project contains pre-rendered General MIDI soundfonts that can be used immediately with MIDI.js.
sforzando
to find details of each sound and MIDI key.synth_drum
: MIDI.loadPlugin({
soundfontUrl: "https://gleitz.github.io/midi-js-soundfonts/Tabla/"
instrument: "synth_drum",
onsuccess: function() { console.log("Tabla loaded as instrument synth_drum") }
});
MIDI.noteOn(0, 60, 127); // On channel 0 (default), play note C4 (id 60) with max velocity (127)