Специфікації MIDI: як працюють Recommended Practices і доповнення
Зображення створено за допомогою генеративного ШІ для 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 документа. Якщо окремої актуальної сторінки не знайдено, це так і зазначено — без припущення, що документ обов’язково скасований.
| № Р.П. | Назва документу | Затверджено 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?» або «який транспорт використовує цей пристрій?». Потім знайдіть відповідний розділ, випишіть ключові терміни й звірте їх із документацією свого обладнання.
Це той самий підхід, що й у довіднику з математики: ви шукаєте правило для конкретної задачі, а не завчаєте весь довідник.
Алгоритм перевірки сумісності
- Визначте функцію, яку хочете використати.
- Знайдіть чинний документ або довідкову таблицю MIDI.
- Подивіться, як ця функція описана стандартом.
- Перевірте implementation chart або документацію конкретного пристрою.
- Лише після цього робіть висновок, що два пристрої повинні працювати однаково.
Мініпрактика
Виберіть одну тему з цієї серії — RPN, Control Change, General MIDI або транспорт. Складіть для неї «маршрут пошуку»: який тип документа ви відкрили б спочатку і що саме перевіряли б у документації пристрою.
Перевірте себе
- Чому напис «MIDI» на пристрої не гарантує підтримку кожного доповнення стандарту?
- Для чого потрібен implementation chart?
- Чим корисна Recommended Practice порівняно з випадковою старою таблицею з Інтернету? Уявіть специфікацію як офіційну інструкцію до настільної гри: якщо виникла суперечка про правило, надійніше відкрити актуальний документ, ніж покладатися на чиюсь пам’ять або випадкову стару таблицю.
Джерела
- The MIDI Association — MIDI Specifications
- The MIDI Association — MIDI 1.0 Core Specifications
- The MIDI Association — MIDI 1.0 Addenda
- The MIDI Association — MIDI 1.0 Universal System Exclusive Messages
- The MIDI Association — MIDI 1.0 Control Change Messages and RPNs
- The MIDI Association — Standard MIDI Files
- The MIDI Association — General MIDI
- The MIDI Association — Downloadable Sounds (DLS)
- The MIDI Association — eXtensible Music Format (XMF)
- The MIDI Association — Mobile MIDI
- The MIDI Association — MIDI Transports
- The MIDI Association — MIDI 2.0 Core Specification Collection