Tutoriel FLAC vers DSD : du PCM sans perte au DSD64/128, le processus complet
Le FLAC est un conteneur sans perte pour le PCM — ce n'est pas du DSD. Pour convertir du FLAC en DSD (DSF/DFF), il faut passer par le processus complet de suréchantillonnage + mise en forme du bruit + modulation. Ce tutoriel fournit des commandes directement utilisables.
1. Comprendre d'abord : ce que convertit réellement le FLAC vers DSD
Un fichier FLAC contient des données PCM (généralement 16/24 bits, 44,1–192 kHz). Convertir en DSD signifie :
- Décompression : FLAC → échantillons PCM bruts
- Suréchantillonnage : fréquence PCM → débit DSD (44,1 kHz × 64 = 2,8224 MHz / DSD64)
- Mise en forme du bruit : quantification multi-bits → 1 bit, repoussant le bruit de quantification dans la bande ultrasonique
- Encapsulation : sortie en DSF ou DFF
La conversion est un mapping d'une source sans perte vers une cible haute précision — les informations contenues dans le FLAC sont intégralement préservées (le suréchantillonnage ne perd pas de données, il change seulement la représentation), mais aucun détail n'est « créé de toutes pièces ».
2. Option A : conversion en ligne de commande directe (fichier unique, contrôle maximal)
# FLAC → DSF (DSD64, défaut IIR ordre 7)
DpdoEngine -i track.flac track.dsf --oversampling 64
# FLAC → DFF (DSD128, IIR ordre 11, plancher de bruit in-band poussé à l'extrême)
DpdoEngine -i track.flac track.dff --oversampling 128 --order 11
# FLAC → DSF (DSD256 + accélération OpenCL + métadonnées d'album + rapport PDF)
DpdoEngine -i track.flac track.dsf --oversampling 256 \
--opencl --report --artist "Artist" --album "Album" --year "2026"
Aperçu rapide des paramètres :
- --oversampling N : ratio de suréchantillonnage (64=DSD64, 128=DSD128, 256=DSD256)
- --order N : ordre de mise en forme du bruit IIR (3/5/7/9/11, défaut 7)
- --opencl : accélération GPU (OpenCL 1.2+)
- --report : génère un rapport d'analyse de conversion
- --metadata-from-input : extrait automatiquement les métadonnées du fichier source (peut être écrasé par des paramètres explicites)
- --reverse : direction inverse (DSD → PCM)
3. Option B : conversion par lots (tout un album, une seule commande)
Utilisez le script de conversion par lots convert fourni avec le pack de distribution (nécessite ffmpeg + DpdoEngine) :
# Entrez dans le répertoire contenant les FLAC, convertissez-les en DSF par lots (DSD64)
cd repertoire-album
bash convert flac2dsf
# Précisez le débit de sortie (exemple : DSD128)
bash convert flac2dsf 128
Types de conversion pris en charge (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. Vérifier le résultat après conversion
# Mesurer la distorsion et le plancher de bruit du fichier DSD de sortie (THD+N)
thdn track.dsf
# Comparer les performances in-band de différents ordres de mise en forme du bruit
dsp_bench --input test.flac --order 9 --order 11
Points de vérification : - Le plancher de bruit in-band (20 Hz–20 kHz) atteint-il l'attendu (le SNR théorique du DSD64 est de l'ordre de 120 dB ; en pratique, il dépend de l'ordre de mise en forme) ? - La cohérence de la réponse en fréquence avec le PCM d'origine (le filtre de suréchantillonnage a-t-il introduit un écart audible ?) - Écoute réelle via DAC/lecteur (le juge final, c'est la chaîne de lecture)
5. Questions fréquentes
La fréquence de la source FLAC a-t-elle une grande influence ? Une source 44,1 kHz convertie en DSD est tout à fait utilisable ; les sources 96/192 kHz sont plus à l'aise en DSD128+ (erreur d'interpolation du suréchantillonnage plus faible).
Le résultat peut-il aller directement dans le packaging SACD ? Oui. Une fois la sortie DSF/DFF obtenue, utilisez directement DpdoPackSACD pour la packager en SACD ISO (voir le tutoriel de packaging).
La conversion par lots est lente, que faire ? Activez --opencl (accélération GPU), ou réduisez l'ordre (l'IIR ordre 7 a une meilleure tenue temps réel sur les machines modestes).
Écrit par Dpdo. Les commandes sont basées sur des mesures réelles avec DpdoEngine 6.68 et le script convert du pack de distribution.