带有 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 键盘 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iPad替代midi键盘

Java 从 MIDI 键盘获取输入

Java 从 MIDI 键盘获取输入

使用 MIDI 键盘 OSX 控制 AudioUnit

从 MIDI 键盘录制音频文件并使用 android studio 存储

SONAR8中,多条音频轨选用了不同的音频插件,midi键盘输入的时候,多种音色一起响怎么办?