取樣率轉換 Sampling Rate Conversion (SRC) 失真問題

當年在制定 AC’97 規範時,壓低成本算是首要的考量之一,因此在早期的 AC’97 規範 (版本 1.x) 當中規範了 Analog Codec 只支援處理 48 kHz 取樣率音訊的能力,然而主要透過 CD-ROM 形式發行的音樂專輯與大多數遊戲配樂、錄音室作品卻大多是使用 44.1 kHz 取樣率錄製技術下的產物 (AC’97 之所以採用 48 kHz 而非 44.1 kHz 的理由眾說紛紜,有傳聞認為是當時的影音設備廠商害怕電腦具備太優異的音樂播放能力會侵蝕音響設備的市場而刻意為之,也有傳聞是錄音室等業界設備不願意改用 48 kHz 所致,確切原因大概已經不可考了),因此 AC’97 Analog Codec 在處理 44.1 kHz 音訊的時候勢必得需要進行大量的重新取樣處理以將取樣率由 44.1 kHz 提高為 48 kHz。

然而從數學上 (類比訊號與音波是連續波形,但電腦儲存數據時是離散的數值資料,取樣率的概念就是每秒電腦紀錄多少資料點,理論上資料點閱多、取樣率越高拼湊出來的波形就越接近原來的類比訊號) 我們可以很容易了解到在處理非整數倍取樣率轉換的過程中必然伴隨著波形的改變 (只有在進行整數倍取樣率轉換的時候才能確保資料點仍然會在原先的位置上,只是資料點數量的增加或減少而已),這就直接導致經過 SRC 處理後的聲音出現失真的現象。

這也就是許多音樂愛好者會認為 AC’97 規範產品的音質比起較早期的音效系統來得差的原因 (不過其實這跟 SRC 處理中所使用的演算法也有關係,好的 SRC 演算法可以讓 SRC 處理的失真現象不那麼明顯,但如同大家熟知的,AC’97 時代出現了大量粗製濫造的廉價 Analog Codec,這些低階產品當然只有讓 SRC 後的失真變得更加明顯的能力,這使得 AC’97 的這項問題變得更加嚴重)。

儘管這個問題在 AC’97 2.1 修訂版本之中透過引入選用的可變取樣率 (Variable Rate) 技術獲得了解決,但為時已晚,且並沒有成功扭轉大眾對於 AC’97 音效僅達「堪用」水準的刻板印象。

Creative Sound Blaster Live! (1998)

首先站長要介紹的第一款符合 AC’97 規範的音效系統就是由 Creative 所推出的 Sound Blaster Live! 系列,之所以特別把這款音效卡抓出來介紹是因為這款音效卡正是 Creative 與音效卡業界由盛轉衰的起點。

Sound Blaster Live! 這款音效卡使用了新的 EMU10K1 晶片作為基礎 (後來 Creative 就這麼單靠這款晶片玩了好幾年,玩到江山都易手了),相較於前作來說,EMU10K1 主要著眼於運算性能上的強化,並且取消了前作的板載記憶體設計,改為直接透過 PCI 匯流排存取系統主記憶體並且強化了數位訊號處理的能力,除此之外在架構上基本上與前作沒有太大的差異,至於功能方面最鮮明的改進則是支援了被稱為 EAX (Environmental Audio Extensions) 的強大效果器 (其實就是 DirectSound 3D 的擴充元件),這在當時與後來的幾年之內成為 Creative 音效卡的一大重點特色。

就架構與設計而言,其實 Sound Blaster Live! 在各方面來說都比前作要來得強大,理論上音質也比前作好上不少,但不幸的是,Creative 在設計此款音效卡的時候選擇遵循 AC’97 規範 (在此要特別說明,AC’97 並不等於內建音效,實際上 AC’97 只是一種設計規範,因此也有採用 AC’97 規範的獨立音效卡) ,因此 Sound Blaster Live! 終究難逃 SRC 問題的陰影 (在經過 SRC 處理之後,Sound Blaster Live! 播放 CD 音樂時有很明顯的失真,有時聽起來比前作來得更糟)。

由獨立音效卡走向內建音效

