ONSONG CHARTS AVAILABLE NOW! LEARN MORE HERE

Руководство пользователя

Синтаксис MIDI

OnSong использует синтаксис на основе текста для выражения команд MIDI. Хотя вы можете использовать События MIDI в Редакторе метаданных, вы также можете выражать команды MIDI в тексте.

Разделённые значения

Прежде всего, несколько команд MIDI можно разделить различными символами, включая: символ табуляции, запятую, точку с запятой, вертикальную линию или новую строку. Запятая — наиболее распространённый разделитель. Например:

1.2:0@0, PC1.2:3@0, N67@1, START, SS8

Канал

Каждая запись может содержать символ @. Числовое значение после символа — это канал, на который должна быть отправлена команда. Поскольку каналы в MIDI начинаются с нуля, первый канал будет нулём (0), второй канал — единицей (1) и так далее.

Если символ @ не используется, команда отправляется или принимается на всех каналах.

Префиксы

Каждая запись в списке содержит префикс. Этот префикс определяет тип отправляемой команды MIDI. К ним относятся:

  • PC или без префикса — событие смены программы.
  • N — событие ноты
  • CC — событие изменения контроллера.
  • SS — событие выбора песни.
  • START — команда запуска.
  • STOP — команда остановки.
  • CONTINUE — команда продолжения.
  • WAIT — ожидание определённого времени перед отправкой дополнительных событий.
  • F0 — префикс сообщения SysEx.
  • @ — префикс глобального тега MIDI.

Значения

Значение команды появляется непосредственно перед символом @ или в конце записи, если @ не указан. Это значение смены программы, изменения контроллера, ноты или выбора песни в зависимости от префикса. В случае записей SysEx шестнадцатеричное значение SysEx предоставляется непосредственно после префикса F0, который используется в качестве заголовка для всех команд SysEx.

Подзначения

В некоторых случаях дополнительная информация передаётся в команде MIDI как подзначения. Например, MSB и LSB, а также скорость значений контроля могут быть отправлены таким образом. Это выражается путём добавления двоеточия в часть значения. Подзначение имеет разный контекст в зависимости от типа отправляемой команды MIDI:

  • Смена программы имеет подзначения, выравненные с MSB/LSB смены программы. Эти значения разделены точкой, причём MSB слева, а LSB справа.
  • Изменение контроллера имеет значение контроллера, установленное с помощью этого. Число может быть от 0 до 127. Если опущено, предполагается значение 127. Вы также можете разделить несколько значений дефисом, чтобы переключаться между значениями. Например, 127-0 будет фиксировать значение 127 между состояниями включения и выключения.
  • Событие ноты имеет подзначение, связанное со скоростью воспроизведения ноты. Это может быть установлено на числовое значение от 0 до 127. Вы можете переключаться между несколькими скоростями ноты, разделяя их дефисом.

Примеры

Начнём с простой смены программы. В этом сценарии мы используем смену программы 8, которая также отправляет MSB 4 и LSB 2 на канал 1. Пример начинается с наиболее сложного варианта и убирает выбор банка и канал, чтобы стать более общим:

PC3.1:7@0, 3.1:7@0, 3:7@0, 3:7, 7@0, 7

Изменения контроллера похожи, за исключением того, что левая часть синтаксиса — это номер изменения контроллера, а правая часть — необязательное значение. Если значение не указано, вместо этого отправляется 127. Мы отправим изменение контроллера 106 со значением 64 на канал 3.

CC105:63@2, CC105:63. CC105@2, CC105

Теперь давайте посмотрим на события ноты. Мы хотим воспроизвести C4 на канале 8 со скоростью 75%, мы введём следующее, потому что OnSong начинает отсчёт MIDI C0 с 0 в шкале нот MIDI:

N60:95@7, N60@7, N60:95, N60

Опять же, важно помнить, что по мере удаления значений из синтаксиса MIDI, оператор MIDI становится более широким и менее конкретным. Например, последняя версия события ноты отправит C4 со скоростью 100% на всех каналах.

Мы также можем задержать MIDI, добавив команду WAIT. Следующее приведёт к задержке MIDI на 2 секунды, а также на 500 мс (половина секунды). Вы можете указать время в секундах от 1 до 10 или в миллисекундах.

WAIT2, WAIT500

И наконец, мы можем ссылаться на глобальные значения MIDI — это предварительно сконфигурированные списки событий MIDI, на которые можно ссылаться. Если у вас есть глобальное значение MIDI с «on» в качестве тега (без кавычек), то вы можете ссылаться на это глобальное значение следующим образом:

@on
OnSong 1.999 — Последнее обновление August 29, 2019