FLAC

De Wikipedia, la enciclopedia libre
Free Lossless Audio Codec
Desarrollador
Fundación Xiph.Org / Josh Coalson[1]
FLAC.SourceForge.net
Información general
Extensión de archivo .flac
Tipo de MIME audio/x-flac[2]
Lanzamiento inicial 20 de julio de 2001
Última versión 1.4.3 (info)
23 de junio de 2023 (9 meses y 23 días)
Tipo de formato Códec de audio Formato de audio
Estándar(es) Especificaciones
Formato abierto Sí 

FLAC (sigla en idioma inglés de Free Lossless Audio Codec, Codec de Audio Libre Sin Pérdidas) es un códec de audio que permite que el audio digital sea comprimido sin pérdidas de tal manera que el tamaño del archivo de audio se reduce sin que se pierda ningún tipo de información. El audio digital comprimido por el algoritmo de FLAC típicamente se puede reducir de 50 a 60% de su tamaño original,[3]​ y se descomprime en una copia idéntica de los datos de audio originales.

FLAC es un formato abierto con licencia libre de derechos de autor y una implementación de referencia la cual es software libre. FLAC cuenta con soporte para etiquetado de metadatos, inclusión de la portada del álbum, y la búsqueda rápida.

FLAC no puede almacenar datos de coma flotante y el soporte de reproducción en dispositivos portátiles de audio y sistemas de audio de alta calidad es limitado en comparación con formatos con pérdida como MP3 o PCM sin comprimir, aunque dentro de los formatos sin pérdida FLAC es uno de los mejor soportados tanto por hardware como por software, solo igualado por ALAC, y superando al resto.[3][4]

Historia[editar]

El proyecto fue iniciado y desarrollado por el programador Josh Colson.[5]​ El formato de flujo de bits se congeló cuando FLAC entró en fase beta con el lanzamiento de la versión 0.5 de la implementación de referencia el 15 de enero de 2001. La versión 1.0 fue lanzada el 20 de julio de 2001.[1]

El 29 de enero de 2003, la Fundación Xiph.Org y el proyecto FLAC anunciaron la incorporación de este codec bajo la bandera de Xiph.org. Xiph.org está detrás de otros formatos de compresión libres tales como Icecast, Vorbis, Theora y Speex.[1][6]

La Versión 1.3.0 de FLAC fue lanzada el 26 de mayo de 2013. El desarrollo fue trasladado al repositorio de Xiph.org.[7]

El proyecto[editar]

El proyecto FLAC incluye:

  • El códec con el cual deberá ser codificada la información de audio.
  • El formato contenedor propiamente dicho.
  • La biblioteca libFLAC, que permite programar compresores y reproductores, además incluye los metadatos de los archivos.
  • LibFLAC++.
  • Flac, Permite codificar y decodificar los FLAC streams por medio de la línea de comandos usando la biblioteca libFLAC.
  • Metaflac, editor de metadatos para ficheros flac por medio de línea de comandos.
  • Plugins para diferentes reproductores de audio como Winamp y Foobar2000, entre otros.

Comparaciones[editar]

FLAC está diseñado para comprimir audio. Debido a ello, los archivos resultantes son reproducibles y útiles, además de ser más pequeños que si se hubiera aplicado directamente al archivo PCM un algoritmo de compresión estadística (como ZIP). Los algoritmos con pérdida pueden comprimir a más de 1/10 del tamaño inicial, a costa de descartar información; FLAC, en su lugar, usa la predicción lineal para convertir las muestras en series de pequeños números no correlativos (conocido como "residuos"), que se almacenan eficientemente usando la codificación Golomb-Rice. Además de esto, para aprovechar los silencios, donde los valores numéricos presentan mucha repetición, usa codificación por "longitud de pista" (RLE "Run-Length Encoding") para muestras idénticas.

RLE y RAE son conceptos provenientes de la lectura mecánica de los registros, y se corresponden a las lecturas con "Velocidad Lineal Constante" (CLV) que se emplea en las cintas magnetofónicas, y con "Velocidad Angular Constante" (CAV) que es característica de la grabación y reproducción de discos fonográficos. En los lectores de CD, se puede seleccionar un método u otro de reproducción, según los parámetros de grabación. El más común es CAV, pero el CLV permite una mayor linealidad en el registro; aunque requiere el concurso de servos para controlar la velocidad angular del rotor, según se acorta el radio de la pista.

