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 — це подія зміни керування.
  • NRPN — це номер незареєстрованого параметра.
  • 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 2023 — Останнє оновлення March 11, 2020