在音乐制作中,MIDI 是重要的一环。MIDI 是 Musical Instrument Digital Interface 的缩写,即音乐乐器数字接口。MIDI 技术可以将乐器音符信息以数字形式储存或传送至电脑或各种电子设备,用于创作、录制、演奏、编曲等。在 node.js 开发中,使用 npm 包 node-red-contrib-midi-xtouch 可以帮助实现对外部 MIDI 设备的连接,本文将介绍如何使用该 npm 包。
什么是 node-red-contrib-midi-xtouch?
node-red-contrib-midi-xtouch 是一个专门针对 X-Touch MIDI 控制表的 Node-RED 插件,可以帮助用户快速实现 MIDI 设备与 Node-RED 的连接,开发出独特的 MIDI 控制器。
安装
使用 npm 安装 node-red-contrib-midi-xtouch,运行以下命令:
$ npm install node-red-contrib-midi-xtouch
使用
首先,在 Node-RED 的右侧区域中选择「Manage palette」选项,安装 node-red-contrib-midi-xtouch。
在 Node-RED 的「Nodes」面板中,选择「midi-xtouch」节点,拖动至流程编辑区域中。双击节点,打开节点属性设置页面,在「Input」项中选择外部 MIDI 设备的输入端口,在「Output」项中选择 MIDI 控制器的输出端口。
下面介绍一个示例,使用 node-red-contrib-midi-xtouch 实现对 MIDI 设备的监听和响应。该示例基于 Node-RED 做出了如下设计:
[外部 MIDI 设备] -> [midi-xtouch] -> [Debug node]
在该示例中,外部 MIDI 设备通过 midi-xtouch 连接到了 Node-RED 中,其中 Debug node 会将接收到的 MIDI 数据显示在 Node-RED 的 Debug 选项卡中。
下面是配置 Debug node 的方法:
- 在 Node-RED 选项卡中打开 Debug,打开任一连接的流程编辑器并添加 Debug 节点。
- 图形化编辑器中拖动 Debug 节点到连接的流程中。
- 双击 Debug 节点打开设备配置页面。确保在打开的「Midi xt」选项卡下,数据格式的下拉选项中应该是选择了「raw」的。
实现了以上步骤之后,当 MIDI 设备发送数据时,其数据流就会被传递到 Node-RED 中,并由 Debug node 显示出来。
下面是一个简单的示例代码:
[{"id":"9af580ae.6a5a5","type":"midi-xtouch","z":"b6e57f6c.77ac9","name":"","input":"","output":"midi_out","x":430,"y":140,"wires":[["82902f05.8fb528","9b1d2217.fa3dc"]]},{"id":"82902f05.8fb528","type":"debug","z":"b6e57f6c.77ac9","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":630,"y":160,"wires":[]},{"id":"9b1d2217.fa3dc","type":"function","z":"b6e57f6c.77ac9","name":"","func":"msg.payload=[176,32,46];\nreturn msg;","outputs":1,"noerr":0,"x":290,"y":200,"wires":[["9af580ae.6a5a5"]]}]
总结
本文介绍了如何使用 node-red-contrib-midi-xtouch npm 包,帮助实现外部 MIDI 设备和 Node-RED 的连接。我们还介绍了如何通过示例代码实现监听和响应的简单功能。当然,这并不是听完就能掌握的过程,需要多多理解,多多实践,实践出真知。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005608281e8991b448deb75