Специфікації MIDI: як працюють Recommended Practices і доповнення

Карта документів MIDI: core specifications, addenda, transports, General MIDI та reference tables.
Карта документів MIDI: core specifications, addenda, transports, General MIDI та reference tables.
Зображення створено за допомогою генеративного ШІ для MIDITAUR. Концепція, композиція та текстове наповнення — MIDITAUR

Зміст публікації

MIDI 1.0 не застиг у 1983 році. Після базової специфікації з’являлися додаткові специфікації, Recommended Practices, addenda та окремі транспортні стандарти. Саме тому старий список «усіх рекомендованих практик» швидко застаріває.

Що таке Recommended Practice

Recommended Practice — це погоджений документ, який уточнює поведінку MIDI-систем або описує сумісний спосіб використання певної функції. Історично до таких документів належали, наприклад, Standard MIDI Files, General MIDI, MIDI Time Code, MIDI Machine Control та численні уточнення контролерів.

Історичний список Recommended Practices

Нижче збережено перелік із первинної версії матеріалу як історичний зріз, але тепер кожен рядок має окрему колонку зі станом після звірки з публічним каталогом MIDI.org станом на 8 жовтня 2026 року. Історичні номери, назви та дати MMA/AMEI не переписано. Позначка «чинний» тут означає, що документ або його функція прямо присутні в поточному офіційному каталозі/довіднику; «включено» означає, що старий RP увійшов до новішого consolidated/core/addenda документа. Якщо окремої актуальної сторінки не знайдено, це так і зазначено — без припущення, що документ обов’язково скасований.

