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 — це команда продовження.
  • F0 передує повідомленню SysEx.
  • WAIT реалізує затримку.

Значення

Значення команди з'являється прямо перед символом @ або в кінці запису, якщо @ не вказано. Це значення зміни програми, зміни контролера, ноти або вибору пісні на основі префікса. У випадку записів SysEx, шістнадцяткове значення SysEx надається безпосередньо після префікса F0, який використовується як заголовок для всіх команд SysEx.

Підзначення

У деяких випадках додаткова інформація передається в команді MIDI як підзначення. Наприклад, MSB та LSB, а також швидкість значень контролю можуть бути надіслані таким чином. Це виражається додаванням двокрапки в частину значення. Підзначення має різний контекст залежно від типу надісланої команди MIDI:

  • Зміна програми має підзначення, вирівняні з MSB/LSB зміни програми. Ці значення розділені крапкою з MSB ліворуч і LSB праворуч.
  • Зміна контролера має значення контролера, встановлене за допомогою цього. Число може бути від 0 до 127. Якщо опущено, передбачається значення 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. Ми надішлемо Change Control 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 з числом. Число може бути цілим числом. Ви можете визначити секунди очікування як 1-10 або визначити як мілісекунди. Далі показано, як чекати 2 секунди, 10 секунд і половину секунди.

WAIT2, WAIT10, WAIT500
OnSong 2023 — Останнє оновлення January 17, 2018