我正在尝试构建一个允许输入电吉他或其他 MIDI 输入的网络程序。我的问题是,“这可能吗”,您更喜欢哪种编程语言?预先感谢
3 回答
看起来有可能。
Jazz-soft 有一个浏览器插件,它增加了低级 MIDI 支持。http://jazz-soft.net/
WebMIDI
is an API supporting the MIDI protocol, enabling web applications to enumerate and select MIDI input and output devices on the client system and send and receive MIDI messages.
http://www.w3.org/TR/webmidi/一些网络搜索也发现了一个叫做Web MIDI API Polyfill的东西。
我刚刚在 google-chrome Canary 上尝试了 MIDI,它可以工作。您只需转到 chrome://flags/#enable-web-midi 并启用 Web MIDI API。
当然可以使用带有 Web MIDI API 的 javascript 来执行此操作,尽管在撰写本文时,Web MIDI API 仅在 Chrome 中作为实验功能提供,并且必须手动启用。您还需要安装 Jazz 插件以启用低级 MIDI 支持。
为了让你的生活更轻松,我建议使用 Wad.js。初始化后,Wad.js 将自动检测所有连接的 midi 设备,并将对它们的引用存储在数组中Wad.midiInputs
。然后,您需要做的就是编写一个处理函数来处理传入的数据,并将该函数分配给您的 midi 设备的onmidimessage
属性。例如,
Wad.midiInputs[0].onmidimessage = function(event){
console.log(event.receivedTime, event.data);
};
完全披露:我是 Wad.js 的作者。 https://github.com/rserota/wad#midi-input