Recommended Practices MIDI
Позначення Recommended Practices у первинному матеріалі.
№ Р.П. Назва документу Затверджено MMA Затверджено AMEI Статус після звірки з MIDI.org (08.10.2026)
RP-001 Standard MIDI Files 31.05.1991 25.06.1991 Чинний у поточному каталозі: Standard MIDI Files має окрему офіційну сторінку.
RP-002 MIDI SHOW CONTROL (MSC) 1.0 19.01.1991 25.07.1991 Чинний у консолідованому MIDI Show Control; поточний документ об’єднує RP-002 і RP-014.
RP-003 General MIDI System Level 1 05.09.1991 08.10.1991 GM1 збережено й досі використовується, але MIDI.org прямо зазначає: з 1999 року його перевершує General MIDI 2.
RP-004 MIDI Time Code 17.06.1991 27.05.1991 Чинний у поточному MIDI Time Code; сучасний файл об’єднує RP-004 і RP-008.
RP-005 Notation Information : Bar Marker 19.01.1991 05.06.1991 Функція Bar Number досі визначена у поточній таблиці Universal SysEx як Notation Information.
RP-006 Notation Information : Time Signature 15.05.1991 05.06.1991 Time Signature досі визначена у поточній таблиці Universal SysEx як Notation Information.
RP-007 Master Volume & Balance 15.05.1991 05.06.1991 Master Volume і Master Balance досі визначені у поточній таблиці Universal SysEx.
RP-008 Real-Time MTC Cueing 19.01.1991 26.09.1991 Чинний у поточному MIDI Time Code; сучасний файл об’єднує RP-004 і RP-008.
RP-009 File Dump 27.11.1991 27.12.1991 File Dump досі визначений у поточній таблиці Universal SysEx.
RP-010 Sound Controllers – Instrument Defaults 11.11.1991 27.12.1991 Історичний RP; пізніші revised defaults представлені через RP-021. Окрему сучасну сторінку RP-010 у публічному каталозі не знайдено.
RP-011 (Sound Controllers – Multi Effect Defaults) Не затверджено Не затверджено Не затверджено в первинному списку; не трактувати як чинну Recommended Practice.
RP-012 MIDI Tuning Standard 11.11.1991 27.12.1991 MIDI Tuning Standard залишається частиною поточного MIDI 1.0; є також оновлена специфікація MIDI Tuning.
RP-013 MIDI Machine Control 27.12.1991 14.01.1992 Чинний: MIDI Machine Control має окрему офіційну сторінку та файл RP-013.
RP-014 MIDI Show Control 1.1     Чинний у консолідованому MIDI Show Control; поточний документ об’єднує RP-002 і RP-014.
RP-015 Response to Reset ALL Controller 12.05.1999 07.05.1999 Актуальна поведінка Reset All Controllers посилається на RP-015 у поточній таблиці Control Change.
RP-016 Letter of Agreement Downloadable Sounds(DLS) Level 1 14.11.1997 03.10.1997 DLS Level 1 досі опублікований у поточному розділі DLS/File Formats.
RP-017 SMF Lyric Meta Event Definition 14.11.1997 03.10.1997 SMF Lyric Meta Event досі опублікований у поточному розділі Standard MIDI Files.
RP-018 Response to Data Increment/Decrement Controller 14.11.1997 03.10.1997 Data Increment/Decrement досі посилається на RP-018 у поточній таблиці Control Change.
RP-019 SMF Device/Program Meta-events 14.07.2001 20.08.2001 SMF Device/Program Meta Events досі опубліковані у поточному розділі Standard MIDI Files.
RP-020 Defaults forScale/Octave Tuning 12.05.1999 07.05.1999 Включено до актуальної MIDI Tuning Updated Specification разом із Scale/Octave extensions/defaults.
RP-021 Sound Controllers – Revised Defaults 12.05.1999 07.05.1999 Чинний addendum: Revised Sound Controller Defaults; поточна CC-таблиця прямо посилається на RP-021.
RP-022 Channel Fine/Coarse Tuning (Redefinition of RPN 01-02) 12.05.1999 07.05.1999 Чинне уточнення: поточна таблиця RPN позначає Fine/Coarse Tuning з посиланням на RP-022.
RP-023 CC91/93 Defaults (Redefinition) 12.05.1999 07.05.1999 Чинне уточнення: поточна CC-таблиця позначає CC91/CC93 з посиланням на RP-023.
RP-024 General MIDI Level 2(J) General MIDI Level 2 12.05.1999 07.05.1999 Чинний: General MIDI 2 має окрему офіційну сторінку.
RP-025 Downloadable Sounds Level 2 12.05.1999 07.05.1999 DLS Level 2 досі опублікований у поточному розділі DLS/File Formats.
RP-025 /Amd1 Letter of Agreement Downloadable Sounds Level 2.1 20.07.2001 05.07.2001 Історична amendment-редакція; поточний DLS Level 2 публікується як консолідований документ із пізнішими amendments.
RP-026 SMF Language and Display extensions SMF with Lyrics Application Guideline / Data Creation Guideline / Letter of Agreement 06.06.1999 07.05.1999 SMF Language and Display Extensions досі опубліковано у поточному розділі Standard MIDI Files.
RP-027 MIDI Media Adaptation Layer for IEEE1394 20.07.2001 05.07.2001 Офіційно зберігається у поточному розділі MIDI Transports як IEEE-1394/FireWire MIDI; це legacy transport, не основний сучасний вибір.
RP-028 MIDI Implementation Chart Version 2 MIDI Implementation Chart Version 2 Instructions 19.03.2007 29.03.2007 Чинний: MIDI Implementation Chart Version 2 має окрему офіційну сторінку; використання V2 chart є optional.
RP-029 Bundling SMF and DLS data in an “RMID” File 20.07.2001 05.07.2001 Історичний RMID RP; окремої сторінки в поточному публічному каталозі Specs/File Formats не знайдено. Для нового контенту не покладатися на цей рядок без окремої перевірки.
RP-030 Specification for XMF Meta File Format Lettear of Agreement 15.08.2001 10.10.2001 Включено до поточного консолідованого XMF документа.
RP-031 Type 0 and Type 1 XMF Files (SMF+DLS) 15.08.2001 10.09.2001 Включено до поточного консолідованого XMF документа.
RP-032 SMF Meta Event for XMF Patch Type Prefix 15.08.2001 10.09.2001 Включено до поточного консолідованого XMF документа; XMF Patch Type Prefix також згадується в актуальному SMF-розділі.
RP-033 General MIDI Lite Specification 25.07.2001 05.07.2001 General MIDI Lite досі представлений у поточному розділі General MIDI.
RP-034 Scalable Polyphony MIDI Device Scalable Polyphony MIDI v1.0 SP-MIDI Specification and Device Profiles v1.0a 12.03.2002 16.04.2002 SP-MIDI досі представлений у поточному розділі Mobile MIDI.
RP-035 SP-MIDI Device 5-24 Note Profile for 3GPP Scalable Polyphony MIDI Device SP-MIDI Specification and Device Profiles v1.0a 12.03.2002 16.04.2002 Належить до SP-MIDI device profiles; сучасний публічний каталог зберігає SP-MIDI, але окрему сторінку саме RP-035 під час звірки не знайдено.
RP-036 Default Pan Formula 23.05.2002 01.12.2002 Чинний addendum: Default Pan Formula має окрему офіційну сторінку.
RP-037 GM2 MIDI Tuning MIDI 2 24.08.2002 01.12.2002 Пов’язаний із GM2/MIDI Tuning; актуальні GM2 і MIDI Tuning документи збережені, але окрему публічну сторінку RP-037 не знайдено.
RP-038 MIDI Names, Device Types, & Events in XML 2003 2003 Історичний XML RP; окрему актуальну сторінку в поточному публічному каталозі MIDI.org під час звірки не знайдено.
RP-039 XMF Meta File Format Updates 1.01 10.03.2003 17.06.2003 Включено до поточного консолідованого XMF документа.
RP-040 XMF Compression Definition for ZLIB 10.03.2003 17.06.2003 Включено до поточного консолідованого XMF документа.
RP-041 Mobile DLS (DLS Format for Mobile Applications) 03.02.2004 18.02.2004 Mobile DLS досі має окрему офіційну сторінку в Mobile MIDI/File Formats.
RP-042 Mobile XMF Content Format Specification 03.02.2004 18.02.2004 Mobile XMF збережено у поточному XMF/Mobile MIDI контексті; консолідований XMF документ перелічує RP-042a Type 2 XMF.
RP-043 XMF Meta File Format 2.00 03.02.2004 18.02.2004 Включено до поточного консолідованого XMF документа.
RP-044 GM2 Mod Depth Range Response 20.03.2007 29.03.2007 Функція Modulation Depth Range досі визначена в General MIDI 2 і поточній RPN-таблиці; окремий RP-044 фактично поглинено сучасним GM2-контекстом.
RP-045 Audio Clips for Mobile XMF 19.03.2007 29.03.2007 Включено до поточного консолідованого XMF документа.
RP-046 Mobile Phone Control Universal Real Time Specification for Mobile Phone Control 10.07.2007 10.07.2007 Mobile Phone Control message досі представлений у поточному Mobile MIDI та Universal SysEx reference.
RP-047 ID3 Metadata for XMF Files 19.03.2007 29.03.2007 Включено до поточного консолідованого XMF документа.
RP-048 Letter of Agreement for Recommend Practice Mobile Musical Instrument Specification 11.07.2007 11.07.2007 Mobile Musical Instrument specification досі має окрему офіційну сторінку.
RP-048 /amd1 Letter of Agreement for Recommend Practice Mobile Musical Instrument Specification v1.1 Mobile Musical Instrument Specification v1.1(Japanese) 07.02.2011 07.03.2011 Поточна сторінка Mobile Musical Instrument публікує файл amendment 1 / v1.1; історичний amendment збережений у чинному каталозі.
RP-049 Three Dimensional Sound Controllers 17.08.2009 06.11.2009 Чинний: поточна RPN-таблиця прямо посилається на RP-049 Three Dimensional Sound Controllers.
RP-050 Letter of Agreement for Recommend Practice MIDI Visual Control Specification MIDI Visual Control Specification (Japanese) 14.02.2011 07.03.2011 Чинний addendum: MIDI Visual Control має окрему офіційну сторінку й присутній у поточній Universal SysEx reference.
RP-051 International Standard MIDI Code 14.02.2011 07.03.2011 Історичний RP; окрему актуальну публічну сторінку International Standard MIDI Code під час звірки не знайдено. Не оголошуємо скасованим без додаткового джерела.
RP-052 Specification for MIDI over Bluetooth Low Energy (BLE-MIDI) 03.12.2015 15.01.2016 Чинний транспорт: BLE-MIDI має окрему офіційну сторінку в поточному MIDI Transports.

