问题标签 [web-midi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2742 浏览

javascript - 现场 MIDI 输入到 JSON?

我想知道是否有任何库可以从 USB 设备读取实时 MIDI 输入并将该数据转换为像 JSON 这样的网络友好格式。我遇到了一些可以读取 MIDI 文件的文件,但这需要直接来自 USB 设备。不需要产生声音,只需要来自 MIDI 设备的数据。最终目标是通过 WebSockets 传输实时 MIDI 数据。我遇到过 Pygame,但我不确定这是否能解决问题。有什么建议么?

0 投票
2 回答
416 浏览

java - 通过网络访问 USB Midi 设备

我试图弄清楚是否可以通过网络访问插入到客户端 USB 端口的 Midi 设备(如钢琴/键盘或电子鼓组)。

显然,浏览器安全模型仅使用 javascript 就不可能做到这一点,虽然看起来新兴的 html5 设备标准可能会在未来有所帮助,但显然还没有。

那么 flash、silverlight 或 java 呢?我发现的最接近的是,如果应用程序受信任,silverlight 似乎能够做到这一点,但这并不是一件容易说服用户去做的事情。

有什么选择吗?

0 投票
3 回答
282 浏览

windows - 网络 MIDI 编程

我正在尝试构建一个允许输入电吉他或其他 MIDI 输入的网络程序。我的问题是,“这可能吗”,您更喜欢哪种编程语言?预先感谢

0 投票
5 回答
2346 浏览

audio - 2013 年带有 Web MIDI API 的浏览器?

有人知道是否有支持 Web MIDI 的浏览器吗?...我已经尝试了http://webaudio.github.io/web-midi-api/上的示例,但它们向我抛出了一个错误,即我的导航器没有这样的属性。我正在研究 google-chrome 和 firefox。如果没有支持 MIDI 的浏览器,你估计我们什么时候会有,也许在未来 2 年内?

0 投票
1 回答
1899 浏览

javascript - 检测 Web MIDI API 中是否连接了 MIDI 接口

我正在 Chrome/OS X 中试验 Web Midi API。到目前为止我得到了很好的结果,但我想知道:

有没有办法在应用程序运行时检测 MIDI 接口是否连接/断开?

它现在的工作方式是重新启动浏览器,让应用程序知道接口是否存在......

似乎有一个 MIDIAc​​cess onconnect / ondisconnect 事件,但我不知道该怎么做才能让它们着火。这在 Chrome (Canary) 中实现了吗?

0 投票
2 回答
2695 浏览

javascript - Chrome Canary 中未实现 Web MIDI API?

自 2013 年初以来,Chrome Canary 已添加对Web MIDI API的支持。

那么,为什么当我requestMIDIAccess在 JavaScript 控制台中键入并按 Enter 键时,会出现“ReferenceError: requestMIDIAc​​cess is not defined”?

根据官方文档,它应该是一个定义的函数。

是什么赋予了?

0 投票
2 回答
1322 浏览

javascript - 你如何转置midi文件?

我正在使用这个 MIDI.js 库:https ://github.com/mudcube/MIDI.js

要加载插件并播放 midi 文件,我这样做:

};

我的问题是,在播放之前有没有转置这个midi文件?基本上我想解析一个midi文件(.mid文件或base64格式),将所有音符更改+1,然后将其发送给播放器。有什么方法可以在javascript中做到这一点?

0 投票
1 回答
1865 浏览

macos - 如何在 web midi api 中发现 midi 键盘?

参考:2013 年带有 Web MIDI API 的浏览器?

我目前在 OS 10.9.2 上运行 Chrome 34.0.1847.116 并尝试使用 Web Midi API。启用 chrome://flags/#enable-web-midi 后,我可以通过将以下代码从http://www.w3.org/TR/webmidi/粘贴到 DevTools 控制台来获取 midiAccess 对象。

当我查询 midi.inputs() 和 midi.outputs() 时,返回的列表仅包含 IAC 总线设备。我的 MIDI 键盘(与 Turtle Beach USB MIDI 适配器连接)不显示。在尝试诊断问题时,到目前为止,我发现了以下内容:

  • 该适配器在 OS X 的音频/Midi 设置中可见,并且键盘可以与 Logic Pro 以及自制的 CoreMidi 代码一起正常工作。
  • http://webaudiodemos.appspot.com/monosynth/index.html上的网络合成器示例也无法找到键盘,并且在按下键时不会发出声音。
  • 当我点击它的虚拟键时, http ://djazz.se/lab/synth/ 上的网络合成器示例确实会发出声音。DevTools 显示它正在使用 IAC 总线设备。

我需要做些什么来帮助 Chrome 查找非 IAC MIDI 设备?

0 投票
2 回答
331 浏览

javascript - Web MIDI 回调函数仅在登录到控制台时有效

我正在构建一个实验性的 Web MIDI 应用程序,它以图形方式向浏览器显示您在外部 MIDI 键盘上演奏的音符。我遇到了一个奇怪的错误,其中以下回调仅在我将其记录到控制台时才有效:

我发现我的代码有效,但仅在console.log( selected_input );包含该行时才有效。

运行我的小提琴最容易理解我的意思:http: //jsfiddle.net/8sSMe/1/

如果您插入了外部 MIDI 键盘,您应该会看到按键在屏幕上亮起,模仿您在键盘上弹奏的内容。请记住,您可能需要重新启动 chrome 才能拾取键盘,并且您可能需要从数组中为selected_input. 您可能还需要通过转到 chrome://flags/#enable-web-midi 在您的 chrome 中打开 Web MIDI(我也只对让它在 Chrome 上工作感兴趣)。一旦您看到它正在工作,请在console.log( selected_input );注释掉的情况下尝试它,它会奇怪地停止工作。

有任何想法吗?

0 投票
2 回答
890 浏览

javascript - 带有 Javascript 的 MIDI 键盘

我只是想弄清楚将 MIDI 键盘连接到网络的整个过程。我在那里找到了一些东西,但它们已经 3 岁左右了,我认为从那以后发生了相当大的变化。

为了有一个开始的地方,我想创建一个 Web 应用程序,当我按下它时,它只显示我在 MIDI 键盘上敲击的音符。

我找到了这个线程并让它工作和所有:如何在 web midi api 中发现 midi 键盘?

我想我被困在如何注册笔记上。我对这样的事情是半新的,我能找到的任何答案对我来说都没有多大意义。谢谢。