MIDI.js-无法更改仪器

MIDI.js - Unable to change instruments

本文关键字:仪器 js- MIDI      更新时间:2023-09-26

我正在尝试用glockenspiel而不是默认的原声钢琴初始化MIDI.js。但我没有声音

我有glockenspiel-ogg.js和glockenspiel-mp3.js(下载自https://github.com/gleitz/midi-js-soundfonts)在一个名为soundfont的目录中。

我正在window.onload上运行以下代码。哪里出错了?

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

很抱歉回答了一个老问题,但我找到了一个更好的解决方案:

把这个放在插件加载之后:

MIDI.programChange(0, MIDI.GeneralMIDI.byName["instrument_name"].number);

显然,我看到了一个MIDI乐器代码的坏列表。这里的维基百科页面有正确的代码:https://en.wikipedia.org/wiki/General_MIDI我试着用10号,但glockenspiel是9号。所以,这行应该是:

MIDI.programChange(0, 9);