Co to jest format pliku KAR?
Plik .kar, znany również jako plik Karaoke MIDI, jest podobny do tradycyjnego pliku .mid używanego w różnych aplikacjach i odtwarzaczach MIDI. W przeciwieństwie do niektórych opisów, plik .kar nie zawiera odniesień do zewnętrznych ścieżek audio - JEST to standardowy plik MIDI, zawierający sekwencję zdarzeń nutowych w czasie, które syntezator zamienia w dźwięk. To, co go wyróżnia, to dodatkowa ścieżka, która osadza tekst piosenki w formacie tekstowym, zsynchronizowany czasowo z melodią w celu wyświetlania słowo po słowie podczas odtwarzania.
Metadane przechowywane w pliku .kar zazwyczaj obejmują tytuł utworu, nazwę wykonawcy lub albumu oraz inne powiązane szczegóły - konwencjonalnie umieszczane w liniach nagłówka @T, @A i @I na początku pierwszego bloku ścieżki MTrk. Same teksty są przenoszone jako zdarzenia meta tekstu FF 01 (format tagów @ Soft Karaoke, z identyfikatorem @KMIDI KARAOKE FILE) lub jako zdarzenia meta tekstu piosenki FF 05.
Ponieważ .kar przechowuje zapis nutowy, a nie próbkowany dźwięk, ten sam plik może brzmieć inaczej w zależności od użytego syntezatora lub banku brzmień. Pliki są niezwykle kompaktowe - kompletna piosenka karaoke z pełnym tekstem waży zazwyczaj od 5 KB do 150 KB. Ponieważ .kar współdzieli bajty magiczne MThd z dowolnym plikiem MIDI, zmiana rozszerzenia z .kar na .mid zazwyczaj pozwala na otwarcie go w dowolnym odtwarzaczu MIDI; muzyka gra poprawnie, ale zsynchronizowane teksty nie zostaną wyświetlone.
Bezpieczeństwo
RYZYKO: LOWPlik .kar to pasywne dane zdarzeń MIDI bez osadzonego kodu ani makr, więc sam format jest niskiego ryzyka. Uwaga historyczna: błąd analizy MIDI w systemie Windows z 2012 roku (CVE-2012-0003) pozwalał na wykonanie kodu poprzez spreparowany plik MIDI w Windows Media Player - został on dawno załatany, więc dbaj o aktualizację systemu i odtwarzaczy. Głównym praktycznym „ryzykiem” jest rozczarowanie: .kar może brzmieć płasko, ponieważ odtwarzanie zależy od soundfontu urządzenia, a odtwarzacz nieobsługujący karaoke w ogóle nie wyświetli tekstu.
Szczegóły formatu
w pigułce- Winamp AVS / inne presety aplikacji - Kilka niepowiązanych programów używało rozszerzenia .kar dla własnych danych, ale znaczenie karaoke MIDI jest zdecydowanie dominujące.
Programy otwierające pliki KAR
Szczegóły techniczne
specyfikacja| Struktura pliku | Standard MIDI File (SMF) - jeden blok nagłówka `MThd`, po którym następuje jeden lub więcej bloków ścieżek `MTrk` |
| Magiczne bajty | `4D 54 68 64` (ASCII `MThd`) przy offsecie 0, identyczne jak w pliku `.mid`; nie istnieje sygnatura specyficzna dla `.kar` |
| Osadzanie tekstu | Teksty przechowywane jako zdarzenia meta tekstu `FF 01` (styl tagów `@` Soft Karaoke, z identyfikatorem `@KMIDI KARAOKE FILE`) lub zdarzenia meta tekstu piosenki `FF 05`, wyrównane czasowo do ścieżki melodii |
| Wariant formatu MIDI | SMF Format 0 (pojedyncza ścieżka) lub Format 1 (wielościeżkowy); ścieżka tekstu/nagłówka to zazwyczaj pierwszy blok `MTrk` w plikach Format 1 |
| Kolejność bajtów | Big-endian - wszystkie wielobajtowe liczby całkowite są zgodne z konwencją big-endian specyfikacji MIDI |
| Kodowanie danych | Binarne; znaczniki czasu delta-time używają kodowania o zmiennej długości (VLQ), 1-4 bajty na znacznik czasu zdarzenia |
| Kompresja | Brak - czasy delta o zmiennej długości utrzymują dane zdarzeń w kompaktowej formie bez oddzielnej warstwy kompresji |
| Typowy rozmiar pliku | 5 KB - 150 KB; pełna piosenka karaoke ze zsynchronizowanym tekstem zazwyczaj mieści się znacznie poniżej 100 KB |
| Typ MIME | `audio/midi`; używany również jako `audio/x-midi` i `application/x-midi` |
| Rozdzielczość czasowa | Zdefiniowana przez pole `division` w nagłówku `MThd` (tyknięcia na ćwierćnutę); tempo ustawiane dynamicznie za pomocą zdarzeń meta `FF 51` w µs/ćwierćnutę |
| Zapis nutowy vs. nagranie | Przechowuje zdarzenia nut i kontrolerów, a nie próbkowany dźwięk - syntezator lub bank brzmień renderuje odtwarzanie; ten sam plik może brzmieć inaczej na różnym sprzęcie lub oprogramowaniu |
| Konwencja metadanych nagłówka | Pierwsza ścieżka konwencjonalnie zaczyna się od `@KMIDI KARAOKE FILE`, po czym następują zdarzenia tekstowe `@V` (wersja), `@I` (informacja), `@L` (język), `@T` (tytuł) i `@A` (autor) |
| Obsługa platform | Windows, macOS, Linux, Android, iOS oraz sprzętowe keyboardy aranżacyjne i maszyny karaoke |
| Interoperacyjność | Zmiana nazwy `.kar` na `.mid` pozwala każdemu standardowemu odtwarzaczowi MIDI otworzyć plik; muzyka gra poprawnie, ale zsynchronizowane teksty nie są wyświetlane |
| Status dziedzictwa | W dużej mierze wyparty w użytku domowym przez karaoke na płytach CD+G, karaoke wideo MP4 i usługi streamingowe; pliki `.kar` przetrwały w starszych kolekcjach i na keyboardach aranżacyjnych |
| Wydano | Mid-1990s (the .kar lyric convention popularised by Tune 1000 / the MIDIOKE scene) |
| Najnowsza wersja | No separate spec - based on Standard MIDI File 1.0 (1988); lyrics carried in text/lyric meta-events |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | midi.org |