2

如何使用 MIDI Web API 指定发送 MIDI 消息的通道?

官方文档中的这个示例显示了如何在通道 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 上发送相同的消息?

4

1 回答 1

5

midi 协议对其“消息”使用十六进制表示。

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

示例:
0x90 表示Chan 1 (0x9 0 )上的(0x 9 0) 上的注释

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

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

参考:
MIDI 协议要点

于 2018-12-17T15:57:05.327 回答