DpdoEngine — высокоточный конвертер PCM→DSD

Обзор

DpdoEngine — ядро набора Dpdo. Он преобразует PCM-аудио (FLAC, WAV, AIFF и др.) в форматы DSD (DSF, DFF, DST, WSD) с использованием 64-бит двойной точности, настраиваемых фильтров шейпинга шума IIR/FIR высокого порядка и богатого DSP-инструментария — предлагая многоуровневое качество преобразования от потребительского до аудиофильского.

Спецификации

СпецификацияЗначение
Входные форматыWAV / FLAC / AIFF / ALAC и др. PCM
Выходные форматыDSF / DFF / DST / WSD
Точность64-бит двойная точность
Шейпинг шумаIIR 3–15 порядков (по умолчанию 9); FIR (4096 taps по умолчанию)
Оверсэмплинг64x–4096x (по умолчанию 64x / DSD64)
СжатиеDST без потерь (экономия 30–50%)
GPUOpenCL 1.2+
ПлатформыWindows / Linux / macOS
Версия6.75.0

Базовое использование

DpdoEngine -i INFILE OUTFILE [OPTIONS]
	

Обязательные аргументы: - -i INFILE — входной PCM-файл (FLAC / WAV / AIFF и др.) - OUTFILE — путь выходного файла (формат определяется расширением: .dsf / .dff / .dst / .wsd)

Примеры:

# Базовая конвертация: WAV → DSF, оверсэмплинг 64x
	DpdoEngine -i input.wav output.dsf --oversampling 64
	
	# FLAC → DFF, IIR шейпинг шума 11-го порядка
	DpdoEngine -i input.flac output.dff --oversampling 128 --order 11
	
	# Полные параметры: OpenCL + метаданные + отчёт
	DpdoEngine -i input.flac output.dsf --oversampling 256 --order 7 --opencl --report --artist "Dpdo" --album "Demo"
	
	# WAV → WSD (формат Korg), DSD64
	DpdoEngine -i input.wav output.wsd --oversampling 64
	

Оверсэмплинг

Управляется параметром --oversampling:

ЗначениеФорматТипичная полоса
64DSD64~30 кГц
128DSD128~60 кГц
256DSD256~120 кГц
512DSD512~240 кГц
1024DSD1024~480 кГц
2048DSD2048очень широкая
4096DSD4096экстремальная

Более высокий оверсэмплинг даёт более широкую АЧХ и меньший шум в полосе, но требования к вычислениям растут линейно.


Шейпинг шума

IIR шейпинг шума

Параметр --order задаёт порядок IIR-шейпера. Поддерживаемые порядки: 3, 5, 7, 9, 11.

# IIR 15-го порядка (максимальная спецификация)
	DpdoEngine -i input.wav output.dsf --oversampling 256 --order 15
	

Более высокий порядок даёт более крутую кривую шейпинга и больший динамический диапазон в полосе, но требует большей численной стабильности. Порядок 15 — эксклюзивная максимальная спецификация DpdoEngine, подавляющая шум в слышимом диапазоне до -150 дБ.

Подпараметры: - --pole 8.5 — размещение полюсов, влияет на форму передаточной функции шума - --zero — размещение нулей, дополнительная оптимизация внеполосного шума - --mash — структура MASH (многоступенчатый шейпинг шума) - --cifb — структура CIFB (Chain of Integrators with FeedBack) - --poly — полиномиальный шейпер шума

FIR-фильтры

--taps включает режим FIR:

# Kaiser-окно FIR, автоматический расчёт оптимальных taps
	DpdoEngine -i input.wav output.dsf --oversampling 64 --taps 4096
	
	# Задание taps и типа окна
	DpdoEngine -i input.wav output.dsf --oversampling 64 --taps 4096 --window-type kaiser
	

Параметры FIR: - --taps N — число taps (автоматически по умолчанию, минимум 4096 рекомендуется) - --beta V — параметр окна Kaiser - --window-type <type> — тип окна: kaiser, blackman, flattop, bartlett, hamming, hanning, remez


