Wat is het KAR-bestandsformaat?
Een .kar-bestand, ook wel bekend als het Karaoke MIDI-bestand, is vergelijkbaar met het traditionele .mid-bestand dat in verschillende MIDI-toepassingen en spelers wordt gebruikt. In tegenstelling tot de beschrijving die soms wordt gegeven, bevat een .kar-bestand geen referentielocaties naar externe audiotracks - het IS een standaard MIDI-bestand, met een reeks getimede nootgebeurtenissen die een synthesizer omzet in geluid. Wat het onderscheidt, is een extra track die de songteksten in tekstformaat bevat, in tijd gesynchroniseerd met de melodie voor een woord-voor-woord weergave tijdens het afspelen.
De metadata die in een .kar-bestand is opgeslagen, omvat doorgaans de titel van het nummer, de naam van de artiest of het album en andere gerelateerde details - conventioneel geplaatst in @T, @A en @I headerregels aan het begin van de eerste MTrk track-chunk. De songteksten zelf worden meegevoerd als FF 01 tekst-meta-events (het Soft Karaoke @-tag formaat, met een @KMIDI KARAOKE FILE identificatie) of als FF 05 songtekst-meta-events.
Omdat .kar een muzikale partituur opslaat in plaats van gesamplede audio, kan hetzelfde bestand anders klinken afhankelijk van de gebruikte synthesizer of soundbank. Bestanden zijn opmerkelijk compact - een compleet karaoke-nummer met volledige songtekst weegt doorgaans tussen de 5 KB en 150 KB. Omdat .kar de MThd magic bytes deelt met elk MIDI-bestand, staat het hernoemen van .kar naar .mid meestal toe dat elke MIDI-speler het opent; de muziek speelt correct af, maar de gesynchroniseerde songteksten worden niet weergegeven.
Beveiliging & veiligheid
RISICO: LOWEen .kar bestaat uit passieve MIDI-gebeurtenisgegevens zonder ingebedde code of macro's, dus het formaat zelf is risicoarm. Historische opmerking: een fout in de MIDI-parsing van Windows uit 2012 (CVE-2012-0003) maakte code-uitvoering mogelijk via een gemanipuleerde MIDI in Windows Media Player - dit is allang gepatcht, dus houd uw besturingssysteem en spelers up-to-date. Het belangrijkste praktische „risico” is teleurstelling: een .kar kan mager klinken omdat het afspelen afhangt van het soundfont van het apparaat, en een niet-karaoke-speler zal de songteksten helemaal niet tonen.
Formaatdetails
in een notendop- Winamp AVS / andere app-preset - Een handvol niet-gerelateerde programma's heeft .kar gebruikt voor hun eigen gegevens, maar de karaoke MIDI-betekenis is overweldigend dominant.
Programma's die KAR-bestanden openen
Technische details
diepe specificaties| Bestandsstructuur | Standaard MIDI-bestand (SMF) - één `MThd` header-chunk gevolgd door één of meer `MTrk` track-chunks |
| Magic bytes | `4D 54 68 64` (ASCII `MThd`) op byte-offset 0, identiek aan een `.mid`-bestand; er bestaat geen `.kar`-specifieke bestandssignatuur |
| Inbedding van songteksten | Songteksten opgeslagen als `FF 01` tekst-meta-events (Soft Karaoke `@`-tag stijl, met `@KMIDI KARAOKE FILE` identificatie) of `FF 05` songtekst-meta-events, in tijd uitgelijnd met de melodietrack |
| MIDI-formaatvariant | SMF Formaat 0 (enkele track) of Formaat 1 (meerdere tracks); de songtekst/header-track is doorgaans de eerste `MTrk`-chunk in Formaat 1-bestanden |
| Byte-volgorde | Big-endian - alle multi-byte integers volgen de big-endian conventie van de MIDI-specificatie |
| Gegevenscodering | Binair; delta-tijd tijdstempels gebruiken variable-length quantity (VLQ) codering, 1-4 bytes per gebeurtenis-tijdstempel |
| Compressie | Geen - variabele delta-tijden houden gebeurtenisgegevens compact zonder een aparte compressielaag |
| Typische bestandsgrootte | 5 KB - 150 KB; een volledig karaoke-nummer met gesynchroniseerde songteksten is meestal ruim onder de 100 KB |
| MIME-type | `audio/midi`; ook gebruikt als `audio/x-midi` en `application/x-midi` |
| Timingresolutie | Gedefinieerd door het `division`-veld in de `MThd`-header (ticks per kwartnoot); tempo dynamisch ingesteld via `FF 51` meta-events in µs/kwartnoot |
| Partituur vs. opname | Slaat noot- en controlegebeurtenissen op, geen gesamplede audio - een synthesizer of soundbank rendert het afspelen; hetzelfde bestand kan anders klinken op verschillende hardware of software |
| Conventie voor header-metadata | De eerste track begint conventioneel met `@KMIDI KARAOKE FILE`, gevolgd door `@V` (versie), `@I` (info), `@L` (taal), `@T` (titel) en `@A` (auteur) tekstgebeurtenissen |
| Platformondersteuning | Windows, macOS, Linux, Android, iOS, en hardware arranger-keyboards en karaoke-machines |
| Interoperabiliteit | Door `.kar` te hernoemen naar `.mid` kan elke standaard MIDI-speler het bestand openen; muziek speelt correct af, maar gesynchroniseerde songteksten worden niet getoond |
| Legacy-status | Grotendeels vervangen voor thuisgebruik door CD+G disc-karaoke, MP4 video-karaoke en streaming karaoke-diensten; `.kar`-bestanden blijven bestaan in legacy-collecties en op arranger-keyboards |
| Uitgebracht | Mid-1990s (the .kar lyric convention popularised by Tune 1000 / the MIDIOKE scene) |
| Laatste versie | No separate spec - based on Standard MIDI File 1.0 (1988); lyrics carried in text/lyric meta-events |
| Open standaard | Ja · royaltyvrij |
| Specificatie | midi.org |