ช่วงนี้เริ่มมี ไฟล์ DSD เยอะแล้ว แถมหลายคนก็มี DAC ที่ถอด DSD ได้ เลยเอาวิธี Set ให้ Foobar2000 เล่น DSD ไฟล์ได้ครับ รวมถึงวิธี Convert PCM->DSD รวมถึง Oversampling DSD on-the-fly มาฝากครับ
*DST คือ lossless compression ของ DSD ครับ
การเล่น DSD บน Foobar2000 นั้น ต้องใช้ plugins ชื่อ Super Audio CD Decoder
โหลดได้จาก
https://sourceforge.net/projects/sacddecoder/files/foo_input_sacd/กรณีที่ต้องการ Oversampling DSD และ Convert PCM->DSD on the fly ให้โหลด เวอร์ชั่น 8 มาใช้ เช่น 0.8.4
กรณีที่ต้องการเล่น DSD over WASAPI ให้โหลด Version 9 มาใช้ เช่น 0.9.11
ในไฟล์จะมีไฟล์ชื่อ ASIO Proxy Install มาด้วย ให้ใช้เวอร์ชั่นที่มากับไฟล์ Zip ครับ ใช้ข้าม Version กันจะมีบักจุกจิกอยู่ ถ้าเปลี่ยนไปใช้ Version 9 ก็ให้ Uninstall ASIO Proxy ที่มากับไฟล์ Version 8 ก่อน แล้วค่อย Install ASIO Proxy Version 9 ใหม่ ในทางกลับกันก็เหมือนกันครับ
ความสามารถในการ Oversampling DSD และ Convert PCM -> DSD มากับ ASIO Proxy Version 8 ครับ
ก่อนจะไปต่อ หลายท่านที่เคยลองฟัง WASAPI และ ASIO มาแล้วหลายคนอาจจะชอบ WASAPI มากกว่า บางท่านอาจจะชอบ ASIO มากกว่า
ใน System ของผม เวลาผมฟังเพลงบรรเลง ผมชอบ WASAPI มากกว่า เพราะปลายแหลมเปิดกว่า วงเครื่องดนตรีกว้างกว่า แต่เวลาฟังเพลงร้องก็สลับมาเป็น ASIO เหมือนกัน เพราะเสียงมันออกอุ่น ชัดกว่า
แต่เคสผมคือ ถ้าไม่ตั้งใจฟังแบบจับผิด ฟังผ่านๆ ก็แยกไม่ออก มันไม่ได้ต่างกันอะไรมากขนาดนั้น แต่สำหรับคนที่ฟังแล้วต่างกันมาก
การ Oversampling DSD กับ Convert PCM->DSD ต้องใช้ ASIO Proxy ว่าง่ายๆ คือ แต่ Playback ด้วย ASIO นั่นเอง ถ้าไม่ชอบ ASIO ก็แนะนำว่าให้เล่น Version 9 จะดีกว่า
หลังจากโหลดไฟล์มาแล้ว ก็ให้ Install ไฟล์ ASIOProxyInstall-0.x.x.exe ก่อนครับ
แล้วค่อย Install Component foo_input_sacd.fb2k-component ใน Foobar2000
ส่วนในโฟลเดอร์ Filters จะมีไฟล์ Low-pass filter (LPF) แบบ finite impulse response (FIR) สำหรับ Convert DSD มาเป็น PCM อยู่ครับ
สาเหตุที่เวลา Convert DSD กลับมาเป็น PCM หรือ Analog แล้วต้องผ่าน LPF เพราะ Format DSD เป็น Format ที่เก็บข้อมูลในย่านความถี่ต่ำได้ดีกว่าความถี่สูงครับ
โดยทั้ง SNR, Dynamic range รวมทั้ง Noise floor เป็น Non-linear คือ ที่ความถี่ต่ำ จะดีกว่าความถี่สูง ซึ่งตามปกติ ใน DAC ที่ถอด DSD ได้จะบังคับต้องผ่าน LPF ก่อนครับ
อย่างผมใช้ DAC9018 ของ Weiliang จะบังคับผ่าน LPF เหมือนกัน เป็นแบบ Infinite impulse response (IIR) ตั้งความถี่ได้สูงสุดที่ 70kHz
เวลา Convert กลับเป็น PCM
DSD64 (2.8MHz) จำเป็นต้อง ตัด Frequency ที่สูงกว่า 88.2kHz (Playback 44.1kHz) ทิ้ง เพราะสูงกว่านั้นจะเป็น Noise แทบทั้งหมดครับ
DSD128 (5.6MHz) ต้องตัดที่ 176.4kHZ (Playback 88.2kHz)
และ DSD256 (11.2MHz) 352.8kHZ (Playback 176.4Hz)
*SACD เป็น DSD64 ครับ พวก DSD128 ขึ้นไป ส่วนใหญ่เป็นการซื้อแบบ Download
ซึ่งตรงนี้เป็นประเด็นปัญหาครับ เพราะการ Convert DSD->Analog และ DSD->PCM ต้องผ่าน LPF ทำให้เสียงไม่เหมือนกันครับ ขึ้นอยู่กับ LPF ที่เลือกใช้ อย่างที่มากับ DAC9018 Weiliang ตัว LPF มันจะเสียงเน้นทุ้ม กลางมากกว่าครับ เหมือนติด EQ และ preamp มาโดยความดังของเสียงเพิ่มขึ้น 3-4 dB มาครับ ฟังพวกเพลงร้องจะดีมาก และนี่เป็นสาเหตุที่จะทำให้บางคนอยาก Convert PCM เป็น DSD ก่อนยิงเข้า DAC ครับ
ส่วน XMOS U8 ของ Weiliang จะสนับสนุน DSD128/PCM384kHz ครับ ที่ลงในเวปว่าเล่นโหมด DSD256 ได้นี่ ลงผิดแน่ๆ ครับ ผมลองแล้วใช้ไม่ได้
Amanero นี่ผมไม่เคยลองครับ
หลังจากลง plugins เรียบร้อยให้เข้าหน้า Preferences Foobar แล้วตั้งค่าตามนี้ครับ
กรณีต้องการ Oversampling DSD หรือ Convert PCM->DSD ให้ตั้งค่าตรง Device เป็น ASIO : foo_dsd_asio ตามนี้ครับ Buffer นี่จะตั้งแค่ 1000ms ก็ได้ครับ

