早就想寫這篇東西,沒想到一拖整年。趁現在稍微空閒,趕緊記下,也留為日後改進的依據。
以電腦為數位訊源的想法,是由於「電腦」這玩意基本上就是為了數位訊號而存在的。它與一般音響器材最大的不同,在於可程式化的能力,這使得所有聲音的播放、重製、等化或者是其他種種數學上可能的處理都能夠執行。如此想來,它會比單純的器材多出無限的可能,並且大幅度的減低以數十萬計的無謂花費。
舉個簡單的例子:之前提過,高級音響的世界充滿無數的迷思、神話。比如 upsample 這玩意。一般 CD 是以 44.1 KHz, 16bit 的取樣頻率製作,而在訊號處理中有個基本的理論,就是不可能以 upsample 的方式變出更多的資訊,或換句話說,就是不會提高解碼後音樂的品質。因為更多的資訊在取樣時就已經失去了。
而高階的 CD player 經常都有 upsample 的能力,而且數字相當離譜,價格也相對高貴。這件事基本上沒用也就不提了,upsample 有什麼難呢?軟體輕鬆就可以做到了。在電腦上許多播放軟體都可以直接執行這功能,而這種程度的運算在現在的 CPU 來說,根本毫不費力。
而另一個更強的層面是:電腦可以播放的媒體種類與來源,遠遠大於任何音響器材。網路、MP3、WMA、MPEG 4、quicktime、realaudio,太多了,這才是真正的整合威力。
推薦的話說完,該說到實際面:如何把電腦變成數位訊源?
此處要強調,講「數位」訊源是有原因的。電腦基本上不適合直接輸出聲音。要搞到輸出很好的聲音不是不可能,但是現階段適合的器材不存在,稍微可以的也太過昂貴,所以不考慮這條路,直接讓它專注做最擅長的事:數位訊號的輸入、處理與輸出即可。
先講硬體面:
Windows XP or 2000 以上的平台有個麻煩的事情:作業系統會把輸入的訊號自動 resample 到 AC97 的規格以配合 AC97 的音效卡,也就是 48 KHz,而且是在 user 不知情的情況下做的。有個軟體叫 foobar2000 ,他是我最推薦的音樂播放軟體,以後有空再來介紹。它可以幫作業系統先 resample 好,再送給作業系統。因為用了較好(較暴力)的演算法,所以會比作業系統自己做的好。但是我們是發燒友啊,這種沒必要的 resample 只會毀掉原本很好的聲音罷了,基本上只要是有 resample 就是不能接受的。
部份音效卡可以避開這件事情,
DearHoney 數位音樂工作室 那邊有很多相關的介紹,在此不提,總之只要可以不過 resample 「直通」輸出的音效卡,都可以符合需求,而且許多價格不高。
我們不用音效卡的類比輸出,而採用數位輸出,也就是 S/PDIF 光纖或是同軸輸出就可以了。高階的還有用平衡式 XLR 連結線的 AES/EBU 輸出,不過很貴。就我目前所知,在這裡用哪種規格其實對最後的聲音沒有影響,所以可以不管。我自己用的是 M-Audio 的 Transit,它是 USB 介面,其實 USB Audio 的規格不是很適合嚴格的聲音要求,不過因為它桌上型或是筆記型電腦都可以用,很方便,所以我選擇這個。
數位輸出搞定以後,下一步是重頭戲:數位類比轉換。這裡必需把數位訊號換成類比的聲音輸出,在此以後就是一般的音響知識了。但在這一步,我們會面對一個數位訊源中的大迷思:所謂的 jitter,時基誤差。這裡要澄清,所謂 jitter 並不是把資料傳錯,只是可接受範圍內的誤差罷了。就像我們在網路上把檔案傳來傳去,傳好幾次也還是同個檔,不會傳到錯掉。所以在聲音還是數位訊號的時候, jitter 這問題根本不用管。有些發燒友買了昂貴的專業用音效卡,但其實如果只用數位輸出的話,千元以下的只要直通也是一樣效果。一條才30公分然後要價數萬元的數位線,材質用什麼純銀啦,神奇的高純度什麼什麼光纖啦,簡單一句話,都是狗屁啦。打開自己的電腦看看,IDE 傳輸線一條才多少錢?我們一天到晚在硬碟上把檔案動來動去,可有傳輸錯誤過?數位訊號哪有那麼難傳!
jitter 真正有影響的地方是 DAC,也就是數位類比轉換的地方。因為 DAC 是被動元件,它會按照輸入的 clock 訊號來做出類比訊號,所以如果輸入的 clock 並不準確,類比輸出就不忠實。之前有很多接在 DAC 之前的 de-jitter 產品,基本上都是把訊號先存在一個暫存區,然後用好一點的 clock 把訊號重新輸出,亦即 buffer (緩衝區)的觀念。但這其實有問題,因為傳輸的訊號轉換本身就會產生誤差,所以這東西不應該在 DAC 外頭,應該在 DAC 裡頭就做掉。這問題其實也不只這麼單純,Dan Lavry 有篇文章講這個,不過我還沒時間看。現階段只要簡單的追尋一個條件:具有高品質內部緩衝、reclock 的DAC,即可解決 jitter 問題。在 DAC 之前,根本不需要考慮 jitter。
而從 DAC 輸出的訊號,就已經可以進擴大機,最後輸出到喇叭發出聲音了。在這之後,我們面對的東西就跟數位訊號無關,而僅僅是傳統的音響問題。
硬體面說完了,下一篇要來講軟體面。不知道會 delay 多久... :p
p.s. 本篇可能存在謬誤,歡迎指正。