FLAC: Guía Completa del Códec de Audio Libre sin Pérdida
FLAC (Free Lossless Audio Codec) es el estándar de facto para la compresión de audio sin pérdida. Desarrollado por Josh Coalson y publicado por la Fundación Xiph.Org en 2001, FLAC comprime el audio sin ninguna pérdida de información — un archivo FLAC decodificado es idéntico bit a bit a su fuente PCM. Con tasas de compresión típicas del 40–60% del tamaño original, FLAC es el formato principal para archivado audiófilo, ripeo de CDs y distribución de audio de alta resolución.
Por Qué Importa el Audio sin Pérdida
Los códecs con pérdida (MP3, AAC, Vorbis) descartan permanentemente información de audio considerada inaudible por los modelos psicoactústicos. Una vez codificado con pérdida, los datos descartados se pierden para siempre. FLAC almacena cada muestra de forma idéntica al original:
- Archivado: Ripear una colección de CDs a FLAC crea un archivo digital perfecto. Recodifica a cualquier formato con pérdida más tarde sin pérdida de generación.
- Masterización y producción: Los ingenieros de audio requieren formatos sin pérdida en toda la cadena de producción.
- Audio de alta resolución: Los archivos 24-bit/96kHz, 24-bit/192kHz de servicios de streaming (Qobuz, Tidal HiFi) se distribuyen como FLAC.
Estructura del Archivo FLAC
Un archivo FLAC consta de:
1. Marcador fLaC: Número mágico de 4 bytes 0x66 0x4C 0x61 0x43
2. Secuencia de METADATA_BLOCK:
- STREAMINFO (requerido): 34 bytes — tamaños de bloque mín/máx, tamaños de trama mín/máx, frecuencia de muestreo (hasta 655.350 Hz), número de canales (hasta 8), bits por muestra (4–32 bits), muestras totales, firma MD5 del flujo de audio decodificado
- PADDING: Bloque rellenado con ceros para ediciones futuras de etiquetas sin reescribir el archivo
- SEEKTABLE: Array de puntos de búsqueda (número de muestra → desplazamiento de bytes) para acceso aleatorio O(1)
- VORBIS_COMMENT: Pares clave=valor UTF-8 (TITLE, ARTIST, ALBUM, TRACKNUMBER, DATE, GENRE, REPLAYGAIN_TRACK_GAIN)
- PICTURE: Imágenes incrustadas (carátula del álbum) con tipo MIME, dimensiones, datos binarios
3. Secuencia de AUDIO FRAME: Tramas de tamaño variable
Codificación Predictiva Lineal (LPC)
El núcleo de compresión de FLAC es LPC. En lugar de almacenar muestras brutas, FLAC:
- Predice cada muestra a partir de muestras anteriores:
predicho_n = suma(coeficientes[i] * señal[n-i-1]) - Calcula residuos:
residuo[n] = real[n] - predicho[n] - Codifica residuos con códigos Rice: los residuos son típicamente números pequeños (cerca de cero) independientemente de la amplitud original
Niveles de Compresión
| Nivel | Tamaño de bloque | Orden LPC | Compresión | Velocidad |
|---|---|---|---|---|
| 0 | 1152 | FIJO 0–4 | ~55% | Muy rápido |
| 5 | 4096 | LPC 8 | ~50% | Moderado |
| 8 | 4096 | LPC 12 | ~45% | Lento |
La diferencia entre el nivel 0 y el nivel 8 es típicamente solo un 10–15% de compresión adicional al costo de una codificación 10× más lenta. El nivel 5 (por defecto) se recomienda para uso general.
Comandos de Codificación y Decodificación
# Codificar WAV a FLAC (nivel de compresión por defecto 5)
flac entrada.wav -o salida.flac
# Codificar con máxima compresión
flac -8 entrada.wav -o salida.flac
# Decodificar FLAC a WAV (verificar sin pérdida)
flac -d entrada.flac -o salida.wav
# Probar integridad (decodificar en memoria, verificar MD5)
flac -t entrada.flac
# FFmpeg: convertir a FLAC con 24-bit
ffmpeg -i entrada.wav -c:a flac -sample_fmt s32 salida.flac
# FFmpeg: FLAC a MP3 V2 (transcodificación desde archivo)
ffmpeg -i archivo.flac -codec:a libmp3lame -q:a 2 salida.mp3
# Calcular y etiquetar ReplayGain para un álbum
metaflac --add-replay-gain pista01.flac pista02.flac pista03.flac
FLAC vs Otros Formatos sin Pérdida
| Formato | Compresión | Profundidad de bits | Canales | Contenedor | Notas |
|---|---|---|---|---|---|
| FLAC | 40–60% | 4–32 bit | Hasta 8 | Nativo u Ogg | Abierto, sin regalías |
| ALAC | 40–60% | 16–32 bit | Hasta 8 | MP4/M4A | Formato Apple, nativo en iOS |
| WAV | 0% | 8–32 bit | Hasta 18 | RIFF | Universal, sin metadatos |
| AIFF | 0% | 8–32 bit | Hasta 2 | IFF | Apple legacy, sin comprimir |
| WMA Lossless | 50–60% | 16–24 bit | Hasta 8 | ASF | Solo Windows |
| Monkey's Audio | 50–70% | 8–32 bit | Hasta 2 | APE | Alta compresión, decode lento |
Ventajas de FLAC sobre ALAC: Especificación abierta, multiplataforma (incluyendo Linux, Android), soporte de software más amplio. Ventaja de ALAC: Soporte nativo en iOS/iPod/iTunes sin conversión.
Audio de Alta Resolución
FLAC admite formatos de alta resolución de forma nativa:
- 24-bit/96 kHz: "Hi-Res Audio" estándar de servicios de streaming. Tamaño de archivo ~5× mayor que FLAC de calidad CD (~60 MB para una pista de 4 minutos).
- 24-bit/192 kHz: Resolución de máster de estudio. ~120 MB para una pista de 4 minutos.
- La compatibilidad con frecuencias de muestreo se extiende hasta 655.350 Hz.
Conversiones relacionadas
Pares de formatos de audio más frecuentes: