Plik MIDI (.mid)

MIDI Standard

Musical Instrument Digital Interface (MIDI) to standard symbolicznego zapisu muzyki, który rejestruje zdarzenia wykonawcze instrumentów zamiast fal akustycznych.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki MID, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Prywatnie - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki MID, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

4D 54 68 64

REPREZENTACJA ASCII: MThd

Normalizacja: MIDI Manufacturers Association (MMA) / AMEI

Specyfikacja techniczna

Architektura konteneraHierarchia segmentów Standard MIDI File (SMF) (nagłówek MThd + segmenty ścieżek MTrk)
KompresjaNieskompresowane symboliczne zdarzenia wykonawcze (Note On, Note Off, Velocity, Pitch Bend)
Kolejność bajtów (Endianness)Porządek bitów i bajtów typu Big-Endian
Przestrzenie kolorówNie dotyczy (strumień symbolicznych instrukcji nutowych)
Kanały i struktura16 logicznych kanałów MIDI na ścieżkę
Maks. wymiaryZmienna rozdzielczość czasu delta (ticki na ćwierćnutę, do 65 535)
PrzezroczystośćCiąg zdarzeń opisany matematycznie; nie zawiera żadnego dźwięku w postaci fali
Streaming i progresywne ładowanieSekwencyjny strumień zdarzeń można odczytywać i wysyłać dalej nuta po nucie.

Techniczna macierz porównawcza: MID a konkurencja

Atrybut technicznyMID (Bieżący)WAVMP3MOD
Zapisywana zawartośćInstrukcje zdarzeń (nuta, wysokość dźwięku, dynamika)Nieskompresowany przebieg PCMSkompresowana fala stratnaInstrukcje ścieżek + osadzone próbki instrumentów audio
Średni rozmiar pliku10 KB - 100 KB30 MB - 50 MB3 MB - 5 MB500 KB - 2 MB
Spójność dźwiękuBrzmienie zależy w dużym stopniu od syntezatora i banku brzmień użytkownikaDane zdarzeń MIDI można przenosić; brzmienie podczas odtwarzania zależy od syntezatora lub banku dźwięków.Dane zdarzeń MIDI można przenosić; brzmienie podczas odtwarzania zależy od syntezatora lub banku dźwięków.
Edycja aranżacjiProsta edycja: łatwo zmieniać zapis nuta po nucieEkstremalnie trudne przestrajanie audioEkstremalnie trudne przestrajanie audioEdycja próbek oparta na wzorcach

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Dźwięki syntezatora wybrzmiewają bez końca („zawieszone nuty”) albo tempo staje się nienaturalnie szybkie.

Główna przyczyna: Brak zdarzeń „Note Off” lub uszkodzone wartości czasu delta o zmiennej długości w segmencie MTrk.

Odzyskiwanie: Otwórz plik w sekwencerze MIDI lub użyj narzędzia MIDI w File2File.app, aby naprawić status running i dodać brakujące polecenia Note Off.

Analiza bezpieczeństwa i wektory ataku na parser

Analizatory składni MIDI dekodują złożone wartości czasu delta o zmiennej długości (VLQ) oraz komunikaty System Exclusive (SysEx), które mogą wywołać przepełnienia bufora w syntezatorach sprzętowych i programowych.

Znane wektory ataku

  • Nieprawidłowa obsługa wartości VLQ o zmiennej długości może powodować przepełnienie liczby 32-bitowej.
  • Zbyt duże ładunki komunikatów SysEx powodujące przepełnienie sterty w oprogramowaniu układowym syntezatora lub wtyczkach programowych.
  • Spreparowane złośliwie znaczniki pętli mogą powodować nieskończone pętle obciążające procesor w wątkach renderujących audio.

Najlepsze praktyki obronne: Ustal maksymalne wartości czasu delta i weryfikuj bloki producenta w komunikatach SysEx przed wysłaniem ich do syntezatorów.

Pochodzenie historyczne i kamienie milowe

2020Ukończono prace nad standardem MIDI 2.0, wprowadzając komunikację dwukierunkową i 32-bitową rozdzielczość kontrolerów.
1988Ustandaryzowano format Standard MIDI File (SMF), wprowadzając format 0 (jedna ścieżka) i format 1 (wiele ścieżek).
1983Dave Smith i Ikutaro Kakehashi demonstrują połączenie syntezatora Prophet-600 z Rolandem Jupiter-6 przez MIDI na targach NAMM.

Główne zalety

  • Mikroskopijny rozmiar pliku: pełne aranżacje symfoniczne zajmują dziesiątki kilobajtów zamiast dziesiątek megabajtów.
  • Pełna elastyczność edycji: poszczególne nuty, tempo, tonacje i brzmienia instrumentów można modyfikować bez utraty jakości.
  • Uniwersalna zgodność sprzętowa z syntezatorami, pianinami cyfrowymi, sekwencerami i stacjami roboczymi DAW.

Ograniczenia techniczne i wady

  • Nie zawiera żadnych rzeczywistych nagrań dźwiękowych; odtwarzanie zależy całkowicie od syntezatora i banku brzmień urządzenia odsłuchowego.
  • Nie odtwarza nagranego ludzkiego śpiewu ani realistycznych dźwięków akustycznych, które nie pochodzą z instrumentów.
  • Odtwarzanie może brzmieć zupełnie inaczej na różnych komputerach, zależnie od zainstalowanych banków brzmień General MIDI.

Ciekawe informacje techniczne

  • Sygnatura nagłówka „MThd” oznacza „MIDI Track Header” (nagłówek ścieżki MIDI), po którym dla każdego segmentu ścieżki występuje „MTrk”.
  • Klasyczne gry wideo na PC, takie jak Doom, Warcraft i Monkey Island, używały MIDI do zapewnienia bogatej oprawy muzycznej na dyskietkach 1,44 MB.
  • W 2013 roku Dave Smith otrzymał nagrodę Grammy za osiągnięcia techniczne w uznaniu jego fundamentalnej roli w stworzeniu standardu MIDI.

Często zadawane pytania techniczne

Dlaczego plik MIDI brzmi na moim komputerze jak tanie instrumenty?

Plik MIDI zawiera wyłącznie instrukcje nutowe (którą nutę zagrać i z jaką siłą). Słyszany dźwięk generuje wbudowany w system operacyjny syntezator General MIDI. Załadowanie profesjonalnego banku brzmień SoundFont (.sf2) znacznie poprawia realizm.

Jak przekonwertować plik MIDI na MP3 lub WAV?

Ponieważ MIDI nie zawiera dźwięku, jego konwersja wymaga „wyrenderowania" go przez syntezator programowy z instrumentami brzmieniowymi. Konwerter audio File2File.app automatycznie renderuje pliki MIDI przy użyciu wysokiej jakości akustycznych banków brzmień bezpośrednio w przeglądarce.

Jaka jest różnica między formatem MIDI 0 a formatem 1?

Format 0 łączy wszystkie kanały muzyczne w jeden segment ścieżki. Format 1 rozdziela każdy instrument (pianino, bas, perkusję) na własny, niezależny segment ścieżki w celu edycji wielościeżkowej.