接下來要談的主題是由讀者在本站 Facebook 粉絲專頁留言建議的音效系統,雖然時至今日內建音效應該就已經足以滿足絕大多數使用者的基本需求,會額外添購音效相關設備的人應該已經不多,但對於追求較高音質或聲歷其境遊戲體驗的玩家來說,音效系統的好壞仍然是有其重要性的。
註:本篇主要是針對個人電腦的音效功能有較多著墨,考慮到目前已經鮮少有人會特意購買獨立音效卡,因此本篇將以 AC’97 與 HD Audio 作結而不會特別介紹目前市面上還能見得到的一些音效卡。
淺談個人電腦音效系統發展 (1981-1997)
實際上電腦剛開始發展的時候其實沒有發出聲音的能力 (早期的電腦主要是用於軍事方面的運算,後來則拓展到商業、工業用途,因此早期的電腦基本上在音效方面並沒有太大的需求,通常這些專業用途頂多只需要能發出嗶聲的蜂鳴器就足夠了),這樣的情況要等到 1981 年 IBM 推出首台個人電腦,將電腦這項原先高不可攀的高階商業系統帶入尋常百姓家之後才有所改變 (不過數位音效技術其實早於 1981 年就已經有了,主要是用於遊戲機台與製播電視節目或電影)。
PC Speaker (1981)
IBM 推出第一台個人電腦 Model 5150 時在這款電腦中首次內建了音效系統 (後被稱為 PC Speaker),這套系統非常簡單,大致上由 Intel 生產的 8253 或 8254 可程式化間隔計時器 (Programmable Interval Timer, PIT) 與一組動圈式發音單元所組成,由其簡單的配置可以很容易猜到 PC Speaker 的音效播放能力其實非常弱,實際上其只具備發出單一音符的能力,也沒有支援和弦更無法直接表現任何樂器的音色 (下圖就是 IBM PC Model 5150 所內建的發音單元)。
然而即使 PC Speaker 的功能如此陽春,當年的軟體工程師仍想到了可以運用變化發聲長度、間距的方式 (脈衝寬度調變) 來譜出各式各樣的音符,甚至是在遊戲當中呈現語音等音效的作法 (不過終究仍受制於其陽春的功能,因此配合 PC Speaker 特性編曲的聲音基本上都有聽起來相當尖銳的特色),在當年確實對許多人來說是讓人耳目一新的體驗 (有很多甚至就是來自台灣的工程師呢),但在更加完善的音效系統出現之後,這些很快就墜入歷史的滾滾洪流裡,日漸為人所遺忘了。
不過,如果你曾經自己組裝過電腦的話,相信你應該會覺得上面 IBM PC 內建發音單元的接頭很眼熟吧?沒錯,它的 4-pin 機殼就是當今絕大多數的電腦系統當中設置在前面板連接線 (Front Panel Cable) 插槽的 Speaker 接頭 (用於連接蜂鳴器,也有一些主機板是直接將蜂鳴器焊在主機板中),當前絕大多數電腦仍然包含與 PC Speaker 相當相似的音效系統,但其早已不再負責絕大多數的音效,目前主要用於在電腦啟動的過程中負責發出代表各種狀態或問題的嗶聲 (也有一些程式仍然會將其用作替代主要音效系統的發聲工具)。
PCjr (1984)
在 IBM PC 推出後三年,IBM 為了將家用個人電腦市場進一步擴大而推出了 PCjr 這款定位較低的個人電腦系統 (Model 4860),這款系統當中首次引入了由德州儀器所設計的 SN76496 數位音效產生器 (DSG) 晶片作為其音效系統的基礎 (同時期有不少相容電腦機種、遊戲機台與 Apple II 用的音樂擴充卡都使用了這款晶片,同期的競爭對手則是由通用儀器與 YAMAHA 合作的 8910/YM 系列晶片)。
相較於 PC Speaker 的陽春功能而言,PCjr 內建的音效系統有了明顯的進步,透過內建三組可同時運作的方波音頻產生器 (大幅提升可支援的頻率範圍與支援 16 階音量控制) 與一組噪聲產生器 (支援白噪音與週期噪聲產生,可產生三種不同頻率的噪聲與同樣支援 16 階音量控制) 使得電腦所能發出的音效強化了不少。
但最終 PCjr 受制於 IBM 的設計失誤與過高的定價策略,最終使其成為了在個人電腦發展史上是數一數二慘烈的失敗,反而當時由 Tandy 發佈的相容機種 Tandy 1000 在商業上還獲得了比較大的成功,因此與 PCjr 音效系統相容的軟體其實比較常被稱為 Tandy-compatible。
MIDI (1984-1991)
MIDI 的全名是 Musical Instrument Digital Interface (樂器數位介面),最早是在 1981 年由 Dave Smith 以論文形式發表,並且在 1983 年 08 月正式成為電子樂器的業界標準 (與 PC Speaker、PCjr 不同,MIDI 並不是電腦資訊業界設計的產物,而是電子樂器工業所發展的工業標準,當初的設計目的其實是為了讓各廠設計的電子樂器之間能有共通語法使其可以容易被合併應用並降低取得門檻),並在後來被個人電腦所採納,此後個人電腦的音效系統大致上可分為延續 PCjr 的設計或以 MIDI 標準為基礎兩大發展路徑。
早期採用 MIDI 標準的電腦音效系統通常會由 MIDI 介面卡與 MIDI 音效輸出模組兩個部分組合而成,前者主要是讓電腦得以輸出 MIDI 格式的訊號給 MIDI 音效輸出模組,後者則是作為合成器,讓使用者可以連結其他 MIDI 設備與輸出音效使用,當年最常見的組合是由 Roland 所發佈的 MPU-401 搭配 MT-32,隨後 Roland 也在 1989 年推出了融合這兩項設備的產品-Roland LAPC-I,是當時專業用音效卡的代表之一。
AdLib Music Synthesizer Card (1987)
比起昂貴的 MIDI 設備來說,接下來要介紹的 AdLib (在台灣當年以「魔奇音效卡」為名販售) 才是真正將音效普及到個人電腦市場的主要推手,在 1987 年推出的 AdLib 音效合成器採用 YAMAHA 所設計的 YM3812 晶片作為基礎,與前面介紹過的產品不同,AdLib 採用了頻率調變 (FM) 合成技術以產生音效,由於其價格遠比 Roland 公司推出的各種 MIDI 介面產品來得便宜 (通常是不到一半的價格),因此 AdLib 音效合成卡成為了第一款在 IBM PC 上獲得廣泛應用與支援的音效卡產品。
得益於 AdLib 遠比 PC Speaker 要強大的和弦與音色支援,軟體工程師已經得以運用其產生相當豐富的音效,不過 AdLib 音效卡仍然缺乏對數位取樣與立體聲音效的支援,在 AdLib 音樂合成卡出現之後,個人電腦音效系統的市場基本上被一分為二,高階市場完全由 Roland 等 MIDI 設備所控制,平民市場則是 AdLib 的天下。
Creative Game Blaster (1988)
相信認識音效卡這玩意兒的人應該都聽過 Creative (創新未來) 這間公司吧?Game Blaster 就是 Creative 所推出的第一款產品 (最初曾被命名為 Creative Music System)。
相較於 AdLib 來說,Game Blaster 由於並未使用頻率調變 (FM) 合成技術,而是使用兩顆 PHILIPS SAA1099 晶片產生方波的方式發聲因在原理上更加接近於 PC Speaker 與 PCjr 的音效系統 (Game Blaster 可以同時產生 12 組方波來合成音效),在音質上表現比 AdLib 還要差 (確實挺接近 PCjr 的),因此在市場上並未取得突破性的成功。
比較特別的是,Game Blaster 的 12 組方波輸出可以分別獨立進行音量調節並且支援雙聲道輸出 (Stereo),但這並不能改變其音質比 AdLib 不如、方波合成技術被認為已屬落後、定位夾在 AdLib 與 MIDI 音效卡之間又沒能完勝 AdLib 而不受大眾甚至遊戲公司青睞的事實 (儘管其被命名為 Game Blaster,但支援這款音效卡的遊戲其實並不算多)。
Creative Sound Blaster (1989)
在 Game Blaster 上市隔年,Creative 就因應市場需求推出了融合 Game Blaster 與 AdLib 音樂合成卡特色的 Sound Blaster (這名字對於有買過音效卡的人來說應該再熟悉不過了吧?),這款音效卡採用了與 AdLib 完全相同的 YAMAHA YM3128 晶片,運用了相同的頻率調變 (FM) 合成技術來產生聲音,並保留了用於與 Game Blaster 維持相容的 C/MS 晶片 (由於此功能使用率偏低,因此 Creative 在後期的 Sound Blaster 中將此項功能改為可以單獨選配的晶片插槽)。
此外 Sound Blaster 還首次加入了 DSP (Digital Sound Processor,與現代的 DSP 並不相同,實際上只是由相當簡單的 MCS-51 控制器所組成) 使其具備 8-bit 23 kHz 的單聲道數位音訊播放能力、8-bit 12kHz 的單聲道數位音訊錄製能力與 ADPCM 解壓縮和 MIDI 介面 (但與主流的 MPU-401 並不相容)。
除了解決了 Game Blaster 的問題,並且保持了與 AdLib 和 Game Blaster 的完整相容性之外,Game Blaster 還首次在音效卡當中加入了遊戲搖桿連接埠 (當年的電腦通常並未內建遊戲搖桿支援而需要安裝一張售價大約在 50 美元的擴充卡並且占用數量已經不多的擴充卡槽) ,這讓 Sound Blaster 得以迅速掠奪 AdLib 的市場佔有率,最終甚至僅在短短一年之內成了最為暢銷的音效卡,而微軟也在 1990 年正式將 Sound Blaster 列為多媒體電腦的標準元件推薦軟體開發者採用。
Creative Sound Blaster Pro (1991)
相較於 Sound Blaster 基本上可以視為 Game Blaster 與 AdLib 的合體作品來說,在 1991 年推出的 Sound Blaster Pro 是 Creative 首次針對旗下的音效卡產品進行較大幅度的設計變更,但仍然保持了與前作和 AdLib 的相容性。
Sound Blaster Pro 採用了兩顆 YAMAHA YM3812 達到支援雙通道合成音效的效果 (每顆負責一個聲道),並具備了 22.05 kHz 雙聲道 (若單聲道則為 44.1 kHz) 的輸入/輸出取樣能力,同時也是第一款整合 CD-ROM 光碟機介面的 Creative 音效卡,而隨後 Creative 則推出了換裝新款 YAMAHA YMF262 晶片的 Sound Blaster Pro 2 (功能特性上大致與 Sound Blaster Pro 相同)。
Creative Sound Blaster 16 (1992)
在 Sound Blaster Pro 2 推出後不久 Creative 便推出了架構上與其相當相似 (同樣基於 YAMAHA YMF262) 但引入多項新功能特性的 Sound Blaster 16,在這款音效卡當中 Creative 首次加入了 16 位元數位音效取樣技術,使音效卡的音質終於提升到 CD 等級,讓電腦的音效處理能力終於足以應付聆聽音樂時的需求,並且加入了對 MIDI 擴充子板 (例如同樣由 Creative 所推出的 Wave Blaster) 的支援使其具備部分模擬 MPU-401 的能力 (僅限 UART 模式,但對於大多數應用來說其實已經足夠)。
Creative Sound Blaster AWE32/32/AWE64 (1994-1996)
在 SoundBlaster 16 推出之後的兩年內,Creative 並沒有推出新一代的音效卡產品 (不過倒是成功打入 OEM 市場了),在 1994 年 Creative 才推出了 Sound Blaster AWE32 作為 Sound Blaster 16 的後繼產品,然而實際上 AWE32 與前作之間的差別並不是很大,主要的差異是出現在合成器改用 EMU8000,這款可以支援多達 32 個和弦的合成器才是這款產品被命名為 AWE32 的實際原因 (當時確實曾經造成一些人誤以為 AWE32 是支援 32-bit 取樣的意思)。
在架構上 AWE32 與前作的差異主要出現在新增的取樣記憶體 (而且是難得一見可以擴充記憶體的音效卡,內建 512 KB 至多可以增加到 28 MB),而後來的 SoundBlaster 32 則是以 Sound Blaster AWE32 為基礎刪減掉取樣記憶體 (但仍可以購買記憶體模組進行擴充) 與 Wave Blaster 擴充插槽的版本。
而 AWE64 則是以 AWE32 為基礎改良,運用軟體模擬的方式模擬出額外的 32 個取樣通道 (由於是軟體模擬,會消耗電腦本身的運算性能),並且改進了 SNR 與把擴充取樣記憶體擴充模組的規格由標準的 SIMM 模組改為 Creative 自家特殊設計,這三款產品雖然相較於前作來說在硬體特性上並沒有太多突破性的發展,但卻是 Creative 的業績最為輝煌的一段時期。
AC’97 (1997-2004)
在 1996 年,以 Intel 為首的五家廠商共同制定了一套稱為 Audio Codec ’97 (簡稱 AC’97) 的個人電腦音效系統統一標準,盼能讓原先混雜且經常出現相容性問題的音效系統能有一套能讓業界共同遵循的設計依據,由於制定廠商中包含了個人電腦處理器與晶片組的翹楚 Intel、在音效卡領域極具影響力的 Creative 與主流音效系統晶片生產商 YAMAHA 等產業巨頭,又加上這套音效標準在設計時特別考慮壓低成本等因素,AC’97 這套標準很快就普及到絕大多數的個人電腦音效系統上。
在 1987 年到 1996 年這十年左右的時間裡,通常個人電腦音效系統是把整套與音效相關的晶片和電路通通放在單一一張擴充介面卡上 (Sound Blaster 音效卡等產品大多是如此設計) 而有著體積龐大、成本高昂的缺點,儘管這段期間內隨著晶片製作工藝的改進也有將音效系統全部放在同一個晶片裡的產品出現,但卻有著類比訊號部分容易受到電磁干擾影響輸出音質的困擾,而 AC’97 標準在制定過程中便考慮的此一問題,因此將傳統的音效系統劃分為兩大部分,分別安置在兩枚獨立晶片上並使用稱為 AC-Link 的通道連結 (AC’97 的 SNR Ratio 表現因此比起以往要好得多):
- Digital Controller (數位訊號控制器)
主要負責與處理器共同進行數位訊號處理 (DSP) 與負責 I/O 控制等工作,在實務上經常被整合到南橋晶片中,Intel 從 ICH1 開始的南橋晶片就多半內建有符合 AC’97 標準的數位音訊控制電路。 - Analog Codec (類比訊號解碼器)
包含數位類比轉換器 (DAC)、類比數位轉換器 (ADC) 等元件,主要負責外部音源訊號的輸入與處理後音效的輸出能力 (並不支援音效技術,廠商在宣傳中使用的 Dolby 等音效技術實際上由軟體支援)。 - AC-Link
一組由五條訊號線所組成的匯流排,用於將 Digital Controller 與 Analog Codec 連結在一起 (其中三條分別為 12.288 MHz 時脈訊號、48 kHz 同步訊號與重設訊號,剩下的兩條則是分別負責兩個傳輸方向的資料訊號),傳輸速度則為 12.288 Mbit/s。
從架構規劃的觀點來看,其實 AC’97 的設計安排是比以往傳統的入門音效系統來得進步的 (近幾年來廠商更是樂於對 Analog Codec 與類比訊號輸出電路的電磁干擾使用各種隔離方式以作為產品宣傳時使用的特色,例如近來許多主機板在左下角的音效電路區會有一道實體分隔將音效電路與主機板的 PCB 作一定程度的隔離),但實際上人們經常可以從音樂愛好者與專業作曲家的口中聽到各種對於 AC’97 音質的不滿與抱怨,這主要是肇因於 AC’97 規範的早期版本對取樣率的硬性規定所衍伸的失真問題所致。
Table of Contents
取樣率轉換 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 Audio | AC’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 組互不干擾的音頻 | 不支援 |