FLAC se ha convertido en uno de los formatos preferidos para la venta de música por Internet, al igual que Monkey's Audio que funciona idénticamente bien. Además es usado en el intercambio de canciones por la red, como alternativa al MP3, cuando se desea obtener una mayor reducción del tamaño que en un archivo WAV-PCM, y no perder calidad de sonido. También es el formato ideal para realizar copias de seguridad de CD, ya que permite reproducir exactamente la información del original, y recuperarla en caso de problemas con este material.

Diseño[editar]

FLAC no soporta muestras en coma flotante, sino en coma fija. Admite cualquier resolución PCM de 4 a 32 bits por muestra y cualquier tasa de muestreo desde 1 hasta 655350 Hz, en incrementos de 1 Hz,[8]​ y cualquier número de canales de audio, desde 1 hasta 8.[9]

Los canales pueden ser agrupados en casos como en estéreo y 5.1 canales de surround para aprovechar las correlaciones entre canales e incrementar la compresión. FLAC utiliza sumas de comprobación de redundancia cíclica para identificar tramas de datos corruptas cuando es usado en un protocolo de flujo de audio, y además tiene un cálculo hash de MD5 del audio raw PCM almacenado en la cabecera de metadatos STREAMINFO.

FLAC usa la predicción lineal para convertir las muestras de audio en una serie de números pequeños sin correlación (conocidos como números de residuo), los cuales son almacenados eficientemente mediante el uso de la Codificación Golomb-Rice. También usa codificación RLE para bloques de muestras idénticas, como en los momentos de silencio del audio. Para el etiquetado de los archivos FLAC usa el mismo sistema Vorbis comments.[8]​ La API libFLAC está organizada en flujos, flujos de búsqueda y archivos, que figuran en orden creciente de abstracción del flujo de bits base de FLAC. La mayoría de las aplicaciones FLAC se suelen ceñir a la codificación/decodificación usando libFLAC en la interfaz de nivel de archivo.

Niveles de Compresión[editar]

La biblioteca del formato, libFLAC, usa un parámetro de nivel de compresión que varía desde 0 (más rápido) a 8 (más lento). Los archivos comprimidos son siempre perfectos, representación de los datos originales con poca pérdida. A pesar de que el proceso de compresión envuelve una compensación entre velocidad y tamaño, el proceso de decodificación es siempre bastante rápido y no muy dependiente del nivel de compresión.[10][11]

De acuerdo con la referencia WAV, usando las tasas más altas sobre el nivel -5, toma considerablemente más tiempo en codificar sin ganancias reales en ahorro en espacio.

Opción de
Compresión
Original Comprimido Duración Razón Tiempo de
Codificación
Tasa de
Codificación
Tiempo de
Decodificación
Tasa de
Decodificación
-0 2.030 GiB 1.435 GiB 03:18:21 70,67% 01:29 134x 01:24 141x
-5 2.030 GiB 1.334 GiB 03:18:21 65,72% (-4,95)% 03:44 53x (2,5x más lento) 01:36 124x
-6 2.030 GiB 1.334 GiB 03:18:21 65.71% (-4,96, -0.01)% 03:51 52x (2,6x más lento) 01:36 124x
-7 2.030 GiB 1.333 GiB 03:18:21 65,67% (-5, -0,04)% 07:47 25x (5,3x más lento) 01:36 123x
-8 2,030 GiB 1.329 GiB 03:18:21 65.47% (-5,2, -0,2)% 10:17 19x (7x más lento) 01:40 120x
-8 -Ax2 2.030 GiB 1.328 GiB 03:18:21 65.40% (-5,27, -0,07)% 16:39 12x (11x más lento) 01:35 125x

Tabla comparativa de funcionalidades[editar]

