Il karaoke è un sistema musicale che riproduce l'accompagnamento registrato di una canzone famosa. Un cantante esegue la canzone dal vivo, di solito seguendo le parole su uno schermo video. La parola indica anche l'esibizione stessa.
La parola giapponese unisce kara, che significa vuoto, con una forma abbreviata della parola per orchestra. Karaoke significa quindi letteralmente orchestra vuota.
In un report di metadati, Karaoke è un campo con un significato più specifico. Il nome viene da ffprobe, il lettore di file del progetto FFmpeg.
FFmpeg elenca ogni parte di un file come stream separato. Ogni stream riceve un insieme di flag chiamati disposition, come Karaoke e Attached Pic. La documentazione FFmpeg definisce questo flag in poche parole: lo stream contiene audio karaoke.
Come appaiono i valori
L'opzione -show_streams del lettore ffprobe stampa il flag per ogni stream, anche nei file senza musica. In quell'output il flag ha 2 valori:
0: il flag è disattivato1: il flag è attivo, quindi lo stream è contrassegnato come audio karaoke
La forma esatta dipende dal report. Un report JSON mostra "karaoke": 0, e un report in testo semplice mostra DISPOSITION:karaoke=0.
Quali file lo contengono
FFmpeg legge e scrive questo flag in alcuni formati ma non in altri, come mostrano questi esempi:
- NUT: uno stream può memorizzare la parola
karaokein un tag chiamatoDisposition - MKV: la specifica Matroska ha flag come default, forced e commentary, ma nessun flag karaoke
- MP4: l'elenco FFmpeg dei ruoli delle tracce MP4 non ha una voce karaoke
- Audio AC-3 ed E-AC-3: i dati audio hanno un tipo di servizio, e un valore indica il karaoke
FFmpeg converte il tipo di servizio karaoke nel flag quando l'audio ha 2 o più canali, anche in un file MKV o MP4. Con altri formati audio, uno stream in un file MKV o MP4 di solito riporta 0, anche quando la canzone è una versione karaoke.
Alcune canzoni karaoke usano un tipo di file proprio. La Library of Congress elenca l'estensione kar per i file MIDI karaoke.
Dove sono memorizzate le parole della canzone
Il flag Karaoke non contiene parole, solo il numero 0 o 1. FFmpeg ha un flag Lyrics separato per uno stream con il testo della canzone. Il testo stesso si trova in un punto diverso in ogni formato:
- MP3: il frame ID3v2 USLT contiene il testo senza tempi, e il frame SYLT memorizza un timestamp per ogni sillaba o unità di testo
- MKV: un tag
LYRICScontiene le parole quando i tempi non sono noti, oppure come copia di una traccia di sottotitoli
Da dove proviene il valore
FFmpeg imposta i flag quando crea ogni stream, o successivamente quando ispeziona lo stream. Per un file NUT, FFmpeg legge i flag dal tag Disposition. Per l'audio AC-3, FFmpeg legge il tipo di servizio dai dati audio.
Con l'opzione FFmpeg -disposition puoi impostare tu stesso il flag. Per impostazione predefinita, FFmpeg copia i flag dallo stream di input allo stream di output.
Un flag contenuto solo nel container passa al nuovo file solo se il nuovo formato può memorizzarlo. Il writer FFmpeg per MKV non ha codice per questo flag.
Perché è importante
Un file può contenere diversi stream audio, e questo flag può contrassegnarne uno come audio karaoke. Nei comandi FFmpeg, il selettore di stream disp:karaoke sceglie gli stream che hanno il flag.
Il flag è solo un'etichetta, quindi non dimostra ciò che senti. Un valore di 0 non dimostra che la canzone non abbia una versione karaoke o che non abbia testo.