從 Sound Blaster Live! 這一世代開始,Creative 所推出的音效卡大致上都是以 EMU10K 系列的晶片作為基礎下去小修小補、強化一些功能 (像是更多樣、效果更好的 EAX 效果器) 而來,而 Creative 卻很長一段時間始終不願意認真去思考如何解決 SRC 這個問題,因此對於重視音質的音樂愛好者來說,安裝獨立音效卡與使用內建音效並沒有辦法帶來多大的差異,這類使用者後來多半選擇重回劇院或音響設備的懷抱 (當然也有少數音效卡選擇拋開 AC’97 規範勇敢走自己的路而不受 SRC 問題影響並受到音樂愛好者的青睞,但畢竟影響力終究不及 Creative)。

至於廣大的一般使用者則是因為對於音效的要求本來就不是那麼高、主機板多半已經內建音效系統可以省下額外的花費與挑選、安裝、維護所耗費的心力與時間等因素而逐漸由選購獨立音效卡轉向考慮選用內建音效,這兩個因素的疊加最後導致了今日幾乎所有的電腦都具備內建音效,而會刻意單獨選購獨立音效卡的使用者卻變得少之又少 (以當時來說,幾乎只剩下高階遊戲玩家會為了 EAX 效果器去買 Creative 音效卡,而 Creative 的音效卡也確實從主打音樂逐漸轉向主打遊戲用途) 的局面。

然而 Creative 當年或許是仗著自己財大氣粗或是已經把持龍頭地位多年,對於內建音效市場可說是不屑一顧,最終讓後來許多 AC’97 Analog Codec 廠商 (像是上圖的瑞昱半導體就是在這個時期裡崛起的,至今仍然佔有過半數甚至高達八成以上的內建音效晶片市場) 得以有抬頭的機會,也使得 Creative 與各種音效卡產品逐漸被人們所淡忘。

High Definition Audio (2004 至今)

AC’97 規範作為電腦音效系統的業界統一標準一共持續了長達七年的時間,在這段期間內 AC’97 規範歷經了數次的修正與增補,但對於日益蓬勃發展的網路多媒體應用來說仍然是不敷使用的,於是 Intel 與其他多達 80 家以上的廠商在 2004 年正式宣布了全新的音效系統標準規範-HD Audio (高解析音效),目前已經成為所有個人電腦的標準配備。

HD Audio 基本上是從 AC’97 規範發展而來,因此在架構表層看起來與 AC’97 規範的設計可說是非常相似,HD Audio 規範中同樣將音效系統分為控制器 (Controller) 與解碼器 (Codec) 兩大部分,這兩部分各自負責的工作也與 AC’97 規範內的安排差不多,但實際上從功能參數看就會發現 HD Audio 其實與 AC’97 相比已經大有不同 (HD Audio 並無法與 AC’97 相容),為了更清楚表現 HD Audio 與 AC’97 的差異,我打算採用表格的形式進行對比說明:

HD AudioAC’97
控制器-解碼器連結Azalia Link (可擴充)
單線最大頻寬為 48 Mbit/s (輸出)
單線最大頻寬為 24 Mbit/s (輸入)
可動態分配頻寬
AC-Link
總頻寬為 11.5 Mbits/s
無法擴充
頻寬利用方式為固定
取樣率支援8、11.025、16、22.05、
32、44.1、48、96、192 kHz
多種取樣率支援
48 kHz (1.x 版本)
可變取樣率支援 (2.x 版本)
最高 96 kHz
取樣解析度支援最高 24-bit最高 16-bit
環繞聲道數支援 7.1 環繞至多 5.1 環繞
連接埠處理能力支援即時變更連接埠用途
達到真正的隨插即用
後期版本具備偵測連接埠能力
在接錯時系統可發出提醒
SRC 問題根本上解決 SRC 失真問題
後期版本方可解決
AC’97 的最大弱點之一
驅動程式通道統一驅動程式 + 功能驅動程式
穩定性更佳
不需要額外安裝驅動程式
就能享有基本音效功能
廠商自行開發
穩定性良莠不齊
在未安裝驅動程式時
無法使用音效功能
訊號輸入通道多達 16 聲道雙聲道
音效技術支援硬體層面僅限軟體層面
多聲道音頻至多可同時輸出 4 組互不干擾的音頻不支援