如何指定 Web MIDI 通道?

How to specify Web MIDI channel?

如何使用 MIDI Web 指定要在哪个通道 上发送 MIDI 消息API?

This example from the official docs 展示了如何在频道 1 上发送消息。但是在代码片段中,我没有找到任何相关的参考。

// This example sends a middle C note on message immediately on MIDI channel 1 
function sendMiddleC( midiAccess, portID ) {
  var noteOnMessage = [0x90, 60, 0x7f];    // note on, middle C, full velocity
  var output = midiAccess.outputs.get(portID);
  output.send( noteOnMessage );  //omitting the timestamp means send immediately.
}

如何在频道 2 上发送相同的消息?

midi 协议使用十六进制表示 "messages"。

前半部分用于命令,后半部分用于指定通道。它们是 16 个可能的通道(MIDI 通道是 0 索引的,如文档中指定的那样)。

示例:
0x90 表示注意 (0x90) 在Chan 1 (0x90 )

所以,如果你想在频道 2 上发送相同的消息,你必须像这样更改它:

var noteOnMessage = [0x91, 60, 0x7f];

参考:
Essentials of the MIDI protocol