Аудіо MIDI (.mid)

Асоціація Стандарт

Цифровий інтерфейс музичних інструментів (MIDI): це стандарт символічного представлення музики, який фіксує події виконання на інструментах, а не акустичні звукові хвилі.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли MID, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

Сигнатура заголовка на байтовому рівні (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 (Поточний)WAVMP3MOD
Збережений вмістІнструкції подій (нота, висота тону, сила натискання)Нестиснена 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 з ідентифікаторами виробників перед передаванням синтезаторам.

Історичне походження та віхи

2020Затверджено стандарт MIDI 2.0, який запровадив двосторонній зв'язок і 32-бітну роздільну здатність контролерів.
1988Формат Standard MIDI File (SMF) офіційно закріплено з форматами 0 (однотрековим) та 1 (багатотрековим).
1983Дейв Сміт і Ікутаро Какехасі демонструють MIDI, підключивши Prophet-600 до Roland Jupiter-6 на виставці NAMM.

Основні переваги

  • Дуже малий розмір файлу: повні симфонічні аранжування займають десятки кілобайт замість десятків мегабайт.
  • Повна гнучкість редагування: окремі ноти, темпи, тональності та налаштування інструментів можна змінювати без втрати якості.
  • Універсальна апаратна сумісність між синтезаторами, цифровими піаніно, секвенсорами та 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 розміщує кожен інструмент (піаніно, бас, ударні) в окремому блоці доріжки для багатодоріжкового редагування.