Аудіо MIDI (.mid)
Асоціація СтандартЦифровий інтерфейс музичних інструментів (MIDI): це стандарт символічного представлення музики, який фіксує події виконання на інструментах, а не акустичні звукові хвилі.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли MID, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли MID, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
4D 54 68 64ПОДАННЯ В ASCII: MThd
Стандартизація: Асоціація виробників MIDI (MMA) / AMEI
Технічні характеристики
| Архітектура контейнера | Ієрархія блоків Standard MIDI File (SMF) (заголовок MThd + блоки доріжок MTrk) |
| Стиснення | Нестиснені символічні події виконання (Note On, Note Off, Velocity, Pitch Bend) |
| Порядок байтів (Endianness) | Порядок байтів від старшого до молодшого (Big-Endian) |
| Колірні простори | Н/Д (Потік символічних інструкцій нот) |
| Канали та структура | 16 логічних каналів MIDI на один трек |
| Максимальні розміри | Змінна роздільна здатність дельта-часу (тіки на чверть ноти, до 65 535) |
| Прозорість | Чиста математична послідовність подій; аудіосигнал у вигляді хвилі не зберігається |
| Потокове та прогресивне завантаження | Послідовний потік подій; його можна розбирати й передавати по одній ноті |
Технічна матриця порівняння: MID проти конкурентів
| Технічний атрибут | MID (Поточний) | WAV | MP3 | MOD |
|---|---|---|---|---|
| Збережений вміст | Інструкції подій (нота, висота тону, сила натискання) | Нестиснена PCM-хвиля | Стиснена хвиля з втратами | Інструкції треків + вбудовані семпли аудіоінструментів |
| Середній розмір файлу | 10 КБ: 100 КБ | 30 МБ: 50 МБ | 3 МБ: 5 МБ | 500 КБ: 2 МБ |
| Стабільність звучання | Кардинально відрізняється залежно від синтезатора/звукового банку користувача | Дані MIDI-подій можна переносити; звук під час відтворення залежить від синтезатора або банку звуків. | Дані MIDI-подій можна переносити; звук під час відтворення залежить від синтезатора або банку звуків. | |
| Редагування аранжування | Дуже просте редагування нотного запису по одній ноті | Вкрай складне переналаштування аудіо | Вкрай складне переналаштування аудіо | Редагування семплів на основі патернів |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Ноти синтезатора звучать безперервно («завислі ноти») або темп стає надзвичайно швидким.
Першопричина: Відсутні події 'Note Off' або пошкоджені значення дельта-часу змінної довжини в блоці MTrk.
Відновлення: Відкрийте файл у MIDI-секвенсорі або скористайтеся інструментом File2File.app MIDI, щоб виправити режим Running Status і додати пропущені команди Note Off.
Аналіз безпеки та векторів атак на парсери
Засоби розбору MIDI декодують складні значення дельта-часу змінної довжини (VLQ) і повідомлення System Exclusive (SysEx), які можуть спричинити переповнення буфера в апаратних і програмних синтезаторах.
Відомі вектори атак
- Необмежене розширення значення змінної довжини може спричинити переповнення 32-бітного цілого числа.
- Надмірно велике корисне навантаження повідомлення SysEx, що викликає переповнення динамічної пам’яті у прошивці синтезатора або програмних плагінах.
- Зловмисно створені маркери циклу, що спричиняють нескінченні цикли ЦП у потоках рендерингу аудіо.
Рекомендації щодо захисту: Установлюйте верхню межу значень дельта-часу й очищуйте блоки SysEx з ідентифікаторами виробників перед передаванням синтезаторам.
Історичне походження та віхи
Основні переваги
- Дуже малий розмір файлу: повні симфонічні аранжування займають десятки кілобайт замість десятків мегабайт.
- Повна гнучкість редагування: окремі ноти, темпи, тональності та налаштування інструментів можна змінювати без втрати якості.
- Універсальна апаратна сумісність між синтезаторами, цифровими піаніно, секвенсорами та DAW.
Технічні обмеження та недоліки
- Не містить записаного звуку; відтворення повністю залежить від синтезатора та банку звуків на пристрої слухача.
- Не може відтворювати записаний людський спів чи реалістичні акустичні неінструментальні звуки.
- Звучання під час відтворення суттєво відрізняється на різних комп'ютерах залежно від встановлених звукових банків General MIDI.
Цікаві технічні факти
- Магічний заголовок 'MThd' означає 'MIDI Track Header' (заголовок доріжки MIDI), після якого йде 'MTrk' для кожного блока доріжки.
- Класичні комп'ютерні відеоігри, такі як Doom, Warcraft та Monkey Island, використовували MIDI для забезпечення насиченого музичного супроводу на дискетах об'ємом 1,44 МБ.
- Дейв Сміт отримав Технічну премію 'Греммі' у 2013 році за свою фундаментальну роль у винайденні MIDI.
Поширені технічні запитання
Чому MIDI-файл звучить як дешеві інструменти на моєму комп'ютері?
MIDI-файл містить лише інструкції про ноти: яку ноту зіграти і з якою силою. Звук генерує вбудований в операційну систему синтезатор General MIDI. Завантаження професійного SoundFont (.sf2) значно підвищує реалістичність звучання.
Як я можу конвертувати MIDI-файл у формат MP3 або WAV?
Оскільки MIDI не містить аудіо, для перетворення його потрібно відтворити через програмний синтезатор зі звуковими інструментами. Аудіоконвертер File2File.app автоматично озвучує MIDI за допомогою високоякісних акустичних банків звуків просто у Вашому браузері.
У чому різниця між MIDI Формату 0 та Формату 1?
Формат 0 об'єднує всі музичні канали в один блок доріжки. Формат 1 розміщує кожен інструмент (піаніно, бас, ударні) в окремому блоці доріжки для багатодоріжкового редагування.