Таблиця одночасно показує історію й актуальний контекст: частина ранніх RP досі публікується окремо, частина увійшла до сучасніших документів, а деякі залишаються лише історичними орієнтирами в публічному каталозі. Для розробки або перевірки сумісності використовуйте саме актуальну сторінку відповідної групи специфікацій, а не лише старий номер RP.

Чому не варто орієнтуватися на один список номерів

Екосистема MIDI продовжувала розвиватися після редакції MIDI 1.0 1996 року. MIDI Association окремо публікує чинні core specifications, addenda, transports, file formats і reference tables. Для практичної роботи важливіше знайти актуальну специфікацію потрібної функції, ніж орієнтуватися лише на номер RP зі старої таблиці.

Які групи документів корисно знати

  • MIDI 1.0 Core Specifications — базовий формат повідомлень і класичний 5-pin DIN transport.
  • MIDI 1.0 Addenda — доповнення та уточнення, схвалені після основної редакції.
  • MIDI Transports — DIN, TRS, BLE-MIDI, RTP-MIDI та інші способи перенесення MIDI.
  • General MIDI — стандартизовані можливості та набори звуків GM1/GM2.
  • File Formats — Standard MIDI Files та споріднені формати.
  • Reference Tables — швидкі таблиці повідомлень, Control Change та інших номерів.

