5

I am trying to initialize MIDI.js with a glockenspiel instead of the default acoustic piano. But I am getting no sounds

I have glockenspiel-ogg.js and glockenspiel-mp3.js (downloaded from https://github.com/gleitz/midi-js-soundfonts ) in a directory called soundfont.

I am running the following code on window.onload. Where am I going wrong?

MIDI.loadPlugin({
soundfontUrl: "soundfont/",
instrument: "glockenspiel",
callback: function() {
MIDI.programChange(0, 10); 
MIDI.noteOn(0, 35, 127, 0);
}
});
wolffmart
  • 81
  • 1
  • 7

2 Answers2

8

Sorry for answer an old question, but I found a better solution:

put this after the plugin load:

MIDI.programChange(0, MIDI.GeneralMIDI.byName["instrument_name"].number);
Intronaut
  • 81
  • 1
  • 1
3

Apparently, I was looking at a bad list for MIDI instrument codes. The Wikipedia page here has correct codes: https://en.wikipedia.org/wiki/General_MIDI I was trying to use number 10, but glockenspiel is number 9. So, this line should be:

MIDI.programChange(0, 9); 
wolffmart
  • 81
  • 1
  • 7