Habitualmente uno de los factores que más se tienen en cuenta a la hora de escoger este códec de audio es la compresión que aporta; sin embargo, dependiendo de cuál sea nuestra aplicación final y de si se consideran los medios de los que dispone el usuario, no siempre nos conviene ni el códec más rápido ni el que más comprima. En esta tabla queda demostrado que el FLAC es una buena opción en muchos de los distintos casos en los que un usuario se puede encontrar; aquí se comparan las funcionalidades más destacadas de este con las de otros códecs de audio sin pérdidas. Los códecs analizados son los siguientes:

Códec Cod Decod Comp. Flexible Robustez
error
Exp Etiquetado HW SW Híbrido/
C.Pérdidas
Streaming Código
Abierto
Multicanal Alta resolución SO
Wavpack Muy rápido Muy rápido 58% Muy Bueno ID3/APE Limitado Bueno Todos
ALAC Mediana Rápido 58.5% Malo No QT tags Bueno Malo No Sí(descodif) Win/MAC/iPad/iPhone
FLAC Rápido Muy rápido 58.7% Muy Bueno VorbisTag Muy Bueno Muy Bueno No Todos
Monkey's Rápido Mediano 55,5% Muy Bueno No ID3/APE Limitado Bueno No No No Todos
OptimFROG Lento Mediano 54.7% Muy Bueno ID3/APE No Poco No No Win/Mac
/Linux
Shorten Muy rápido Muy rápido 63.5% Malo No No Limitado Muy Bueno No No No No Todos

% Compresión: cuanto menor es más comprime.
Codificación y decod: velocidad requerida.
HW y SW: soporte y compatibilidad en ambos campos(Hardware y Software)
Exp: el contenido de la trama es explorable a nivel de muestra

Características de los archivos[editar]

Los archivos FLAC suelen tener esta misma extensión (*.FLAC), aunque no es raro encontrarlos como *.FLA; son perfectamente reproducibles con gran cantidad reproductores, especialmente de gama media y alta; incluso en computadoras antiguas, ya que una de las características del proyecto es que los archivos se descodifiquen en modo sencillo. Además permiten usar la función de búsqueda. Estos archivos son de velocidad de bits variable, ya que no todas las partes de una misma pista de audio son igualmente comprimibles.

Otra característica es que, como todos los formatos sin pérdida, la relación de compresión final depende mucho del estilo musical, la variedad sonora (la presencia de ruido, típica de instrumentos como la guitarra eléctrica o la batería) añade información «extra» al espectro sonoro en casi todas las frecuencias-. Para música más «limpia», espectralmente hablando, como la mayoría de la música para instrumentos acústicos y/o voz, se obtienen relaciones de aproximadamente 1/2,2; en otros estilos, como el dance o el rock, con un espectro sonoro generalmente más poblado, los archivos pueden quedar en desde 2/3 hasta 4/5 del tamaño original en formato PCM. Otro factor de mucha importancia es la existencia de los silencios, ya que algunas pistas tienen varios segundos al principio o al final; en el caso de muchas piezas de música artística hay silencios en diversas partes de la pista sonora.

Soporte Software[editar]


Ripeo[editar]

Soporte hardware[editar]

Véase también[editar]

Referencias[editar]

  1. a b c «FLAC - news». Consultado el 31 de agosto de 2009. 
  2. Se registra como audio/flac
  3. a b «FLAC Comparison». Consultado el 26 de septiembre de 2013. 
  4. «General lossless comparison». 
  5. «FLAC News». Consultado el 26 de septiembre de 2013. 
  6. «FLAC Joins Xiph.Org» (en inglés). 29 de enero de 2003. Consultado el 26 de septiembre de 2013. 
  7. Xiph.org Foundation (ed.). «FLAC – changelog». Consultado el 26 de septiembre de 2013. 
  8. a b «FLAC - faq». Consultado el 26 de septiembre de 2013. 
  9. FLAC (ed.). «Format». Consultado el 26 de septiembre de 2013. 
  10. CUETools FLAC encoders comparison. CUETools Wiki. Consultado el 27 de mayo de 2013.
  11. Encoding Settings. JRiver Media Centre. Consultado el 27 de mayo de 2013.
  12. Audacity development team (30 de octubre de 2006). «Audacity 1.3.2 a 1.2.5 released». Consultado el 19 de enero de 2010. 

Enlaces externos[editar]