Практичне правило

Якщо ви пишете програму або налаштовуєте обладнання, спочатку визначте конкретну функцію: наприклад, RPN, MIDI Time Code або BLE-MIDI. Потім знайдіть її чинний документ на MIDI.org і звірте implementation chart конкретного пристрою. Підтримка «MIDI» не означає автоматичну підтримку кожного доповнення стандарту.

Навіщо потрібно знати про специфікації

Специфікація — це не текст, який потрібно вивчити напам’ять. Для практика це точка перевірки, коли потрібно дізнатися, що означає повідомлення, параметр або спосіб підключення. Recommended Practice допомагає описати узгоджений спосіб використання певної функції, але різні пристрої можуть підтримувати різні частини MIDI-екосистеми.

Тому корисна навичка — не «пам’ятати всі номери», а вміти знайти правильний документ і перевірити реалізацію конкретного пристрою. Саме тут стає важливим implementation chart.

Як читати технічний документ?

Не починайте з першої сторінки й не намагайтеся прочитати все. Спочатку сформулюйте одне конкретне запитання: наприклад, «який документ описує RPN?» або «який транспорт використовує цей пристрій?». Потім знайдіть відповідний розділ, випишіть ключові терміни й звірте їх із документацією свого обладнання.

Це той самий підхід, що й у довіднику з математики: ви шукаєте правило для конкретної задачі, а не завчаєте весь довідник.

Алгоритм перевірки сумісності

  1. Визначте функцію, яку хочете використати.
  2. Знайдіть чинний документ або довідкову таблицю MIDI.
  3. Подивіться, як ця функція описана стандартом.
  4. Перевірте implementation chart або документацію конкретного пристрою.
  5. Лише після цього робіть висновок, що два пристрої повинні працювати однаково.

Мініпрактика

Виберіть одну тему з цієї серії — RPN, Control Change, General MIDI або транспорт. Складіть для неї «маршрут пошуку»: який тип документа ви відкрили б спочатку і що саме перевіряли б у документації пристрою.

Перевірте себе

  • Чому напис «MIDI» на пристрої не гарантує підтримку кожного доповнення стандарту?
  • Для чого потрібен implementation chart?
  • Чим корисна Recommended Practice порівняно з випадковою старою таблицею з Інтернету? Уявіть специфікацію як офіційну інструкцію до настільної гри: якщо виникла суперечка про правило, надійніше відкрити актуальний документ, ніж покладатися на чиюсь пам’ять або випадкову стару таблицю.

Джерела