Dźwięk MIDI (.mid)

MIDI Standardowy

Musical Instrument Digital Interface (MIDI) to standard symbolicznego zapisu nutowego, który rejestruje zdarzenia wykonawcze instrumentów zamiast akustycznych fal dźwiękowych.

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

Konwersja w 100% prywatna w przeglądarce - 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)
KompresjaNeskompresowane 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śćCzysta sekwencja zdarzeń matematycznych; brak zapisu dźwięku w postaci fali
Streaming i progresywne ładowanieSekwencyjny strumień zdarzeń; może być analizowany i przetwarzany nuta po nucie

Techniczna macierz porównawcza: MID a konkurencja

Atrybut technicznyMID (Bieżący)WAVMP3MOD
Zawartość danychInstrukcje zdarzeń (nuta, wysokość dźwięku, dynamika)Neskompresowana fala 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ękuRóżni się drastycznie w zależności od syntezatora/banku brzmień użytkownika100% identyczny na wszystkich urządzeniach100% identyczny na wszystkich urządzeniachSpójny dzięki osadzonym próbkom
Edycja aranżacjiTrywialna; manipulacja zapisem 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ą w nieskończoność („zawieszone nuty") lub tempo staje się astronomicznie 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 File2File, aby wyczyścić status bieżący i wstrzyknąć 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

  • Niezweryfikowane rozszerzanie ilości o zmiennej długości powodujące przepełnienie liczby całkowitej 32-bitowej.
  • Zbyt duże ładunki komunikatów SysEx powodujące przepełnienie sterty w oprogramowaniu układowym syntezatora lub wtyczkach programowych.
  • Złośliwie przygotowane znaczniki pętli powodujące nieskończone pętle procesora w wątkach renderowania audio.

Najlepsze praktyki obronne: Egzekwuj maksymalne ograniczenia wartości czasu delta oraz oczyszczaj bloki producentów SysEx przed przekazaniem ich do syntezatorów.

Pochodzenie historyczne i kamienie milowe

2020Finalizacja standardu MIDI 2.0, wprowadzająca komunikację dwukierunkową oraz 32-bitową rozdzielczość kontrolerów.
1988Formalizacja formatu Standard MIDI File (SMF) z formatem 0 (jedna ścieżka) i formatem 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 kompatybilność sprzętowa z syntezatorami, pianinami cyfrowymi, sekwencerami i programami 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 potrafi odtworzyć nagranego ludzkiego głosu śpiewającego ani realistycznych dźwięków akustycznych niebędzących instrumentami.
  • Odtwarzany dźwięk brzmi zupełnie inaczej na różnych komputerach w zależności od zainstalowanych fontów brzmieniowych General MIDI.

Ciekawe informacje techniczne

  • Magiczny nagłówek „MThd" oznacza „MIDI Track Header" (nagłówek ścieżki MIDI), po którym następuje „MTrk" dla każdego segmentu ścieżki.
  • 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.
  • Dave Smith otrzymał technologiczną nagrodę Grammy w 2013 roku za swój fundamentalny wkład w wynalezienie standardu MIDI.

Często zadawane pytania techniczne

Dlaczego plik MIDI brzmi na moim komputerze jak tanie instrumenty?

Plik MIDI zawiera wyłącznie instrukcje zapisu nutowego (którą nutę nacisnąć i z jaką siłą). Słyszany dźwięk jest generowany przez wbudowany w system operacyjny syntezator General MIDI. Załadowanie profesjonalnego banku brzmień SoundFont (.sf2) drastycznie poprawia realizm.

Jak mogę przekonwertować plik MIDI do pliku MP3 lub WAV?

Ponieważ MIDI nie zawiera dźwięku, jego konwersja wymaga „wyrenderowania" go przez syntezator programowy z instrumentami brzmieniowymi. Konwerter audio File2File 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.