Co to jest format pliku MIDI?
Plik .midi to Standard MIDI File (SMF) - binarna sekwencja zdarzeń wykonawczych generowanych przez syntezatory, klawiatury sterujące i cyfrowe stacje robocze audio (DAW). Format ten przechowuje wysokość nut, dynamikę (velocity), taktowanie, zmiany kontrolerów i przypisania instrumentów, ale nie zawiera żadnych próbek dźwiękowych. Jakość odtwarzania zależy całkowicie od syntezatora lub zestawu próbek (soundfont) użytego do renderowania.
Rozszerzenie .midi jest bajt po bajcie identyczne z .mid. Różnica wynika wyłącznie z długości rozszerzenia: limit nazw plików 8.3 w systemie DOS wymusił krótszą formę .mid, podczas gdy nowoczesne systemy operacyjne akceptują pełną pisownię .midi. Niektóre aplikacje, w szczególności Ableton Live, wymagają zmiany nazwy z .midi na .mid przed importem.
Plik zaczyna się od czterobajtowego znacznika MThd (nagłówek MIDI), po którym następuje 6-bajtowy nagłówek deklarujący typ formatu, liczbę ścieżek i rozdzielczość czasową. Następnie występują jeden lub więcej bloków ścieżek MTrk. Istnieją trzy typy formatów: Format 0 przechowuje wszystkie kanały na jednej ścieżce; Format 1 wykorzystuje wiele zsynchronizowanych ścieżek; Format 2 przechowuje niezależne sekwencje wzorów.
Specyfikacja Standard MIDI File 1.0 została opublikowana w 1988 roku przez MIDI Manufacturers Association i od tego czasu pozostaje stabilna. MIDI 2.0 (2020) rozszerza podstawowy protokół, ale używa innych formatów klipów; sekwencje .midi pozostają w powszechnym użyciu w programach DAW, oprogramowaniu do notacji i syntezatorach sprzętowych.
Bezpieczeństwo
RYZYKO: LOWStandard MIDI File to pasywne dane zdarzeń bez osadzonego kodu lub makr, więc sam format jest nieszkodliwy. Uwaga historyczna: CVE-2012-0003 pozwalał na wykonanie kodu poprzez spreparowany plik MIDI w starszych wersjach Windows Media Player - błąd został dawno naprawiony. Dbaj o aktualizację systemu i odtwarzaczy. Głównym ryzykiem jest rozczarowanie: jakość dźwięku zależy od syntezatora/soundfontu, a nie od samego pliku.
Szczegóły formatu
w pigułceProgramy otwierające pliki MIDI
Szczegóły techniczne
specyfikacja| Magiczne bajty | `4D 54 68 64` (`MThd`) na offsecie 0, a następnie `00 00 00 06` (długość bloku nagłówka) |
| Kolejność bajtów | Big-endian |
| Struktura bloków | Blok nagłówka `MThd` + jeden lub więcej bloków ścieżek `MTrk`; każdy blok poprzedzony 4-bajtowym identyfikatorem typu i 32-bitową długością |
| Typy formatów | Format 0 - jedna ścieżka, wszystkie kanały; Format 1 - wiele zsynchronizowanych ścieżek; Format 2 - niezależne wzory |
| Rozdzielczość czasowa | Ustawiona w polu division `MThd`: tyknięcia na ćwierćnutę (np. 480 TPQN) lub ramki kodu czasowego SMPTE |
| Kodowanie tempa | Meta-zdarzenie `FF 51 03` przechowuje mikrosekundy na ćwierćnutę; domyślnie 500 000 µs (120 BPM) |
| Kodowanie delta-time | Wartość o zmiennej długości (VLQ) poprzedza każde zdarzenie; kompaktowe kodowanie, brak wypełnienia o stałym rozmiarze |
| Typy zdarzeń | Note-on/off, dynamika, zmiana kontrolera, zmiana programu, pitch bend, aftertouch, SysEx, meta-zdarzenia (tempo, metrum, tekst utworu) |
| Pojemność kanałów | 16 kanałów MIDI na ścieżkę; kanał 10 jest konwencjonalnie zarezerwowany dla perkusji |
| Relacja z .mid | Bajt po bajcie identyczny z `.mid`; `.midi` to długa forma rozszerzenia, akceptowana w nowoczesnych systemach, ale odrzucana przez nazewnictwo DOS 8.3 |
| Typowy rozmiar pliku | 1 KB - 100 KB; kilka minut muzyki zazwyczaj zajmuje mniej niż 50 KB |
| Wariant Karaoke | Pliki `.kar` osadzają meta-zdarzenia z tekstem na drugiej ścieżce; poza tym są identyczne z SMF Format 1 |
| Relacja z MIDI 2.0 | MIDI 2.0 (2020) rozszerza protokół, ale używa innych formatów klipów; SMF `.midi`/`.mid` nie został wyparty |
| Wydano | Standard MIDI File 1.0 published 1988 (MIDI protocol 1983) |
| Najnowsza wersja | SMF 1.0 (stable since 1988); MIDI 2.0 protocol (2020) uses different clip formats |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | midi.org |
Konwersje MIDI
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki MIDI.