Как указать веб-MIDI-канал? - PullRequest
       9

Как указать веб-MIDI-канал?

0 голосов
/ 27 ноября 2018

Как мне указать, на какой канал отправлять миди-сообщение, с помощью MIDI Web API?

В этом примере из официальных документов показано, как отправлятьсообщение на канале 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 голосов
/ 17 декабря 2018

Midi-протокол использует шестнадцатеричное представление для своих «сообщений».

Первая половина посвящена команде, а вторая часть используется для указания канала.Это 16 возможных каналов (MIDI-каналы имеют индекс 0, как указано в документации).

Пример:
0x90 означает Примечание (0x 9 0) on Chan 1 (0x9 0 )

Итак, если вы хотите отправить одно и то же сообщение по каналу 2, вы должны изменить его следующим образом:

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

Справка:
Основы протокола MIDI

...