我只想弄清楚将MIDI键盘连接到网络的整个过程。我已经在那里找到了东西,但他们已经3岁左右了,我认为从那时起,相当数量已发生变化。
为了有一个起点,我想创建一个网络应用程序,只需在我按下它时显示我在MIDI键盘上敲击的音符。
我找到了这个帖子并且让它全部工作:How to discover midi keyboard in web midi api?
我想我不知道如何注册笔记。我对这样的事情不熟悉,我能找到的任何答案对我来说都没有多大意义。感谢。
答案 0 :(得分:0)
我发现这非常有用:http://webaudiodemos.appspot.com/monosynth/
我稍微添加了它以显示正在播放的音符:https://github.com/danhogan/monosynth
答案 1 :(得分:0)
您链接的主题显示了如何获取MIDI访问权限,但是一旦您获得访问权限,它就不会向您展示如何处理MIDI消息。这个例子中缺少的是这样的:
midiAccess.inputs()[0].onmidimessage = function(event){
console.log(event.receivedTime, event.data)
// do cool stuff with midi data here
}
我写了一个图书馆,Wad.js,在这种情况下,我认为这对你来说是完美的。 https://github.com/rserota/wad#midi-input
基本上,当Wad.js初始化时,它会自动检测所有连接的MIDI设备,然后将他们发送的所有MIDI信息记录到控制台。一旦您熟悉了设备的数据,您就可以编写MIDI事件处理函数来处理这些消息,例如
Wad.midiInputs[0].onmidimessage = function(event){
console.log(event.receivedTime, event.data);
};
Wad.midiInputs[1].onmidimessage = anotherMidiHandlerFunction // If you have multiple MIDI devices that you would like to use simultaneously, you will need multiple MIDI handler functions.
在撰写本文时,我认为MIDI仅在Chrome中作为“实验性功能”提供,因此您必须手动启用它。此外,您还需要安装jazz-plugin(http://jazz-soft.net/doc/Jazz-Plugin/)才能为您的浏览器提供低级MIDI访问。如果您仍然无法检测MIDI