【问题标题】:Library to Detect Midi-piano Keyboard Events in the Browser with JavaScript使用 JavaScript 在浏览器中检测 Midi-piano 键盘事件的库
【发布时间】:2018-07-08 12:32:43
【问题描述】:

我想将 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);
});

谢谢!

【问题讨论】:

标签: javascript midi web-midi midi-instrument


【解决方案1】:

Webkits 浏览器具有原生 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

【讨论】:

  • 您好,感谢您的信息。要消化的东西很多。我会调查他们:)
  • 有许多库也可以帮助您在 JavaScript 中驯服 MIDI。如果您是音乐家,我建议您查看github.com/cotejp/webmidi。您可以将您的听众设置为简单地对任何“C”音符或类似的东西做出反应,而不是搜索 MIDI 规范以确定哪些消息编号映射到该音符。不要太自我推销,但我在我的网站上列出了很多资源,并提供了有关 JavaScript + MIDI 的讲座,您可能会觉得有帮助:midi.mand.is
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-19
  • 2015-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多