FLAC ( / f l æ k / ; Free Lossless Audio Codec ) es un formato de codificación de audio para la compresión sin pérdidas de audio digital , desarrollado por la Fundación Xiph.Org , y también es el nombre del proyecto de software libre que produce las herramientas FLAC, el paquete de software de referencia que incluye una implementación de códec . El audio digital comprimido por el algoritmo de FLAC normalmente se puede reducir entre el 50 y el 70 por ciento de su tamaño original [4] y descomprimirse en una copia idéntica de los datos de audio originales.
![]() | |
![]() | |
Desarrollador (es) | Fundación Xiph.Org , Josh Coalson, Erik de Castro Lopo |
---|---|
Versión inicial | 20 de julio de 2001 |
Lanzamiento estable | 1.3.3 [1] / 4 de agosto de 2019 |
Repositorio | ![]() |
Sistema operativo | Multiplataforma |
Tipo | Códec |
Licencia | Herramientas de línea de comandos: Bibliotecas GNU GPL : BSD |
Sitio web | xiph |
Extensión de nombre de archivo | .flac |
---|---|
Tipo de medio de Internet | audio / flac |
Identificador de tipo uniforme (UTI) | org.xiph.flac |
número mágico | fLaC [2] |
Tipo de formato | Audio |
Estándar | xiph |
¿ Formato abierto ? | Sí [3] |
FLAC es un formato abierto con licencia libre de regalías y una implementación de referencia que es software libre . FLAC tiene soporte para etiquetado de metadatos , carátulas de álbumes y búsqueda rápida.
Historia
El desarrollo fue iniciado en 2000 por Josh Coalson. [5] El formato de flujo de bits se congeló cuando FLAC entró en la 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 se publicó el 20 de julio de 2001. [5]
El 29 de enero de 2003, la Fundación Xiph.Org y el proyecto FLAC anunciaron la incorporación de FLAC bajo el estandarte de Xiph.org. Xiph.org alberga otros formatos de compresión gratuitos como Vorbis , Theora , Speex y Opus . [5] [6] [7]
La versión 1.3.0 se lanzó el 26 de mayo de 2013, momento en el que el desarrollo se trasladó al repositorio de git de Xiph.org. [8]
Composición
El proyecto FLAC consta de:
- Los formatos de transmisión
- Un formato de contenedor simple para la transmisión, también llamado FLAC (o FLAC nativo )
- libFLAC, una biblioteca de codificadores y decodificadores de referencia y una interfaz de metadatos
- libFLAC ++, un contenedor orientado a objetos alrededor de libFLAC
flac
, un programa de línea de comandos basado en libFLAC para codificar y decodificar flujos FLACmetaflac
, un editor de metadatos de línea de comandos para archivos .flac y para aplicar ReplayGain- Complementos de entrada para varios reproductores de música ( Winamp , XMMS , foobar2000 , musikCube y muchos más)
- Con la incorporación de Xiph.org, el formato contenedor Ogg , apto para transmisión (también llamado Ogg FLAC )
Cualquier persona puede implementar la especificación del formato de transmisión sin permiso previo (Xiph.org se reserva el derecho de establecer la especificación FLAC y certificar el cumplimiento), y ni el formato FLAC ni ninguno de los métodos de codificación o decodificación implementados están cubiertos por ninguna patente. . La implementación de referencia es software libre . El código fuente para libFLAC y libFLAC ++ está disponible bajo la licencia BSD , y las fuentes para flac
, metaflac
y los plugins están disponibles bajo la Licencia Pública General de GNU .
En sus objetivos declarados, el proyecto FLAC alienta a sus desarrolladores a no implementar funciones de prevención de copia ( DRM ) de ningún tipo. [9]
Diseño
Las fuentes de audio codificadas en FLAC generalmente se reducen al 50-70% de su tamaño original, similar a otros formatos sin pérdida, aunque el tamaño final depende de la densidad y amplitud de la música que se comprime y, con algo de música, el tamaño del archivo se puede reducir. reducido hasta en un 80%. [4]
Codificador de fuente
- El formato FLAC solo admite muestras de números enteros , no de punto flotante . Puede manejar cualquier resolución de bits PCM de 4 a 32 bits por muestra, cualquier frecuencia de muestreo de 1 Hz a 65,535 Hz en incrementos de 1 Hz o de 10 Hz a 655,350 Hz en incrementos de 10 Hz, y cualquier número de canales de 1 a 8. [10] Hasta la fecha (versión 1.3.3 del codificador de referencia), la codificación FLAC está limitada a 24 bits por muestra, ya que no existe ningún codificador para 32 bits por muestra. [11]
- Los canales pueden ser agrupados en algunos casos, por ejemplo, estéreo y 5.1 canales de sonido envolvente , para aprovechar las correlaciones entre canales para aumentar la compresión.
- Las sumas de comprobación CRC se utilizan para identificar tramas corruptas cuando se utilizan en un protocolo de transmisión. El archivo también incluye un hash MD5 completo del audio PCM sin procesar en su encabezado de metadatos STREAMINFO . FLAC permite un parámetro Rice entre 0 y 16.
- FLAC utiliza la predicción lineal para convertir las muestras de audio. Hay dos pasos, el predictor y la codificación de errores. El predictor puede ser de cuatro tipos (cero, literal, lineal fijo y respuesta de impulso finito [ dudoso ] (FIR) lineal). La diferencia entre el predictor y los datos de muestra reales se calcula y se conoce como residual. El residuo se almacena de manera eficiente utilizando la codificación Golomb-Rice . También utiliza codificación de longitud de ejecución para bloques de muestras idénticas, como pasajes silenciosos.
Metadatos
- FLAC es compatible con ReplayGain .
- Para etiquetar, FLAC utiliza el mismo sistema que los comentarios de Vorbis . [12]
- La API libFLAC está organizada en flujos, flujos buscables y archivos (enumerados en el orden de abstracción creciente del flujo de bits FLAC base).
- La mayoría de las aplicaciones FLAC generalmente se limitarán a codificar / decodificar usando libFLAC en la interfaz de nivel de archivo.
Niveles de compresión
libFLAC usa un parámetro de nivel de compresión que varía de 0 (más rápido) a 8 (más lento). Los archivos comprimidos son siempre representaciones perfectas y sin pérdidas de los datos originales. Aunque el proceso de compresión implica una compensación entre la velocidad y el tamaño, el proceso de decodificación siempre es bastante rápido y no depende del nivel de compresión. [13] [14]
De acuerdo con un banco de pruebas .WAV que se ejecuta con un Athlon XP 2400+, [15] el uso de tasas más altas por encima del nivel predeterminado -5 requiere mucho más tiempo para codificar sin ganancias reales en el ahorro de espacio.
Opción de compresión | Original | Comprimido | Duración | Proporció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 | 134 × | 01:24 | 141 × |
−5 | 2,030 GiB | 1,334 GiB | 03:18:21 | 65,72% (-4,95)% | 03:44 | 53 × (2,5 × más lento) | 01:36 | 124 × |
−6 | 2,030 GiB | 1,334 GiB | 03:18:21 | 65,71% (-4,96; -0,01)% | 03:51 | 52 × (2,6 × más lento) | 01:36 | 124 × |
−7 | 2,030 GiB | 1,333 GiB | 03:18:21 | 65,67% (−5; −0,04)% | 07:47 | 25 × (5.3 × más lento) | 01:36 | 123 × |
−8 | 2,030 GiB | 1,329 GiB | 03:18:21 | 65,47% (−5,2; −0,2)% | 10:17 | 19 × (7 × más lento) | 01:40 | 120 × |
−8 -A tukey (0.5) -A flattop | 2,030 GiB | 1,328 GiB | 03:18:21 | 65,40% (−5,27; −0,07)% | 16:39 | 12 × (11 × más lento) | 01:35 | 125 × |
Comparación con otros formatos
FLAC está diseñado específicamente para el empaquetado eficiente de datos de audio, a diferencia de los algoritmos sin pérdida de propósito general como DEFLATE , que se utilizan en ZIP y gzip . Si bien ZIP puede reducir el tamaño de un archivo de audio con calidad de CD entre un 10 y un 20%, FLAC puede reducir el tamaño de los datos de audio entre un 40 y un 50% aprovechando las características del audio.
Los puntos fuertes técnicos de FLAC en comparación con otros formatos sin pérdidas residen en su capacidad para transmitirse y decodificarse rápidamente, independientemente del nivel de compresión.
Dado que FLAC es un esquema sin pérdidas, es adecuado como formato de archivo para propietarios de CD y otros medios que deseen preservar sus colecciones de audio. Si los medios originales se pierden, dañan o desgastan, una copia FLAC de las pistas de audio asegura que se pueda recuperar un duplicado exacto de los datos originales en cualquier momento. Es imposible una restauración exacta de una copia con pérdida (por ejemplo, MP3 ) de los mismos datos. El hecho de que FLAC no tenga pérdidas significa que es muy adecuado para la transcodificación, por ejemplo, a MP3, sin la pérdida de calidad de transcodificación normalmente asociada entre un formato con pérdida y otro. Un archivo CUE opcionalmente se puede crear cuando la rasgadura de un CD. Si un CD se lee y se copia perfectamente en archivos FLAC, el archivo CUE permite la grabación posterior de un CD de audio que sea idéntico en datos de audio al CD original, incluido el orden de las pistas y el espacio previo , pero excluyendo el texto del CD y otros datos adicionales como letras y gráficos en CD + G. [12]
Adopción e implementaciones
La implementación de referencia de FLAC se implementa como la biblioteca central de codificadores y decodificadores libFLAC , siendo el programa distribuible principal flac
la implementación de referencia de la API libFLAC. Esta API de códec también está disponible en C ++ como libFLAC ++. La implementación de referencia de FLAC se compila en muchas plataformas, incluida la mayoría de los sistemas operativos Unix (como Solaris , BSD ) y similares a Unix (incluido Linux ), Microsoft Windows , BeOS y OS / 2 . Hay sistemas de compilación para autoconf / automake , MSVC , Watcom C y Xcode . Actualmente no hay soporte multinúcleo en libFLAC, pero se pueden usar utilidades como GNU paralelo y varias interfaces gráficas para activar múltiples instancias del codificador.
La compatibilidad con la reproducción de FLAC en dispositivos de audio portátiles y sistemas de audio dedicados es limitada en comparación con formatos como MP3 [16] o PCM sin comprimir . La compatibilidad con FLAC se incluye de forma predeterminada en los dispositivos Windows 10 , Android , BlackBerry 10 y Jolla .
En 2014, varias empresas de electrónica móvil del mercado de accesorios introdujeron soluciones multimedia que incluyen soporte para FLAC. Estos incluyen la serie NEX de Pioneer Electronics y el VX404 y NX404 de Clarion.
La Unión Europea de Radiodifusión (EBU) ha adoptado el formato FLAC para la distribución de audio de alta calidad a través de su red Euroradio. [17] El sistema operativo Windows ha admitido la integración FLAC nativa desde la introducción de Windows 10. [18] El sistema operativo Android ha admitido la reproducción FLAC nativa desde la versión 3.1. [19] [20] macOS High Sierra e iOS 11 añaden compatibilidad con reproducción FLAC nativa. [21]
Entre otros, el reproductor de música Pono y el servicio de transmisión utilizan el formato FLAC. [22] [23] Bandcamp insiste en un formato sin pérdidas para la carga y tiene FLAC como opción de descarga. [24] La Fundación Wikimedia patrocinó una herramienta ECMAScript FLAC en línea gratuita y de código abierto para navegadores compatibles con las funciones HTML5 requeridas . [25]
Microsoft Windows | Mac OS | Linux | SO Android | BlackBerry OS | iOS | |
---|---|---|---|---|---|---|
Soporte de códec | sí | sí | sí | sí | sí | sí |
Soporte para contenedores | FLAC (.flac) Matroska (.mka, .mkv) | Formato de audio principal FLAC (.flac) (.caf) | FLAC (.flac) Matroska (.mka, .mkv) Ogg (.oga) | FLAC (.flac) | FLAC (.flac) | Formato de audio principal FLAC (.flac) (.caf) |
Notas | Soporte introducido en Windows 10. | Soporte introducido en High Sierra. | FLAC debe estar instalado. | Soporte introducido en Android 3.1 | Soporte introducido en BlackBerry OS 5.0 | Soporte introducido en iOS 11 (pero depende del hardware utilizado). |
Se admiten varios otros contenedores, independientemente del sistema operativo utilizado, según el software de reproducción utilizado.
Ver también
- Comparación de formatos de codificación de audio
Referencias
- ^ "FLAC 1.3.3 (4 de agosto de 2019)" .
- ^ Coalson, Josh. "Formato FLAC" . Consultado el 4 de abril de 2013 .
"fLaC", el marcador de flujo FLAC en ASCII, lo que significa que el byte 0 del flujo es 0x66, seguido de 0x4C 0x61 0x43
- ^ "PlayOgg!" . Fundación de Software Libre . 17 de marzo de 2010 . Consultado el 1 de octubre de 2013 .
- ^ a b "Mirando las relaciones de compresión Flac" . Steven Pigeon . Consultado el 10 de mayo de 2018 .
- ^ a b c "Noticias" . FLAC . Consultado el 31 de agosto de 2009 .
- ^ "FLAC se une a Xiph.org" . Fundación Xiph.org . 29 de enero de 2003 . Consultado el 31 de agosto de 2009 .
- ^ Planta, Emmett. "¡FLAC se une a Xiph!" . Fundación Xiph.org . Archivado desde el original el 29 de mayo de 2008 . Consultado el 31 de agosto de 2009 .
- ^ "FLAC - registro de cambios" . Fundación Xiph.org . Consultado el 15 de octubre de 2013 .
- ^ "Desarrolladores" . FLAC . Consultado el 15 de octubre de 2013 .
- ^ "Formato" . FLAC . Consultado el 20 de mayo de 2017 .
- ^ https://xiph.org/flac/changelog.html
- ^ a b "Preguntas frecuentes" . FLAC . Consultado el 23 de septiembre de 2014 .
- ^ "Comparación de encoders FLAC de CUETools" . CUETools Wiki . Consultado el 27 de mayo de 2013 .
- ^ "Configuración de codificación" . Centro de medios JRiver . Consultado el 27 de mayo de 2013 .
- ^ "Comparación de códecs sin pérdida" . Alma-sintética.co.uk . Archivado desde el original el 2 de febrero de 2009 . Consultado el 26 de noviembre de 2016 .
- ^ "Enlaces" . FLAC . Consultado el 24 de marzo de 2009 .
- ^ "¿Qué es el sistema EBU Musipop?" . EBU .
- ^ "Los snobs del audio se regocijan: Windows 10 tendrá soporte FLAC en todo el sistema" . PC World . Consultado el 10 de julio de 2015 .
- ^ "Formatos de medios compatibles con Android" . Android.com . 4 de agosto de 2011 . Consultado el 27 de febrero de 2012 .
- ^ "Problema 1461 - Android - Solicitud de mejora de soporte de archivos FLAC" . Código de Google . Consultado el 5 de agosto de 2011 .
- ^ "iOS 11 ofrece reproducción de audio FLAC sin pérdidas para iPhone y iPad" . idownloadblog.com . 9 de junio de 2017 . Consultado el 26 de septiembre de 2017 .
- ^ "Preguntas frecuentes" . ponomusic.com . 14 de marzo de 2014 . Consultado el 14 de marzo de 2014 .
- ^ "Inicio" . Qobuz.com . Consultado el 10 de abril de 2014 .
- ^ "¿Por qué no se cargan mis pistas?" . Bandcamp . Consultado el 21 de junio de 2015 .
- ^ Rillke (2015). "Descodificador y codificador JavaScript FLAC" . Consultado el 9 de febrero de 2015 .
enlaces externos
- Página web oficial
- Comparación de formatos de audio sin pérdida : medición de FLAC frente a otros cinco formatos de audio sin pérdida
- Comparación sin pérdida : FLAC contra otros siete formatos de audio sin pérdida en Hydrogenaudio
- Buscador de teléfonos GSMArena : todos los teléfonos y tabletas con soporte FLAC