กรณีที่ใช้ Version 9 แล้วต้องการใช้ ASIO ให้เลือก ตรง Device เป็น DSD : ASIO : foo_dsd_asio
ถ้าเป็น WASAPI ให้เลือก ตรง Device เป็น DSD : WASAPI Event : ชื่ออุปกรณ์ แทนครับ

กรณีที่ใช้ ASIO ให้ไปที่ Tab ASIO ต่อครับ Double Click ตรง foo_dsd_asio

จะมี pop-up windows ขึ้นมาแล้วตั้งค่าตามในรูปครับ (ในรูปเป็น Version 8 ครับ กรณี Version 9 จะมีให้เลือกแค่ จะใช้ ASIO Driver ผ่านอุปกรณ์ตัวไหนเท่านั้นครับ)

ตัว ASIO Driver ให้เลือกเป็นอุปกรณ์ที่ใช้ กรณีของผมใช้ XMOS U8 ก็ คือ XMOS USB
DSD Playback Method กรณีที่ใช้ XMOS U8 กับ Weiliang ES9018 ให้เลือกเป็น DoP ครับ คิดว่าพวกกลุ่ม XMOS U8 น่าจะใช้ DoP ทั้งหมด
ส่วนต่อไปคือ การตั้ง DSD Sigma Delta modulator ครับ
กรณีที่ไม่ต้องการ Oversampling DSD ให้เว้น DSD to DSD Method ว่างไว้ครับ
กรณีที่ต้องการทำ ก็ตั้งค่าตามรูปครับ
ประเภทของ modulators กับ คุณภาพเสียง ขนาดไฟล์ และความเร็วในการ Convert ตามในรูปครับ

