[教學] 如何讓 foobar2000 在 Windows 7 x64 的環境下, 正確的讓 谷津 DA&T HA-2 透過 ASIO/WASAPI 外掛來播放 24/96 的音樂格式

    收到預購的 谷津 DA&T HA-2 時, 心中的悸動自然不可言喻, 仔細閱讀網路上的安裝流程, 才赫然發現, x64 的 ASIO CPL 驅動程式尚未完成, 只能透過微軟的 USB Audio Driver 來達到 USB Audio Class 1 所支援的 24-bit / 96 kHz 的效果, 想想手邊 24/192 的音樂並不多, 心不甘情不願的將 USB 速度切換開關撥回 FULL 模式, 並重新連上電腦, 這時候作業系統果然順利抓取到 HA-2。

2011-01-30_010947.png
進入 Windows 7 控制台 –> 系統及安全性 –> 系統 –> 裝置管理員, 這時可以看到音效控制器下看到 “HA-2 Full Speed”, 左鍵選取該周邊並按下右鍵選取 “內容”

2011-01-30_011024.png
作業系統正確偵測到 HA-2 為 USB 音效裝置

2011-01-30_011412.png
左鍵點擊 HA-2 Full Speed, 並將該裝置設定為預設裝置, 然後按下”內容”

2011-01-30_011631.png
在內容資訊中, 我們可以看到控制器資訊為一般 USB 音訊, 但是不知道何故, 名稱卻顯示 SPDIF 介面, 使用者可以改成方便辨識的名稱, 自己是更改為 USB Audio Device

2011-01-30_011723.png
切換到內容視窗中的”支援的格式”分頁, 將所有的取樣平率全部打勾, 選取項目如果器材正常無誤的話, 按下測試鈕會聽到左右聲道分別發出對應取樣率的聲頻

2011-01-30_011756.png
在 Vista 之後, 提供音效裝置使用獨佔模式, 正在播放的裝置, 不會被其他的訊源干擾, 然後按下 “套用” 之後結束相關設定

2011-01-30_011819.png
依照上述設定之後, 不管是線上撥放 24/96 的音樂格式 (例如音樂購買網站上的試聽 FLAC), 或者是收看電影等, 都能夠透過 HA-2 發出聲響, 但是要撥放最原汁原味的音樂, 還是必須跳過微軟 UAA 架構下的 Audio Engine 來 bypass 軟體混音的過程中, 原始訊號被重新取樣 (SRC), 這時候自然是使用 foobar2000 來使用 ASIO/WASAPI 外掛來取得最純淨的訊號。

2011-01-30_020344.png

當然如果這麼簡單就好了, 不管是不是 ASIO 1.2.7 版的外掛過於老舊, 或者是 Tenor TE8802 底層沒有按照 ASIO 遊戲規則去做 (只能靠安裝 GALAXY 到時候發布的 CPL 程式去支援 ASIO), foobar2000 的 ASIO 裝置清單中, 並沒有顯示 HA-2, 使用 DS 雖然可以正常撥放音樂, 但是這是走回讓軟體管理的老路, WASAPI 變成了最後的選擇, 音樂一播放的同時, 也是惡夢的開始, 跳針、爆音、加速的不似樂縈繞在耳邊, 第一時間馬上將 foobar2000 給關閉, 苦惱加納悶, 總不能要我拿手邊唯一還剩下來的 “樂之邦 莫邪 Digital 2010” 來做光纖/同軸數位輸出吧 ~ 一來不想走 Toslink, 二來 FTVS-510 + WBT-0110Cu 已經離我遠去, 熊熊去哪邊找線阿~ Orz

    這時第一個想到的解決方案是安裝 Ploytec USB ASIO 或者 AQVOX audiophile ASIO, 不過遺憾的是, 兩套第三方驅動程式顯然無法辨識最新款的 Tenor TE8802, 這時只好又再次的心不甘情不願的下載 ASIO4ALL 並加以安裝。

軟體名稱 : ASIO4ALL 2.10
官方網頁 : http://tippach.business.t-online.de/asio4all/
作業系統 : Win 98SE/ME/2k/XP/MCE/2003/XP64 and Vista/Windows 7 x86/x64

2011-01-27_021843.png
安裝最新版的 ASIO 2.10 之後, 重新開啟 foobar200 並進入偏好設定的輸出設定下方的 : ASIO Virtual Devices, 按下 “Add New” 來新增 ASIO 裝置

2011-01-27_022029.png
點擊 Driver 選單中的 “ASIO4ALL v2” 後, 按下 Configure 來進行裝置選擇的設定

