如何指定网络MIDI通道?

时间:2018-11-27 20:00:26

标签: javascript google-chrome web-midi

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

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上发送相同的消息?

1 个答案:

答案 0 :(得分:1)

midi协议的“消息”使用十六进制表示形式。

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

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

因此,如果您想在频道2上发送相同的消息,则必须像这样进行更改:

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

参考:
Essentials of the MIDI protocol