FLAC (Free Lossless Audio Codec) – El formato de compresión sin pérdida que se convirtió en el estándar universal del audio de alta calidad
Descripción del formato y herramientas FLAC
FLAC (Free Lossless Audio Codec) es un formato de compresión de audio sin pérdida (lossless) desarrollado por Josh Coalson en el año 2000, y actualmente mantenido por la Xiph.Org Foundation. A diferencia de los formatos con pérdida como MP3 o AAC que descartan información para reducir el tamaño del archivo, FLAC preserva cada bit de la grabación original, garantizando que al descomprimir el archivo se recupere una copia idéntica a la fuente original.
La primera versión estable 1.0 fue lanzada el 20 de julio de 2001, y desde entonces el formato ha evolucionado hasta convertirse en el estándar de facto para el archivado de música de alta calidad. El 29 de enero de 2003, FLAC pasó a formar parte de la Xiph.Org Foundation, junto a otros formatos libres como Vorbis, Theora, Speex y Opus.
El 1 de marzo de 2025, se lanzó la versión 1.5.0, que introduce mejoras significativas como el codificación multihilo (multithreaded encoding), Ogg FLAC chain support y optimizaciones en el algoritmo LPC.
Un hito importante en la historia del formato ocurrió en diciembre de 2024, cuando la IETF (Internet Engineering Task Force) publicó el RFC 9639, estandarizando formalmente FLAC como un estándar de Internet, con especial atención a su uso en archivado y preservación digital.
La implementación de referencia de FLAC se distribuye bajo una licencia dual: las herramientas de línea de comandos (flac, metaflac) están bajo GNU GPL, mientras que las bibliotecas (libFLAC, libFLAC++) utilizan la licencia BSD, lo que permite su uso tanto en proyectos de código abierto como en aplicaciones comerciales.
¿Necesitas archivar tu colección de música en CD o en alta resolución sin perder calidad, utilizando un formato compatible con prácticamente todos los dispositivos y sistemas operativos modernos?
Características clave de FLAC
1. Compresión sin pérdida de alta eficiencia (50-70% del original)
FLAC reduce el tamaño de los archivos de audio sin perder absolutamente nada de información. Un archivo de CD de audio (44.1 kHz, 16-bit estéreo) que ocupa aproximadamente 10 MB por minuto en formato WAV se reduce a entre 5 y 7 MB por minuto en FLAC. La relación de compresión típica oscila entre el 50% y el 70% del tamaño original, dependiendo de la complejidad del contenido musical.
El algoritmo de compresión de FLAC consta de varias etapas:
- Bloqueo (Blocking): La señal de audio se divide en bloques contiguos (frames)
- Codificación entre canales (Interchannel Decorrelation): Para audio estéreo, FLAC puede transformar la señal izquierda-derecha en señal mid-side (suma-diferencia) para eliminar redundancia entre canales
- Predicción (Prediction): Se utiliza un modelo predictivo (lineal o fijo) para estimar las muestras basándose en muestras anteriores, reduciendo la redundancia temporal
- Codificación residual (Residual Coding): La diferencia entre la señal original y la predicción (error residual) se comprime mediante Rice coding, una técnica de codificación entrópica que aprovecha que los residuos suelen ser pequeños
2. Nueve niveles de compresión ajustables (0 a 8)
FLAC ofrece 9 niveles de compresión (del 0 al 8), que permiten al usuario elegir entre velocidad de codificación y tamaño del archivo final:
| Nivel | Nombre | Características | Uso recomendado |
|---|---|---|---|
| -0 | Fastest | Codificación rápida, compresión moderada | Conversión rápida de lotes grandes |
| -1 | Similar a -0 con mid-side coding | ||
| -2 | Añade optimización de parámetros Rice | ||
| -3 | Reservado | ||
| -4 | LPC order 8 | ||
| -5 | LPC order 8 con mid-side | ||
| -6 | Default | LPC order 8 con mid-side y optimización Rice | Recomendado para la mayoría |
| -7 | Reservado | ||
| -8 | Best (–best) | Máxima compresión (LPC order 32, exhaustive model search) | Archivado de larga duración |
El nivel -6 (predeterminado) ofrece un excelente equilibrio entre tamaño de archivo y tiempo de codificación. El nivel -8 (equivalente a --best) proporciona la máxima compresión, pero el proceso de codificación es significativamente más lento y la ganancia en tamaño respecto al nivel 5 es mínima (a menudo menos del 1-2%). Es importante destacar que la velocidad de decodificación es prácticamente independiente del nivel de compresión, lo que significa que incluso los archivos comprimidos al máximo nivel se reproducen sin problemas en dispositivos modernos.
3. Soporte para alta resolución y audio multicanal
FLAC es extremadamente versátil en cuanto a las especificaciones de audio que puede manejar:
- Frecuencia de muestreo: Desde 1 Hz hasta 655,350 Hz (prácticamente cualquier frecuencia imaginable)
- Profundidad de bits: De 4 a 32 bits por muestra (incluyendo 16-bit, 24-bit y 32-bit)
- Canales: De 1 a 8 canales (mono, estéreo, 5.1, 7.1, etc.)
- Tamaño de archivo: Sin límite práctico (soporta archivos >4 GB mediante seek tables)
Esta flexibilidad hace que FLAC sea adecuado tanto para archivar CDs de audio estándar (16-bit/44.1 kHz) como para masters de estudio en alta resolución (24-bit/192 kHz) y bandas sonoras multicanal.
4. Integridad de datos con checksum MD5 y marcos independientes
FLAC incorpora múltiples mecanismos para garantizar la integridad de los datos:
- MD5 signature: Al codificar un archivo, FLAC calcula y almacena la suma MD5 de la señal PCM original. Al decodificar, se verifica que la suma coincida, detectando cualquier corrupción de datos
- CRC checksum por frame: Cada frame de audio tiene su propio CRC16, lo que permite detectar errores localizados
- Frames independientes: Cada frame puede decodificarse sin depender de frames anteriores, lo que limita el daño de una posible corrupción al frame afectado solamente
5. Edición de metadatos con Vorbis comments y soporte para carátulas
FLAC utiliza el sistema de metadatos Vorbis comments para almacenar información textual como artista, título, álbum, género, número de pista, etc.. Este sistema es flexible y permite añadir campos personalizados.
Además, FLAC soporta:
- Carátulas (album art): Imágenes incrustadas en el archivo, típicamente en formato JPEG o PNG
- CUE sheets: Información de la estructura del CD original (pistas, índices, pregaps), que permite recrear un CD idéntico al original
- Streamable metadata: Los metadatos se almacenan al inicio del archivo, permitiendo a los reproductores acceder a ellos sin tener que escanear todo el archivo
6. Compatibilidad universal con hardware y software modernos
A diferencia de los primeros años del formato, hoy FLAC es compatible con prácticamente todos los sistemas operativos, reproductores de software y dispositivos de hardware modernos:
Sistemas operativos:
- Windows: Soporte nativo desde Windows 10 (sin necesidad de codecs adicionales)
- macOS: Soporte nativo desde macOS 10.13 High Sierra
- Android: Soporte nativo desde Android 3.1
- iOS: Soporte nativo desde iOS 11
Reproductores de software (lista parcial):
- Windows: foobar2000, Winamp (con plugin), Media Player Classic, VLC, MusicBee, AIMP
- macOS: VLC, IINA, Cog, Swinsian
- Linux: Rhythmbox, Amarok, Clementine, VLC, Audacious
- Móviles: VLC para Android/iOS, Poweramp (Android), Onkyo HF Player
Dispositivos de hardware:
- Reproductores portátiles: FiiO, Astell&Kern, Sony Walkman (modelos de gama alta), Cowon, SanDisk Sansa (con firmware actualizado)
- Automóviles: La mayoría de marcas de automóviles de gama media-alta soportan FLAC en sus sistemas de infoentretenimiento (BMW, Audi, Mercedes, Tesla, etc.)
- Receptores AV: Denon, Yamaha, Onkyo, Pioneer (modelos con puerto USB)
Explicación detallada del funcionamiento
FLAC es tanto un formato de archivo (.flac) como un conjunto de herramientas de software (codificador, decodificador, bibliotecas). El formato está documentado en la especificación RFC 9639, publicada por la IETF en diciembre de 2024.
La arquitectura de un archivo FLAC sigue esta estructura:
- Cabecera (Magic Number): Los primeros 4 bytes del archivo son
fLaC(en ASCII), que identifica el archivo como FLAC - Metadatos (Metadata blocks): Almacenan información sobre el flujo de audio: frecuencia de muestreo, número de canales, profundidad de bits, número total de muestras, MD5 signature, y bloques opcionales como Vorbis comments, pictures (carátulas) y CUE sheets
- Frames de audio: Cada frame contiene una cabecera de frame, los subframes codificados (uno por canal), y un checksum CRC16. Cada frame es independiente, lo que permite la búsqueda (seeking) y la recuperación ante errores
El flujo de codificación típico sigue estos pasos:
- Entrada: Audio PCM (WAV, AIFF, o raw) es leído por el codificador
- Bloqueo: La señal se divide en bloques (frames). El tamaño del bloque puede ser fijo o variable
- Codificación entre canales: Para audio estéreo, el codificador puede elegir entre:
- Independent: Cada canal se codifica por separado
- Mid-side: Se codifica la suma (mid) y la diferencia (side) de los canales, eliminando redundancia
- Left-side: Se codifica el canal izquierdo y la diferencia
- Side-right: Se codifica el canal derecho y la diferencia
- Predicción: Para cada subframe, el codificador intenta predecir las muestras basándose en muestras anteriores. Puede usar:
- Fixed predictor: Predictores de orden 0 a 4 (rápidos, compresión moderada)
- LPC (Linear Predictive Coding): Predictor de orden hasta 32 (mejor compresión, más lento)
- Codificación residual: La diferencia entre la señal original y la predicción (residuo) se codifica con Rice coding, una técnica que comprime eficientemente números pequeños
- Salida: Se escribe el archivo
.flaccon la estructura descrita
El flujo de decodificación es el inverso: se lee el archivo, se decodifica el residual, se aplica la predicción inversa, se decodifican los canales (si se usó mid-side), y se reconstruye la señal PCM original, idéntica bit a bit a la entrada.
Descarga e instalación de las herramientas FLAC
Paquete de herramientas de línea de comandos (flac, metaflac)
- Página oficial: xiph.org/flac
- Versión actual: 1.5.0 (1 de marzo de 2025)
- Tamaño: Aproximadamente 2-3 MB (binarios para Windows)
- Sistemas operativos compatibles: Windows (7/8/10/11), macOS, Linux, BSD
- Licencia: Herramientas (GPL), bibliotecas (BSD)
- Idiomas: Inglés (línea de comandos)
Instalación en Windows:
- Descarga los binarios precompilados desde la página oficial (flac-1.5.0-win.zip)
- Extrae el contenido del ZIP en una carpeta (ej.
C:\FLAC) - Añade esa carpeta al PATH del sistema para usar los comandos desde cualquier ubicación
Instalación en Linux (la mayoría de distribuciones incluyen FLAC en sus repositorios):
# Debian/Ubuntu
sudo apt install flac
# Fedora
sudo dnf install flac
# Arch Linux
sudo pacman -S flacInstalación en macOS (usando Homebrew):
brew install flacFrontends gráficos (alternativa a la línea de comandos)
Si prefieres una interfaz gráfica, existen numerosas aplicaciones que utilizan FLAC como backend:
- Windows: foobar2000, dBpoweramp, Exact Audio Copy (EAC), MediaMonkey
- macOS: XLD, Max, fre:ac
- Linux: SoundConverter, Asunder, Audacity
- Multiplataforma: Audacity, fre:ac, VLC (conversión limitada)
Cómo usar las herramientas FLAC (línea de comandos)
Codificar audio WAV a FLAC
Paso 1: Codificación básica
Para codificar un archivo WAV a FLAC con la configuración predeterminada (nivel de compresión 5):
flac audio.wavEste comando generará un archivo audio.flac en el mismo directorio, manteniendo el archivo WAV original.
Paso 2: Especificar el nivel de compresión
Para un equilibrio entre velocidad y tamaño (recomendado):
flac -6 audio.wavPara máxima compresión (más lento, archivos ligeramente más pequeños):
flac -8 audio.wavPaso 3: Codificación por lotes de múltiples archivos
Para codificar todos los archivos WAV de una carpeta:
flac *.wavPaso 4: Especificar el archivo de salida
flac audio.wav -o salida.flacDecodificar FLAC a WAV
Paso 1: Decodificación básica
flac -d audio.flacEsto generará audio.wav en el mismo directorio.
Paso 2: Decodificación a un archivo específico
flac -d audio.flac -o salida.wavVerificar la integridad de archivos FLAC
Paso 1: Probar un solo archivo
flac -t audio.flacSi el archivo está intacto, flac mostrará «OK». Si hay corrupción, se mostrará un error.
Paso 2: Probar todos los archivos de una carpeta
flac -t *.flacAñadir y editar metadatos
Paso 1: Añadir etiquetas durante la codificación
flac audio.wav --tag="ARTIST=Nirvana" --tag="ALBUM=Nevermind" --tag="TRACKNUMBER=02" --tag="TITLE=Come as You Are"Paso 2: Editar metadatos de un archivo existente con metaflac
metaflac --set-tag="ARTIST=Nirvana" audio.flac
metaflac --remove-tag="COMMENT" audio.flacPaso 3: Ver los metadatos de un archivo
metaflac --list audio.flacEliminar archivos originales tras la codificación
Paso 1: Eliminar automáticamente los archivos WAV de entrada
flac --delete-input-file audio.wav⚠️ Advertencia: Esta acción es irreversible. Asegúrate de tener una copia de seguridad si aún necesitas los WAV.
Observaciones sobre el formato FLAC
Frente a otros formatos de compresión sin pérdida como Monkey’s Audio (APE), WavPack o ALAC (Apple Lossless), FLAC se posiciona como el estándar universal gracias a su excelente equilibrio entre compresión, velocidad y compatibilidad.
Comparativa con Monkey’s Audio (APE):
| Característica | FLAC | Monkey’s Audio (APE) |
|---|---|---|
| Compresión | 50-70% del original | Ligeramente mejor (45-65%) |
| Velocidad de decodificación | Muy rápida | Más lenta |
| Compatibilidad hardware | Universal (Windows, macOS, iOS, Android, automóviles) | Limitada (requiere Rockbox o software específico) |
| Soporte multiplataforma | Nativo en todos los sistemas | Oficialmente solo Windows |
| Tolerancia a errores | Frames independientes, CRC | Detiene la decodificación al encontrar un error |
| Licencia | BSD/GPL (código abierto) | BSD desde 2023 (antes ambigua) |
| Multithreading | Sí (desde 1.5.0) | No |
| Estandarización | RFC 9639 (2024) | No |
Para el usuario final, el beneficio práctico de FLAC es no tener que preocuparse por la compatibilidad. Si tienes un archivo FLAC, puedes reproducirlo en prácticamente cualquier dispositivo moderno: tu teléfono Android, tu iPhone, tu ordenador con Windows, tu Mac, tu sistema de audio del coche, tu receptor AV, etc..
Además, si alguna vez necesitas convertir tu colección a otro formato (por ejemplo, MP3 para un dispositivo antiguo), FLAC es la fuente ideal para la transcodificación, ya que preserva toda la calidad original.
El desarrollo de FLAC es muy activo. La versión 1.5.0 (marzo de 2025) introdujo una de las características más solicitadas durante años: codificación multihilo (multithreaded encoding), que acelera significativamente la codificación en procesadores con múltiples núcleos.
También se añadió soporte para Ogg FLAC chain support, meta data safe writing y optimizaciones en el algoritmo LPC. Además, se está trabajando en FLAC 3.0, que planea soportar formatos de audio inmersivo como Dolby Atmos Music.
La estandarización por parte de la IETF (RFC 9639) es otro hito importante. Este proceso fue impulsado específicamente pensando en el archivado y preservación digital, y la NARA (National Archives and Records Administration de EE.UU.) tiene a FLAC listado como un formato preferido para audio digital.
En cuanto a la eficiencia de compresión, aunque Monkey’s Audio (APE) puede ofrecer archivos ligeramente más pequeños (entre un 5 y un 10% más pequeños en algunos casos), esta ganancia tiene un coste en velocidad de decodificación y, especialmente, en compatibilidad. Para la mayoría de los usuarios, la compatibilidad universal y la velocidad de FLAC superan con creces la ligera ventaja en tamaño de APE.
Limitaciones importantes
- ❌ Los archivos FLAC son grandes en comparación con MP3: Un archivo FLAC ocupa aproximadamente 5-7 MB por minuto, frente a 1-2 MB por minuto de un MP3 de alta calidad. No es adecuado para dispositivos con almacenamiento muy limitado.
- ❌ No es compatible con todos los dispositivos antiguos: Aunque el soporte es universal en hardware moderno, algunos reproductores MP3 antiguos (anteriores a 2010) y sistemas de sonido de coche de gama baja pueden no reconocer FLAC.
- ❌ Curva de aprendizaje para la línea de comandos: La herramienta oficial
flaces de línea de comandos, lo que puede intimidar a usuarios no técnicos (aunque existen frontends gráficos como foobar2000 o XLD). - ❌ El nivel de compresión máximo (-8) es muy lento: Codificar una biblioteca grande al nivel -8 puede llevar mucho tiempo, con ganancias de espacio mínimas respecto al nivel predeterminado (-6).
Alternativa recomendada
Si buscas un formato de compresión sin pérdida con archivos aún más pequeños que FLAC y no te importa una compatibilidad más limitada, Monkey’s Audio (APE) sigue siendo una opción viable, especialmente para archivado a largo plazo. Sin embargo, para la mayoría de los usuarios, la compatibilidad universal y el soporte activo de FLAC lo convierten en la opción superior.
Si necesitas compatibilidad con el ecosistema Apple (iTunes, iPhone, iPad), ALAC (Apple Lossless Audio Codec) es una excelente alternativa. Ofrece una compresión similar a FLAC y es totalmente compatible con todos los dispositivos Apple, aunque menos extendido fuera de ese ecosistema.
Si buscas un formato que combine compresión sin pérdida con capacidades avanzadas de corrección de errores y metadatos muy flexibles, WavPack es una alternativa potente, aunque con menos soporte de hardware.
FLAC es, sin duda, el formato de compresión de audio sin pérdida más recomendado para la mayoría de los usuarios. Su combinación de compresión eficiente, decodificación rápida, compatibilidad universal y estandarización oficial lo convierten en la opción ideal para archivar colecciones de música, distribuir audio de alta calidad y transcodificar a otros formatos cuando sea necesario.
Sección FAQ
¿FLAC es gratis o de pago?
FLAC es completamente gratuito y de código abierto. Las herramientas de línea de comandos (flac, metaflac) están bajo licencia GNU GPL, mientras que las bibliotecas (libFLAC) utilizan la licencia BSD. No hay versiones de pago, funcionalidades bloqueadas ni suscripciones.
¿Funciona en Linux, macOS, Windows 10 y Windows 11?
Sí, FLAC es multiplataforma. Los archivos FLAC se pueden reproducir de forma nativa en Windows 10/11 (sin codecs adicionales), macOS (desde High Sierra 10.13), Android (desde 3.1) y iOS (desde 11). Las herramientas de línea de comandos están disponibles para todos estos sistemas operativos.
¿Qué diferencia a FLAC de MP3?
La diferencia fundamental es que FLAC es sin pérdida (lossless) y MP3 es con pérdida (lossy). FLAC preserva todos los datos originales del audio, mientras que MP3 descarta información para reducir el tamaño del archivo. Un archivo FLAC ocupa aproximadamente 5 veces más que un MP3 de 192 kbps, pero la calidad es idéntica a la fuente original. FLAC es ideal para archivado y para sistemas de audio de alta fidelidad; MP3 es adecuado para dispositivos portátiles con almacenamiento limitado.
¿Puedo reproducir FLAC en mi iPhone o iPad?
Sí, iOS soporta FLAC de forma nativa desde iOS 11. Puedes transferir archivos FLAC a tu dispositivo mediante la app Archivos y reproducirlos con la app Música o con reproductores de terceros como VLC. Sin embargo, la app Música de Apple no añade archivos FLAC a la biblioteca de iCloud; para eso necesitas convertir a ALAC.
¿Qué ha pasado con el desarrollo de FLAC?
El desarrollo de FLAC es muy activo. La última versión estable es la 1.5.0 (marzo de 2025), que introdujo codificación multihilo, Ogg FLAC chain support y optimizaciones LPC. El formato fue estandarizado por la IETF como RFC 9639 en diciembre de 2024. Se está trabajando en FLAC 3.0, que planea soportar formatos de audio inmersivo como Dolby Atmos Music.
