我正在尝试构建一个允许输入电吉他或其他 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