使用 JavaScript 检测浏览器中的 Midi-piano 键盘事件的库

Mai*_*iya 2 javascript midi midi-instrument web-midi

我想将 midi 钢琴键盘插入计算机的 USB 端口,并通过在浏览器中显示某些内容来响应按键事件。

有谁知道有一个库可以允许 JavaScript 与前端/浏览器中的 USB midi 键盘事件交互?

类似于:
链接到index.html的script.js文件:

$(document).on('midi-key-press', function(event) {
    alert('the key that you pressed was ' + event.whichKey);
});
Run Code Online (Sandbox Code Playgroud)

谢谢!

NVR*_*VRM 5

Webkit 浏览器有一个本机 API。

最好是详细检查规格: https: //webaudio.github.io/web-midi-api/

关于 Firefox,这个问题由来已久。看来支持即将到来。

https://bugzilla.mozilla.org/show_bug.cgi?id=836897

我曾经使用 web midi api 做了一些解决方法。它会检测任何通道上的任何 MIDI 旋钮,并更改页面的背景颜色。基于规范提供的脚本示例。

希望您会发现一些有趣的东西。

https://github.com/webdev23/midiKnobControl

公平地说,它是一个非常强大但很难处理的 api。

这需要对 MIDI 协议有很好的了解,熟悉您的 MIDI 设备,并了解最新的 JavaScript。了解网络音频 api 的工作原理也很重要:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API

编辑:Mozilla 就在上面:https ://github.com/mozilla/standards-positions/issues/58