2011-01-27_022258.png
這時會跳出 ASIO4ALL 的裝置選擇清單, 圖中亮藍色的部分代表目前系統中預設選取的裝置, 將游標移至 HA-2 Full Speed, 會彈出裝置的名稱以及支援輸出格式, 沒錯, 24Bits/96kHz

2011-01-27_022358.png
點擊一下預設音效輸出裝置來關閉原本選擇項目, 再點擊 HA-2 Full Speed 來啟用該裝置 (會用亮藍色表示), 接著按一下右下角的板手開啟進階設定

2011-01-27_023233.png
在左下角的 ASIO Buffer Size 代表的就是裝置延遲時間 (L
atency), Buffer Size 越小, 延遲越少, 同時也會約略增加 CPU 負擔, 通常建議預設範圍約略是在 256 ~ 512 之間, Buffer Size 太小容易造成播放音樂時的爆音, 自己嘗試的結果, 低於 96 之後 HA-2 就會有很高的頻率在播放時產生爆音。至於右邊的延遲補償 (Latency Compensation) 的部分, 這個部分牽涉到硬體架構的部分, ASIO4ALL 本身並沒有太多的資料來給使用者參考, 調太低的話, 最明顯的問題是快轉音樂的時候, 會聽到明顯的破音, 所以這邊 In/Out 都先設定在 96 Samples。至於 Hardware Buffer 的使用主要是降低 CPU 負擔, 不過這個選項在 HA-2 開啟時, 在自己的電腦會遇上連續破音的狀況, 所以沿用原本的初始設定, 使用 Kemel Buffers : 2, 並不勾選開啟硬體緩衝。至於 Resample 跟 Force 兩個選項就不多解釋, 一律不勾選。

2011-01-30_021903.png
設定完畢並關閉 ASIO4ALL 設定視窗之後, 可以看到 Channel Map 的 Device channel 已經變成 HA-2 Full Speed, 視窗最上方的 Name, 使用者也可以修改成方便辨識的周邊名稱, 這邊自然就是填入
DA&T HA-2

2011-01-30_021802.png
重新開啟 foobar2000 的輸出裝置分業, 下拉裝置列表時, 就可以看到 “ASIO :
DA&T HA-2” 啦 ~~~

2011-01-27_024128.png
選取好裝置之後, 緩衝大小可斟酌自己的電腦撥放狀況來調整 (自己拉到滿 16000ms 並未出現任何問題), 按下”確定”關閉偏好設定選單

2011-01-27_025425.png
這時應該就可以用 foobar2000 在 Windows 7 x64 的環境下用 ASIO4ALL 播放   24/96 的音樂格式, 如果 ASIO4ALL 設定正確, 在 foobar2000 播放的同時, 在系統常駐列中就會出現一個綠色播放的箭頭

2011-01-30_024814.png
只是透過 ASIO4ALL, 基本上就像是披著狼皮的羊, 還是架構在 WDM 驅動程式之上, 比較起由廠商針對自己器材所撰寫的 ASIO 驅動程式難免有點距離, 在谷津能夠提供 x64 CPL 驅動程式之前, 在 Windows 7/Vista 的環境下, 如果能夠透過 WASAPI 配合獨佔模式, 理論上會是最佳選擇, 不過爆音、跳針的聲音的結果, 和預期落差頗大,  在不甘心的心情下, 卻意外發現解決的方式簡單到有點傻眼, 在我自己的電腦, 只需要將 WASAPI 的緩衝降至 1000ms 左右, 所有不堪入耳的聲音就完全淨空, 彷彿不成發生過一般, 播放 24/96 的音樂格式, 也是表現正常無誤 (感覺挺像是 buffer overloaded, 然後 data 被 ramdom dropped, 過多的資訊塞入有限的空間, 造成有些有處理到, 有些直接當作沒看見, 這個部分可能要請教 GALAXY 了)。

    上面就是在 Windows 7 x64 的環境下, 如何使用 foobar2000 的 ASIO/WASAPI 正常撥放音樂的一點分享, 不過要提醒的一點, 就是 ASIO4ALL 和 WASAPI 在處理緩衝資訊的方式有些許差異, 在切換歌曲或者是跳到歌曲中的某一段的時候, ASIO4ALL 是直接捨棄先前讀入緩衝區的資訊, 直接從新開始, 而 WASAPI 則是會撥放放在緩衝空間裏頭的音樂資訊才會跳到下一個動作, 也就是切換之間, 會有個時間差, 如果不想被這個延遲打擾到欣賞音樂的興致, 可以將緩衝長度先降至最低, 如果出現爆音, 再慢慢往上調高, 在延遲時間和緩衝過短造成聽音樂的不適之間找個平衡點, 這個部分跟每個人電腦效能和系統延遲有關, 就麻煩自行嘗試最佳緩衝長度。