带有 Javascript 的 MIDI 键盘 [关闭]
Posted
技术标签:
【中文标题】带有 Javascript 的 MIDI 键盘 [关闭]【英文标题】:MIDI Keyboard with Javascript [closed] 【发布时间】:2014-07-23 18:54:53 【问题描述】:我只是想弄清楚将 MIDI 键盘连接到网络的整个过程。我在那里找到了一些东西,但它们已经 3 岁左右了,我认为从那时起发生了相当大的变化。
为了有一个开始的地方,我想创建一个网络应用程序,当我按下它时,它会简单地显示我在 MIDI 键盘上敲击的音符。
我找到了这个帖子并让它工作了:How to discover midi keyboard in web midi api?
我想我被困在如何注册笔记上。我对这样的事情是半新的,我能找到的任何答案对我来说都没有多大意义。谢谢。
【问题讨论】:
【参考方案1】:我发现这很有帮助:http://webaudiodemos.appspot.com/monosynth/
我稍微添加了一点以显示正在播放的音符:https://github.com/danhogan/monosynth
【讨论】:
【参考方案2】:您链接到的线程显示了如何获得 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
【讨论】:
以上是关于带有 Javascript 的 MIDI 键盘 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章