Diccionario

Qué es el karaoke

El karaoke es cantar en directo sobre música grabada mientras lees las palabras en una pantalla. En un archivo multimedia, karaoke es una marca que identifica una pista como audio de karaoke.

karaoke

El karaoke es un sistema de música que reproduce el acompañamiento grabado de una canción popular. Un intérprete canta la canción en directo, normalmente siguiendo la letra en una pantalla de video. La palabra también se usa para nombrar la actuación en sí.

La palabra japonesa une kara, que significa vacío, con una forma corta de la palabra para orquesta. Así que karaoke significa literalmente orquesta vacía.

En un informe de metadatos, Karaoke es un campo con un significado más concreto. El nombre viene de ffprobe, el lector de archivos del proyecto FFmpeg.

FFmpeg lista cada parte de un archivo como un flujo independiente. Cada flujo recibe un conjunto de indicadores llamados disposición, como Karaoke y Attached Pic. La documentación de FFmpeg define este indicador en pocas palabras: el flujo contiene audio de karaoke.

Cómo son los valores

La opción -show_streams del lector ffprobe imprime el indicador para cada flujo, incluso en archivos sin música. Ese indicador tiene 2 valores en esa salida:

  • 0: el indicador está desactivado
  • 1: el indicador está activado, así que el flujo está marcado como audio de karaoke

La forma exacta depende del informe. Un informe JSON muestra "karaoke": 0 y un informe de texto plano muestra DISPOSITION:karaoke=0.

Qué archivos lo llevan

FFmpeg lee y escribe este indicador en algunos formatos, pero no en otros, como muestran estos ejemplos:

  • NUT: un flujo puede guardar la palabra karaoke en una etiqueta llamada Disposition
  • MKV: la especificación Matroska tiene indicadores como default, forced y commentary, pero no tiene un indicador de karaoke
  • MP4: la lista de FFmpeg de funciones de pista MP4 no tiene una entrada de karaoke
  • Audio AC-3 y E-AC-3: los datos de audio tienen un tipo de servicio y uno de los valores significa karaoke

FFmpeg convierte el tipo de servicio karaoke en el indicador cuando el audio tiene 2 o más canales, también en un archivo MKV o MP4. Con otros formatos de audio, un flujo en un archivo MKV o MP4 normalmente informa 0, incluso cuando la canción es una versión de karaoke.

Algunas canciones de karaoke usan un tipo de archivo propio. La Biblioteca del Congreso indica la extensión de archivo kar para archivos MIDI de karaoke.

Dónde se guardan las palabras de la canción

El indicador Karaoke no guarda palabras, solo el número 0 o 1. FFmpeg tiene un indicador separado, Lyrics, para un flujo con la letra de la canción. El texto en sí se guarda en un lugar distinto según el formato:

  • MP3: el frame USLT de ID3v2 guarda la letra sin tiempos, y el frame SYLT guarda una marca de tiempo para cada sílaba o unidad de texto
  • MKV: una etiqueta LYRICS guarda las palabras cuando no se conoce el tiempo, o como copia de una pista de subtítulos

De dónde proviene el valor

FFmpeg establece los indicadores cuando crea cada flujo o más tarde, cuando lo analiza. Para un archivo NUT, FFmpeg lee los indicadores de la etiqueta Disposition. Para audio AC-3, FFmpeg lee el tipo de servicio de los datos de audio.

Con la opción -disposition de FFmpeg, puedes establecer tú mismo el indicador. De forma predeterminada, FFmpeg copia los indicadores del flujo de entrada al flujo de salida.

Un indicador que solo guarda el contenedor llega al archivo nuevo solo si el formato nuevo puede almacenarlo. El escritor de FFmpeg para MKV no tiene código para este indicador.

Por qué es importante

Un archivo puede contener varios flujos de audio y este indicador puede marcar uno de ellos como audio de karaoke. En los comandos de FFmpeg, el selector de flujo disp:karaoke elige los flujos que tienen el indicador.

El indicador es solo una etiqueta, así que no demuestra lo que oyes. Un valor de 0 no demuestra que la canción no tenga una versión de karaoke ni que no tenga letra.