Le karaoké est un système musical qui diffuse un accompagnement enregistré d'une chanson populaire. Un interprète chante la chanson en direct, généralement en suivant les paroles sur un écran vidéo. Le mot désigne aussi la performance elle-même.
Ce mot japonais associe kara, qui signifie vide, à une forme abrégée du mot pour orchestre. Le karaoké signifie donc littéralement orchestre vide.
Dans un rapport de métadonnées, Karaoké est un champ avec un sens plus précis. Ce nom vient de ffprobe, le lecteur de fichiers du projet FFmpeg.
FFmpeg liste chaque partie d'un fichier comme un flux distinct. Chaque flux reçoit un ensemble d'indicateurs appelés disposition, comme Karaoke et Attached Pic. La documentation FFmpeg définit cet indicateur en quelques mots : le flux contient de l'audio de karaoké.
À quoi ressemblent les valeurs
L'option -show_streams du lecteur ffprobe affiche l'indicateur pour chaque flux, même dans les fichiers sans musique. Dans cette sortie, l'indicateur a 2 valeurs possibles :
0: l'indicateur est désactivé1: l'indicateur est activé, le flux est donc marqué comme audio de karaoké
La forme exacte dépend du rapport. Un rapport JSON affiche "karaoke": 0, et un rapport en texte brut affiche DISPOSITION:karaoke=0.
Quels fichiers le portent
FFmpeg lit et écrit cet indicateur dans certains formats, mais pas dans d'autres, comme le montrent ces exemples :
- NUT : un flux peut stocker le mot
karaokedans une balise appeléeDisposition - MKV : la spécification Matroska prévoit des indicateurs comme default, forced et commentary, mais aucun indicateur karaoke
- MP4 : la liste FFmpeg des rôles de piste MP4 ne comporte aucune entrée karaoke
- Audio AC-3 et E-AC-3 : les données audio ont un type de service, et l'une des valeurs signifie karaoké
FFmpeg convertit ce type de service karaoké en indicateur lorsque l'audio comporte 2 canaux ou plus, y compris dans un fichier MKV ou MP4. Avec d'autres formats audio, un flux dans un fichier MKV ou MP4 indique normalement 0, même lorsque la chanson est une version karaoké.
Certaines chansons de karaoké utilisent un type de fichier spécifique. La Library of Congress répertorie l'extension de fichier kar pour les fichiers MIDI de karaoké.
Où les paroles de la chanson sont stockées
L'indicateur Karaoke ne contient aucun mot, seulement le nombre 0 ou 1. FFmpeg a un indicateur séparé Lyrics pour un flux contenant les paroles d'une chanson. Le texte lui-même se trouve à un autre emplacement selon le format :
- MP3 : l'image ID3v2 USLT contient les paroles sans minutage, et l'image SYLT stocke un horodatage pour chaque syllabe ou unité de texte
- MKV : une balise
LYRICScontient les paroles lorsque le minutage n'est pas connu, ou comme copie d'une piste de sous-titres
D'où vient la valeur
FFmpeg définit les indicateurs lorsqu'il crée chaque flux, ou plus tard lorsqu'il l'analyse. Pour un fichier NUT, FFmpeg lit les indicateurs dans la balise Disposition. Pour l'audio AC-3, FFmpeg lit le type de service dans les données audio.
Avec l'option FFmpeg -disposition, vous pouvez définir vous-même l'indicateur. Par défaut, FFmpeg copie les indicateurs du flux d'entrée vers le flux de sortie.
Un indicateur stocké uniquement dans le conteneur n'atteint le nouveau fichier que si le nouveau format peut le conserver. Le module d'écriture FFmpeg pour MKV ne contient aucun code pour cet indicateur.
Pourquoi c'est important
Un fichier peut contenir plusieurs flux audio, et cet indicateur peut en marquer un comme audio de karaoké. Dans les commandes FFmpeg, le sélecteur de flux disp:karaoke choisit les flux qui ont cet indicateur.
L'indicateur n'est qu'une étiquette, il ne prouve donc pas ce que vous entendez. Une valeur de 0 ne prouve pas que la chanson n'a aucune version de karaoké ni aucune parole.