درس FLAC إلى DSD: من PCM بلا فقد إلى DSD64/128

FLAC حاوية بلا فقد لبيانات PCM — وليس DSD. يتطلب تحويل FLAC إلى DSD (DSF/DFF) خط المعالجة الكامل: إعادة العينات + تشكيل الضجيج + التضمين. إليك أوامر جاهزة للتشغيل.


1. ماذا يحدث فعلاً عند تحويل FLAC إلى DSD

يحتوي ملف FLAC على بيانات PCM (عادة 16/24 بت، 44.1–192 kHz). التحويل إلى DSD يعني:

  1. فك الضغط: FLAC → عينات PCM خام
  2. إعادة العينات: معدل PCM → معدل DSD (44.1 kHz × 64 = 2.8224 MHz / DSD64)
  3. تشكيل الضجيج: تكميم من عدة بتات إلى بت واحد، دافعاً ضجيج التكميم إلى النطاق فوق الصوتي
  4. التغليف: الإخراج بصيغة DSF أو DFF

يرسم التحويلُ مصدراً بلا فقد إلى هدف عالي الدقة — كل المعلومات في FLAC محفوظة (إعادة العينات تغيّر التمثيل لا البيانات)، لكن لا تُستحضر تفاصيل إضافية من العدم.


2. الخيار أ: تحويل مباشر بسطر الأوامر (ملف واحد، تحكم كامل)

# FLAC → DSF (DSD64، IIR من الرتبة 9 الافتراضية)
	DpdoEngine -i track.flac track.dsf --oversampling 64
	
	# FLAC → DFF (DSD128، IIR من الرتبة 11، أرضية ضجيج النطاق تدفع إلى أبعد حد)
	DpdoEngine -i track.flac track.dff --oversampling 128 --order 11
	
	# FLAC → DSF (DSD256 + تسريع OpenCL + بيانات الألبوم + تقرير)
	DpdoEngine -i track.flac track.dsf --oversampling 256 \
	  --opencl --report --artist "Artist" --album "Album" --year "2026"
	

مرجع سريع للمعاملات: - --oversampling N: نسبة رفع العينات (64=DSD64، 128=DSD128، 256=DSD256) - --order N: رتبة تشكيل ضجيج IIR (3–15، الافتراضية 9) - --opencl: تسريع GPU (يتطلب OpenCL 1.2+) - --report: توليد تقرير تحليل - --metadata-from-input: استخراج تلقائي للبيانات الوصفية من ملف المصدر (تتجاوزه الأعلام الصريحة) - --reverse: الاتجاه المعاكس (DSD → PCM)


3. الخيار ب: تحويل دفعات (ألبوم كامل بأمر واحد)

استخدم سكربت الدفعات convert المرفق مع الإصدار (يتطلب ffmpeg + DpdoEngine):

# ادخل مجلد ملفات FLAC وحوّل الدفعة إلى DSF (DSD64)
	cd album-directory
	bash convert flac2dsf
	
	# حدد معدل الإخراج (مثال: DSD128)
	bash convert flac2dsf 128
	

أنواع التحويل المدعومة:

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. التحقق من النتيجة

# قياس التشوه وأرضية الضجيج لملف DSD الناتج (THD+N)
	thdn track.dsf
	
	# مقارنة أداء داخل النطاق لرتب تشكيل ضجيج مختلفة
	dsp_bench --input test.flac --order 9 --order 11
	

ما الذي تفحصه: - أرضية ضجيج النطاق (20 Hz–20 kHz) تلبي التوقعات (نسبة الإشارة إلى الضجيج النظرية لـDSD64 نحو 120 dB؛ الفعلية تعتمد على رتبة التشكيل) - اتساق الاستجابة الترددية مع PCM الأصلي (هل أدخل مرشح إعادة العينات انحرافاً مسموعاً؟) - الاستماع الفعلي عبر DAC/المشغّل (سلسلة التشغيل هي الحكم الأخير)


5. أسئلة شائعة

هل يهم معدل مصدر FLAC؟ مصادر 44.1 kHz تتحول بشكل ممتاز؛ ومصادر 96/192 kHz أكثر راحة عند DSD128+ (خطأ استيفاء أقل).

هل يمكن أن يدخل الناتج مباشرة إلى تأليف SACD؟ نعم. سلّم ناتج DSF/DFF مباشرة إلى DpdoPackSACD لبناء SACD ISO (انظر درس التأليف).

تحويل الدفعات بطيء — ماذا أفعل؟ فعّل --opencl (تسريع GPU)، أو اخفض الرتبة (IIR من الرتبة 7 مناسب للزمن الحقيقي على عتاد متواضع).


بقلم Dpdo. الأوامر متحقق منها ضد DpdoEngine 6.68 وسكربت convert المرفق بالإصدار.