Vad är filformatet KAR?
En .kar-fil, även känd som Karaoke MIDI-fil, liknar den traditionella .mid-filen som används i olika MIDI-applikationer och spelare. Till skillnad från beskrivningar som ibland ges, innehåller en .kar-fil inte referensplatser till externa ljudspår - det ÄR en Standard MIDI-fil som innehåller en sekvens av tidsstyrda nothändelser som en synthesizer omvandlar till ljud. Det som utmärker den är ett extra spår som bäddar in sångtexten i textformat, tidssynkroniserad med melodin för visning ord för ord under uppspelning.
Metadata som lagras i en .kar-fil inkluderar vanligtvis låttitel, artist- eller albumnamn och andra relaterade detaljer - konventionellt placerade i @T-, @A- och @I-huvudrader i början av det första MTrk-spårblocket. Själva texterna bärs som FF 01 text-meta-händelser (Soft Karaoke @-taggformatet, med en @KMIDI KARAOKE FILE-identifierare) eller som FF 05 lyrik-meta-händelser.
Eftersom .kar lagrar ett musikaliskt partitur snarare än samplat ljud, kan samma fil låta olika beroende på vilken synthesizer eller vilken ljudbank som används. Filerna är anmärkningsvärt kompakta - en komplett karaoke-låt med fullständig text väger vanligtvis mellan 5 KB och 150 KB. Eftersom .kar delar MThd magic bytes med alla MIDI-filer, tillåter namnbyte från .kar till .mid vanligtvis vilken MIDI-spelare som helst att öppna den; musiken spelas korrekt, men de synkroniserade texterna kommer inte att visas.
Säkerhet & trygghet
RISK: LOWEn .kar består av passiv MIDI-händelsedata utan inbäddad kod eller makron, så formatet i sig innebär låg risk. Historisk notering: en sårbarhet i Windows MIDI-tolkning från 2012 (CVE-2012-0003) tillät körning av kod via en preparerad MIDI-fil i Windows Media Player - detta är sedan länge åtgärdat, så håll ditt operativsystem och dina spelare uppdaterade. Den främsta praktiska „risken” är besvikelse: en .kar kan låta tunn eftersom uppspelningen beror på enhetens soundfont, och en spelare utan karaoke-stöd visar inte texten alls.
Formatdetaljer
i ett nötskal- Winamp AVS / andra app-förinställningar - Ett fåtal orelaterade program har använt .kar för sin egen data, men betydelsen som karaoke-MIDI är överväldigande dominant.
Program som öppnar KAR-filer
Tekniska detaljer
djup specifikation| Filstruktur | Standard MIDI File (SMF) - ett `MThd`-huvudblock följt av ett eller flera `MTrk`-spårblock |
| Magic bytes | `4D 54 68 64` (ASCII `MThd`) vid byte-offset 0, identiskt med en `.mid`-fil; ingen `.kar`-specifik filsignatur existerar |
| Inbäddning av lyrik | Text lagrad som `FF 01` text-meta-händelser (Soft Karaoke `@`-taggstil, med `@KMIDI KARAOKE FILE`-identifierare) eller `FF 05` lyrik-meta-händelser, tidsjusterade till melodispåret |
| MIDI-formatvariant | SMF Format 0 (enkelspår) eller Format 1 (multispår); lyrik-/huvudspåret är vanligtvis det första `MTrk`-blocket i Format 1-filer |
| Byte-ordning | Big-endian - alla heltal med flera byte följer MIDI-specifikationens big-endian-konvention |
| Datakodning | Binär; delta-tidsstämplar använder variabel längd (VLQ-kodning), 1-4 byte per händelsetidsstämpel |
| Komprimering | Ingen - delta-tider med variabel längd håller händelsedata kompakt utan ett separat komprimeringslager |
| Typisk filstorlek | 5 KB - 150 KB; en hel karaoke-låt med synkroniserad text är vanligtvis väl under 100 KB |
| MIME-typ | `audio/midi`; används även som `audio/x-midi` och `application/x-midi` |
| Tidsupplösning | Definieras av fältet `division` i `MThd`-huvudet (ticks per fjärdedelsnot); tempo ställs in dynamiskt via `FF 51` meta-händelser i µs/fjärdedelsnot |
| Partitur vs. inspelning | Lagrar not- och kontrollhändelser, inte samplat ljud - en synthesizer eller ljudbank renderar uppspelningen; samma fil kan låta olika på olika hårdvara eller mjukvara |
| Konvention för huvudmetadata | Första spåret börjar konventionellt med `@KMIDI KARAOKE FILE`, följt av `@V` (version), `@I` (info), `@L` (språk), `@T` (titel) och `@A` (författare) texthändelser |
| Plattformstöd | Windows, macOS, Linux, Android, iOS, samt hårdvarubaserade keyboard-arrangörer och karaoke-maskiner |
| Interoperabilitet | Namnbyte från `.kar` till `.mid` gör att alla standard MIDI-spelare kan öppna filen; musiken spelas korrekt men synkroniserad text visas inte |
| Legacy-status | I stor utsträckning ersatt för hemmabruk av CD+G-skivor, MP4-video och streamingtjänster för karaoke; `.kar`-filer lever kvar i äldre samlingar och på keyboard-arrangörer |
| Släppt | Mid-1990s (the .kar lyric convention popularised by Tune 1000 / the MIDIOKE scene) |
| Senaste version | No separate spec - based on Standard MIDI File 1.0 (1988); lyrics carried in text/lyric meta-events |
| Öppen standard | Ja · royaltyfri |
| Specifikation | midi.org |