Conversion par lots et enregistrement


Mode par lots

for f in *.flac; do
	  DpdoEngine -i "$f" "${f%.flac}.dsf" --oversampling 128 --order 7
	done
	
find /music/pcm -name "*.flac" | while read f; do
	  outdir="/music/dsd${f#/music/pcm}"
	  mkdir -p "$(dirname "$outdir")"
	  DpdoEngine -i "$f" "${outdir%.flac}.dsf" --oversampling 128 --order 7
	done
	

Parallèle

find . -name "*.flac" -print0 | xargs -0 -n1 -P4 -I{} sh -c \
	  'f="{}"; DpdoEngine -i "$f" "${f%.flac}.dsf" --oversampling 128 --order 7 --opencl'
	
	find . -name "*.flac" | parallel DpdoEngine -i {} {.}.dsf --oversampling 128 --order 7
	

Mode pipe

cat input.wav | DpdoEngine -i pipe output.dsf --oversampling 64 --pipe
	ffmpeg -i source.flac -f wav - | DpdoEngine -i pipe output.dsf --oversampling 128 --pipe
	
ffmpeg -i track.flac -f wav - | \
	  DpdoEngine -i pipe track.dsf --oversampling 128 --order 7 --lufs -16 --pipe
	
DpdoEngine -i input.flac output.dsf --oversampling 64 --pipe | DpdoPlayer - --vol 80
	

Mode enregistrement

DpdoEngine --record recording.dsf
	
ParamètreDescriptionExemple
--recordEnregistrement (mono, q = stop)--record
--record-device NAMEPériphérique--record-device "USB Mic"
--record-samplerate HZFréquence (0=auto)--record-samplerate 44100
--record-channels NCanaux (0=auto)--record-channels 2
--record-duration SECAuto-stop après SEC s--record-duration 300
--record-buffer NTampon (64–65536, défaut 512)--record-buffer 512
--record-headroom DBMarge dB (défaut 3.0)--record-headroom 3
--list-devicesLister les périphériques--list-devices

Format de sortie = extension du fichier (.dsf / .dff).

Enregistrement DSD natif

# DoP (PortAudio)
	DpdoEngine --record-dsd --dsd-mode dop live.dsf
	
	# Native (ALSA raw DSD_U32_BE)
	DpdoEngine --record-dsd --dsd-mode native live.dsf
	

Enregistrement + monitoring

DpdoEngine --record recording.dsf --pipe | DpdoPlayer - --vol 70
	

Statistiques et journaux

DpdoEngine -i input.wav output.dsf --oversampling 128 --stats
	DpdoEngine -i input.wav output.dsf --oversampling 128 2>&1 | tee conversion.log
	

Automatisation

#!/bin/bash
	ALBUM="Symphony No. 9"
	ARTIST="Beethoven"
	YEAR=2024
	
	for f in *.flac; do
	  TITLE="${f%.flac}"
	  DpdoEngine -i "$f" "${f%.flac}.dsf" \
	    --oversampling 128 --order 7 \
	    --artist "$ARTIST" --album "$ALBUM" --title "$TITLE" --year "$YEAR"
	done
	
inotifywait -m /watch/folder -e close_write --format '%f' | while read f; do
	  if [[ "$f" == *.flac || "$f" == *.wav ]]; then
	    DpdoEngine -i "/watch/folder/$f" "/output/${f%.*}.dsf" --oversampling 64 --order 7
	  fi
	done
	
#!/bin/bash
	for f in *.flac; do
	  DpdoEngine -i "$f" "${f%.flac}.dsf" --oversampling 128 --order 7 \
	    --artist "Artist" --album "Album" --title "${f%.flac}"
	done
	DpdoPackSACD --album "Album" --artist "Artist" --cover cover.jpg *.dsf