แนะนำใช้ B หรือ D ครับ และใช้ Double Precision Floating Point (FP64)
ส่วนค่า Fs ตรงด้านหลัง คือการกำหนด Sampling rate ของ DSD output ครับ โดยตั้งได้เป็น DSD64, DSD128, DSD256, DSD512
กรณี DAC ผม XMOS U8 ใช้ได้แค่ DSD128 เลยตั้งเป็น DSD128 ครับ
ต่อไปคือ PCM to DSD Method ตัวนี้คือ การ Convert PCM เป็น DSD ครับ ให้ Resampling Source เป็นความถี่ที่หารด้วย 44.1Khz ได้เลยลงตัวครับ จะ Oversampling ไป 352.8 Khz หรือ 176.4kHz ก็ได้ครับ
DSD/PCM Transition ให้ตั้งเป็น 10ms
*Plugin ตัวนี้ทำ Down sampling ไม่ได้นะครับ Down sampling แล้วเงียบ เช่น Source เป็น DSD256 จะมาเล่นที่ DSD128 หรือ DSD64 ไม่ได้ครับ เสียงไม่ออกDown sampling ได้ครับ ต้องใช้ foo_input_sacd 0.8.4 และ ASIO Proxy 0.8.4
ต่อไปคือ ไปตั้งค่าว่าให้ Output สัญญาณ DSD เป็น DSD หรือ PCM ครับ โดยไปที่ Tool->SACD
ตั้ง Output mode เป็น DSD ในกรณีที่ DAC ถอด DSD ได้ครับ
สำหรับคนที่ DAC ถอด DSD ไม่ได้ ต้องตั้งเป็น PCM แล้วตั้งค่าเพิ่มตามในรูปครับ พอเลือกเป็น PCM แล้วมันจะปรับค่าได้
โดยรายละเอียดมีดังนี้ครับ
PCM Volume อันนี้แล้วแต่ DAC ครับ ในกรณีของผม ลองฟังเทียบกัน ตั้ง Output mode เป็น DSD เสียงจะดังกว่า 3-4 dB ตามที่ได้กล่าวไป เลยต้องตั้ง เป็น +4 dB ครับ
PCM Sampling rate กรณีที่เล่น DSD64 กรณีใช้ DSD2PCM Mode แบบอื่นที่ไม่ใช่ Installable FIR ผมแนะนำให้ตั้งเป็น 88200 ครับ สาเหตุเพราะเรื่อง Noise ความถี่สูงของ DSD ครับ
DSD2PCM Mode: แนะนำตั้งเป็น Multistage 64fp (Double-precision 64 bit floating point) ชื่อ Version 8 กับ 9 จะต่างกันบ้าง แต่ความหมายเดียวกัน คือ Floating point 64 bit (Double precision) แบบ Multistage
กรณีเลือก Installable FIR ก็ให้ใช้แบบ 64fp เช่นกัน โดยความถี่ cut off ก็แล้วแต่ไฟล์ที่เราเลือก (อยู่ใน Folder ชื่อ filters ที่มากับ ไฟล์ zip ของ plugins)
กรณีใช้ DSD2PCM ที่ไม่ใช่แบบ Installable FIR มันไม่ผ่าน LPF นะครับ เพราะงั้น High frequency noise เพียบครับ ในรูปเป็น Spectogram ของการเอา DSD แบบต่างๆ มา Convert เป็น PCM 352.8kHz แล้วเล่นกลับ Noise พวกนี้ มีการตั้งประเด็นว่าอาจจะทำให้ ลำโพง หรือ วงจรไฟฟ้าเสียหายได้ ใครอยากลองว่าจริงหรือเปล่า ก็ไม่ต้องผ่าน LPF หรือ ลด PCM Samplerate ก็ได้ครับ ผมไม่ลองด้วย
![no N]](https://www.htg2.club/Smileys/default/onevil.gif)

ถ้าใช้ FIR Filter จะตั้ง Sampling rate สูงๆ ได้ เช่นตั้งเป็น 352.8 kHz แล้วใช้ FIR ตัด Noise ความถี่สูงๆ ทิ้งครับ

กรณีเล่น DSD64 เป็น PCM ให้ใช้ FIR Filter 40kHz ครับ ตัดที่ 50kHz นี่ยังมี Noise ความถี่สูงอยู่ครับ
ต้องเป็นพวก DSD128 ขึ้นไป ถึงจะใช้ FIR แบบ 50-60kHz ได้ครับ
ตัวความถี่ที่ระบุใน FIR มันเป็นความถี่ Playback ครับ อย่าง FIR 40kHz เท่ากับว่าเหมือนเรา convert เป็น PCM ที่ 80kHz ครับ
จากในรูปจะเห็นว่าไม่มี High frequency noise ล่ะครับ แม้จะ Playback ที่ 352.8kHz

เพลงที่ใช้ทดสอบครับ