Ускорение GPU

DpdoEngine -i input.wav output.dsf --oversampling 256 --opencl
	

--opencl включает ускорение OpenCL, значительно сокращая время обработки при высоком оверсэмплинге. Требуется GPU с поддержкой OpenCL 1.2+. Особенно эффективно для FIR-фильтрации и IIR высокого порядка.


Продвинутая обработка сигнала

Мастер-пресеты

--mastering-preset загружает DSP-цепочку, настроенную под жанр:

DpdoEngine -i input.wav output.dsf --oversampling 256 --mastering-preset classical
	DpdoEngine -i input.wav output.dsf --oversampling 256 --mastering-preset pop
	DpdoEngine -i input.wav output.dsf --oversampling 256 --mastering-preset jazz
	

Эквалайзер

Многополосный параметрический эквалайзер для коррекции PCM до преобразования:

DpdoEngine -i input.wav output.dsf --oversampling 128 --equalizer "80:0.5:3,1000:1.0:1,8000:-0.5:2"
	

Формат: <частота(Гц)>:<усиление(дБ)>:<Q>, полосы через запятую.

Гармоническое насыщение

Контролируемое добавление чётных/нечётных гармоник:

# Мягкое клиппирование
	DpdoEngine -i input.wav output.dsf --oversampling 128 --harmonics tanh,0.5
	
	# Эмуляция ленты
	DpdoEngine -i input.wav output.dsf --oversampling 128 --harmonics tape,0.3
	

Типы: tanh, poly, softclip, fullwave, tape.

Психоакустический шейпинг шума

--psy использует эффекты слуховой маскировки для распределения квантованного шума в менее чувствительные области — хорошее субъективное звучание даже при низком оверсэмплинге.

Обработка динамического диапазона

--lufs -16        # нормализация громкости до -16 LUFS
	--rg              # нормализация ReplayGain
	--lal             # лимитер с предпросмотром, защита от клиппинга
	--apo             # антиклиппинговый фильтр
	--adaptive        # адаптивная настройка параметров
	

Метаданные

Встраивание метаданных в выходной файл:

DpdoEngine -i input.flac output.dsf --oversampling 64 \
	  --artist "Artist Name" \
	  --title "Track Title" \
	  --album "Album Name" \
	  --genre "Classical" \
	  --year 2024
	

Обратное преобразование (DSD → PCM)

DpdoEngine также конвертирует DSD обратно в PCM:

DpdoEngine -i input.dsf output.wav --reverse
	

Используется тот же 64-бит движок двойной точности, гарантирующий максимальную точность в обоих направлениях.


Аналитические отчёты

# PDF-отчёт
	DpdoEngine -i input.wav output.dsf --oversampling 64 --pdfrp
	
	# Спектрограмма
	DpdoEngine -i input.wav output.dsf --oversampling 64 --spectrogram
	
	# Анализ шума
	DpdoEngine -i input.wav output.dsf --oversampling 64 --noise-profiling
	

--pdfrp создаёт комплексный PDF-отчёт с параметрами преобразования, АЧХ, характеристиками шейпинга шума и спектральным анализом.


Выходные форматы

РасширениеФорматОписание
.dsfDSFDSD Stream File, самый распространённый формат DSD
.dffDFFDSD Interchange File Format, вещательный стандарт
.dstDSTDirect Stream Transfer, DSD со сжатием без потерь
.wsdWSDKorg Wideband Single-bit Data, формат экосистемы рекордеров Korg / AudioGate

Дополнительная документация

Запись DSD

Поддерживается запись DSD: захват в реальном времени с ADC сразу в DSD (DSF), а также пакетная конвертация существующих PCM-материалов.

Версия с графическим интерфейсом (GUI)

DpdoAudioTools GUI

Выше: GUI аудиоинструментов (DpdoAudioTools). CLI-версия — DpdoEngine.