Аудио MIDI (.mid)

MIDI Стандарт

Musical Instrument Digital Interface (MIDI) е стандарт за символно представяне на музика, който записва събития от инструментални изпълнения, вместо акустични звукови вълни.

Проверка и метаданни

Операционните системи и файловите анализатори идентифицират MID файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират MID файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

4D 54 68 64

ASCII ПРЕДСТАВЯНЕ: MThd

Стандартизация: MIDI Manufacturers Association (MMA) / AMEI

Технически спецификации

Контейнерна архитектураЙерархия от блокове на стандартния MIDI файл (SMF) с заглавна част MThd и блокове MTrk за пистите.
КомпресияНекомпресирани символни събития на изпълнението (Note On, Note Off, Velocity, Pitch Bend).
Поредност на байтовете (Endianness)Битове и байтове в ред от старшия към младшия (Big-Endian).
Цветови пространстваНеприложимо (символен поток от инструкции за ноти).
Канали и структура16 логически MIDI канала на писта.
Максимални размериПроменлива разделителна способност на делтата на времето (тикове на четвъртина нота, до 65 535).
ПрозрачностПоследователност само от математически описани събития; не се съхранява аудио вълнова форма.
Поточно предаване и прогресивно зарежданеПоследователен поток от събития, който може да се анализира и изпълнява нота по нота.

Техническа сравнителна матрица: MID спрямо конкуренти

Технически атрибутMID (Текущ)WAVMP3MOD
Съхранено съдържаниеИнструкции за събития (нота, височина на тона, сила на натиска)Некомпресирана PCM вълнаКомпресирана вълна със загубиИнструкции за пистите + вградени аудиосемпли на инструменти
Среден размер на файла10 KB - 100 KB30 MB - 50 MB3 MB - 5 MB500 KB - 2 MB
Постоянство на звукаСилно варира според синтезатора или звуковия шрифт на потребителяMIDI данните за събития са преносими; звукът при възпроизвеждане зависи от синтезатора или звуковата банка.MIDI данните за събития са преносими; звукът при възпроизвеждане зависи от синтезатора или звуковата банка.
Редактиране на аранжиментаЛесно; редактиране на всяка нота в партитурата поотделноИзключително трудно пренастройване на аудиотоИзключително трудно пренастройване на аудиотоРедактиране на семпли на базата на модели

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

Нотите на синтезатора звучат безкрайно („задържани ноти“) или темпото става астрономически бързо.

Първопричина: Липсващи събития 'Note Off' или повредени стойности за делта-време (delta-time) с променлива дължина в MTrk блока.

Възстановяване: Отворете файла в MIDI секвенсер или използвайте инструмента File2File.app MIDI tool, за да коригирате статуса на running status и да вмъкнете липсващите команди Note Off.

Анализ на сигурността и вектори на атака към парсера

MIDI парсерите декодират сложни стойности с променлива дължина (VLQ) за делта-времето и системни ексклузивни съобщения (SysEx), които могат да предизвикат препълване на буфера в хардуерни и софтуерни синтезатори.

Известни вектори на атака

  • Непроверено разширяване на стойностите с променлива дължина, водещо до 32-битово целочислено препълване.
  • Прекалено големи данни в SysEx съобщения, причиняващи препълване на динамичната памет във фърмуера на синтезатора или софтуерните плъгини.
  • Злонамерено манипулирани маркери за повтаряне (loop markers), причиняващи безкрайни процесорни цикли в нишките за аудио рендериране.

Най-добри практики за защита: Наложете максимални ограничения върху стойностите на делта-времето и почистете блоковете на производителите на SysEx, преди да ги изпратите към синтезаторите.

Исторически произход и етапи

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

Основни предимства

  • Микроскопичен размер на файла: пълни симфонични аранжименти заемат десетки килобайти вместо десетки мегабайти.
  • Пълна гъвкавост при редактиране: отделни ноти, темпа, тоналности и настройки на инструментите могат да бъдат променяни без загуба на качество.
  • MIDI се поддържа от много синтезатори, дигитални пиана, секвенсери и DAW, но възможностите варират.

Технически ограничения и минуси

  • Не съдържа никакви реални звукови записи; възпроизвеждането зависи изцяло от синтезатора и звуковата библиотека на устройството за възпроизвеждане.
  • Не може да възпроизвежда записани човешки гласове или реалистични акустични неинструментални звуци.
  • Възпроизвеждането звучи напълно различно на различни компютри в зависимост от инсталираните шрифтове за звукови банки (General MIDI soundfonts).

Интересни технически факти

  • Магическият хедър 'MThd' означава 'MIDI Track Header' (Заглавна част на MIDI писта), последван от 'MTrk' за всеки блок с писта.
  • Класически компютърни видеоигри като Doom, Warcraft и Monkey Island използват MIDI за осигуряване на богата музика на дискети с капацитет 1.44 MB.
  • Дейв Смит получава техническа награда Грами през 2013 г. за основополагащата си роля в изобретяването на MIDI.

Често задавани технически въпроси

Защо MIDI файлът звучи като некачествени инструменти на моя компютър?

MIDI файлът съдържа само инструкции за изпълнение (кой тон да се натисне и колко силно). Звукът, който чувате, се генерира от вградения General MIDI синтезатор на вашата операционна система. Зареждането на професионален SoundFont (.sf2) драстично подобрява реализма.

Как мога да конвертирам MIDI файл в MP3 или WAV файл?

Тъй като MIDI не съдържа аудио, за конвертирането му е необходимо рендиране чрез софтуерен синтезатор със звукови инструменти. Аудиоконверторът на File2File.app автоматично рендира MIDI с висококачествени акустични звукови банки директно във вашия браузър.

Каква е разликата между MIDI формат 0 и формат 1?

Формат 0 обединява всички музикални канали в един-единствен блок (chunk). Формат 1 разделя всеки инструмент (пиано, бас, барабани) в собствен отделен блок за редактиране на множество писти.