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:

  1. Descomprimir: FLAC → muestras PCM originales
  2. Remuestrear: frecuencia PCM → tasa DSD (44,1 kHz × 64 = 2,8224 MHz / DSD64)
  3. Conformar el ruido: cuantificación multibit → 1 bit, empujando el ruido de cuantificación a la banda ultrasónica
  4. 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.