General MIDI Level 1: що стандартизує GM1
Зображення створено за допомогою генеративного ШІ для MIDITAUR. Концепція, композиція та текстове наповнення — MIDITAUR
Зміст публікації
General MIDI System Level 1, або GM1, створили для більш передбачуваного відтворення MIDI-файлів на різних сумісних синтезаторах. До GM номер програми сам по собі не гарантував, що на іншому пристрої під цим номером буде схожий тип інструмента.
Що стандартизує GM1

Ударна партія в GM використовує MIDI-канал 10, де різні номери нот вибирають різні ударні звуки замість висоти одного мелодичного інструмента.
Мінімальні можливості GM1-сумісного генератора
Офіційна GM1 specification визначає мінімальну конфігурацію sound generator. Ключові вимоги з первинного матеріалу: підтримка всіх 16 MIDI-каналів; percussion на channel 10; щонайменше 128 melodic presets відповідно до GM Sound Set; щонайменше 47 percussion sounds відповідно до GM Percussion Map; а також мінімальна поліфонія — або 24 динамічно розподілювані голоси для melody/percussion разом, або 16 для melody плюс 8 для percussion.
Це мінімум сумісності, а не межа можливостей сучасного синтезатора.
Чого GM1 не гарантує
GM не визначає конкретний алгоритм синтезу чи семпли. Тому «Acoustic Grand Piano» на двох GM-сумісних пристроях може звучати помітно по-різному. Стандарт гарантує насамперед роль і категорію тембру, а не однаковий аудіорезультат.
128 програм GM1 за групами
GM1 стандартизує 128 мелодичних program numbers. У довідкових таблицях для людей їх зазвичай показують як 1–128, тоді як у самих MIDI Program Change даних використовуються значення 0–127. Нижче — групування інструментів із первинного матеріалу, приведене до чистої data table.
| Prog # | Group | Українською | Prog # | Group | Українською |
|---|---|---|---|---|---|
| 1-8 | Piano | Фортепіано | 65-72 | Reed | Дудки |
| 9-16 | Chromatic Percussion | Хроматична перкусія | 73-80 | Pipe | Свист |
| 17-24 | Organs | Органи (акордеон і гармоніка) | 81-88 | Synth Lead | Сольні синтетичні тембри |
| 25-32 | Guitar | Гітара | 89-96 | Synth Pads | Синтезовані підкладки |
| 33-40 | Bass | Бас | 97-104 | Synth Effects | Синтезовані ефекти |
| 41-48 | Strings | Струнні (литаври) | 105-112 | Ethnic | Етнічні інструменти |
| 49-56 | Ensemble | Ансамбль | 113-120 | Percussive | Не хроматична перкусія |
| 57-64 | Brass | Мідні духові | 121-128 | Sound Effects | Звукові ефекти |
Ця таблиця задає категорії й номери, але не змушує різні синтезатори використовувати однакові семпли або однаковий алгоритм синтезу. Тому два GM1-сумісні пристрої можуть відрізнятися за характером звучання.
Нумерація програм
У таблицях для людей зазвичай використовують 1–128. Значення даних Program Change у MIDI 1.0 — 0–127. Це одна з найчастіших причин помилки на одиницю під час програмування.
Базові Control Change у GM1
Серед повідомлень, які важливі для сумісного GM1-відтворення, первинний матеріал окремо виділяв такі контролери. Їхні номери й назви збігаються з актуальною MIDI 1.0 Control Change reference table.
| Controller # | Назва | Що робить |
|---|---|---|
| 1 | Modulation | Глибина частотної модуляції |
| 7 | Volume | Гучність звучання в каналі |
| 10 | Pan | Панорама |
| 11 | Expression | Експресія – виразність. |
| 64 | Sustain | Тривале звучання взятої ноти |
| 121 | Reset All Controllers | Скинути всі контролери певного каналу до початкового стану |
| 123 | All Notes Off | Вимкнути всі ноти, які звучать на каналі |
Controller 121 і 123 належать до Channel Mode messages: вони використовують простір Control Change, але керують станом каналу, а не звичайним безперервним параметром.
GM1 і GM2
General MIDI 2, затверджений у 1999 році, розширив можливості GM1, але GM1 не зник. Старі й нові .mid файли досі часто орієнтуються саме на базовий GM sound set.
Базові RPN у GM1
Registered Parameter Number (RPN) дає змогу обирати стандартизований параметр, а потім задавати його значення через Data Entry. Для базової GM1-сумісності особливо важливі такі параметри:
| RPN | Назва | Що робить |
|---|---|---|
| 0 | Pitch Bend Sensitivity | Чутливість зміни висоти тону |
| 1 | Fine Tuning | Тонке підстроювання |
| 2 | Coarse Tuning | Грубе підстроювання |
В актуальній MIDI 1.0 reference table ці функції зберігаються як RPN 0 — Pitch Bend Sensitivity, RPN 1 — Channel Fine Tuning і RPN 2 — Channel Coarse Tuning.
Які повідомлення важливо розрізняти
GM System On — системне SysEx-повідомлення, яке переводить сумісний пристрій у GM1-режим. Окремо існують channel messages, наприклад Aftertouch і Pitch Bend, що керують виконанням уже під час гри. Це різні рівні MIDI: GM System On задає режим системи, а channel messages змінюють параметри конкретного MIDI-каналу.
Пояснення простими словами
General MIDI Level 1 можна уявити як спільний набір правил для музичних пристроїв. Без такого набору один синтезатор міг би трактувати номер програми як фортепіано, а інший — як зовсім інший інструмент. GM1 зменшує таку плутанину: він задає спільну структуру тембрів і базові вимоги до відтворення MIDI-файлів.
Важливо розрізняти дві речі: однакова команда і однаковий звук. GM1 допомагає двом пристроям однаково зрозуміти призначення команди, але не змушує їх мати однакові семпли, акустику чи алгоритми синтезу. Тому композиція зберігає загальну інструментовку, хоча тембр може відрізнятися.
Як це побачити на прикладі
Уявіть MIDI-файл, у якому одна партія повинна виконуватися фортепіано, а інша — басом. GM1 потрібен для того, щоб сумісний програвач не переплутав ці ролі. Це схоже на шкільний розклад: номер кабінету допомагає знайти потрібне місце, але сам кабінет у різних школах може виглядати по-різному.
Окремо стежте за нумерацією Program Change. У довідковій таблиці люди часто бачать 1–128, тоді як у самих MIDI-даних використовуються значення 0–127. Якщо механічно перенести число з одного представлення в інше, можна отримати зміщення на одну позицію.
Мініпрактика
Складіть коротку таблицю з трьох рядків: «що задає GM1», «чого GM1 не гарантує», «де можлива помилка на одиницю». Заповніть її без підглядання, а потім звіртеся з матеріалом.
Перевірте себе
- Навіщо взагалі потрібен GM1?
- Чому два GM-сумісні пристрої можуть звучати не однаково?
- Яку помилку легко зробити під час переходу між нумерацією 1–128 і 0–127?
- Чому поява GM2 не робить GM1 непотрібним для старіших або базових MIDI-файлів?