Tutorial de conversión de FLAC a DSD: flujo completo de PCM sin pérdida a DSD64/128
FLAC es un contenedor sin pérdida para PCM — en sí mismo no es DSD. Para convertir FLAC a DSD (DSF/DFF) se necesita el flujo completo de remuestreo + conformación de ruido + modulación. Este tutorial ofrece comandos listos para ejecutar.
1. Primero entienda: qué cambia realmente al convertir FLAC a DSD
Un archivo FLAC contiene datos PCM en su interior (normalmente 16/24 bits, 44,1–192 kHz). Convertir a DSD implica:
- Descomprimir: FLAC → muestras PCM originales
- Remuestrear: frecuencia PCM → tasa DSD (44,1 kHz × 64 = 2,8224 MHz / DSD64)
- Conformar el ruido: cuantificación multibit → 1 bit, empujando el ruido de cuantificación a la banda ultrasónica
- Empaquetar: salida como DSF o DFF
La conversión es un mapeo de fuente sin pérdida a objetivo de alta precisión — la información del FLAC se conserva íntegra (el remuestreo no pierde datos, solo cambia la representación), pero no se "inventan" detalles de la nada.
2. Opción A: conversión directa por línea de comandos (archivo único, máximo control)
# FLAC → DSF (DSD64, IIR de 7.º orden por defecto)
DpdoEngine -i track.flac track.dsf --oversampling 64
# FLAC → DFF (DSD128, IIR de 11.º orden, buscando el límite del ruido in-band)
DpdoEngine -i track.flac track.dff --oversampling 128 --order 11
# FLAC → DSF (DSD256 + aceleración OpenCL + metadatos del álbum + informe)
DpdoEngine -i track.flac track.dsf --oversampling 256 \
--opencl --report --artist "Artist" --album "Album" --year "2026"
Referencia rápida de parámetros:
- --oversampling N: relación de sobremuestreo (64=DSD64, 128=DSD128, 256=DSD256)
- --order N: orden de conformación de ruido IIR (3/5/7/9/11, predeterminado 7)
- --opencl: aceleración GPU (OpenCL 1.2+)
- --report: genera un informe de análisis de la conversión
- --metadata-from-input: extrae automáticamente metadatos del archivo fuente (se puede sobrescribir con parámetros explícitos)
- --reverse: dirección inversa (DSD → PCM)
3. Opción B: conversión por lotes (álbum completo, un solo comando)
Usa el script por lotes convert incluido en el paquete de lanzamiento (requiere ffmpeg + DpdoEngine):
# Entra en el directorio con los archivos FLAC y convierte el lote a DSF (DSD64)
cd directorio-del-album
bash convert flac2dsf
# Especifica la tasa de salida (ejemplo: DSD128)
bash convert flac2dsf 128
Tipos de conversión soportados (script convert):
PCM/PCM: wav2flac, flac2wav, m4a2flac
DSD/PCM: dsf2flac, dsf2wav, dff2flac, dff2wav
PCM→DSD: wav2dsf, wav2dff, flac2dsf, flac2dff
PCM→DXD: wav2dxd_w64, wav2dxd_wav, wav2dxd_flac, flac2dxd_*
4. Cómo verificar el resultado
# Mide la distorsión y el piso de ruido del archivo DSD de salida (THD+N)
thdn track.dsf
# Compara el rendimiento in-band de diferentes órdenes de conformación de ruido
dsp_bench --input test.flac --order 9 --order 11
Puntos de verificación: - El piso de ruido in-band (20 Hz–20 kHz) alcanza lo esperado (el SNR teórico de DSD64 es del orden de 120 dB; el valor real depende del orden de conformación) - La consistencia de la respuesta en frecuencia con el PCM original tras la conversión (¿el filtro de remuestreo introdujo una desviación audible?) - Escucha real con tu DAC/reproductor (el juez final es la cadena de reproducción)
5. Preguntas frecuentes
¿Influye mucho la frecuencia de muestreo de la fuente FLAC? Las fuentes de 44,1 kHz se convierten perfectamente; las de 96/192 kHz son aún más holgadas en los niveles DSD128+ (menor error de interpolación en el remuestreo).
¿La salida puede ir directamente al empaquetado SACD? Sí. Alimenta la salida DSF/DFF directamente a DpdoPackSACD para construir un ISO SACD (ver el tutorial de empaquetado).
La conversión por lotes es lenta, ¿qué puedo hacer? Activa --opencl (aceleración GPU), o baja el orden (el IIR de 7.º orden es amigable en tiempo real en hardware modesto).
Escrito por Dpdo. Comandos verificados con DpdoEngine 6.68 y el script convert del paquete de lanzamiento.