聲卡對(duì)于我們來(lái)說(shuō),十分的熟悉了,正是聲卡技術(shù)的發(fā)展,將PC音頻帶入了一個(gè)全新的境界,使得在PC上聆聽(tīng)水晶般的聲音成為可能。那么好的聲音是如何發(fā)出來(lái)的,本文將從聲卡的底層技術(shù)出發(fā),帶領(lǐng)大家一探究竟。
優(yōu)秀的硬件設(shè)計(jì),奠定了聲卡良好工作的基礎(chǔ),但同時(shí)需要出色的軟件支持,才會(huì)將聲卡的性能釋放。優(yōu)秀的聲卡配套軟件,應(yīng)該性能強(qiáng)大,使用簡(jiǎn)單。我們以目前Audigy聲卡為例,配套軟件中所包含的內(nèi)容很多,這里我們只說(shuō)最關(guān)鍵的一個(gè):EAX。
EAX全名為Environmental Audio Extension,即環(huán)境音效指令集,是創(chuàng)新公司推出的API(Application Program Interface,即應(yīng)用程序接口。,技術(shù)廠商將自己的特有音頻技術(shù)開(kāi)發(fā)為3D音頻API,而對(duì)于軟件開(kāi)發(fā)商(如游戲開(kāi)發(fā)商)來(lái)說(shuō),利用只要使用該API,即可實(shí)現(xiàn)不同的3D音效。
EAX主要是針對(duì)一些特定環(huán)境,如音樂(lè)廳、走廊、房間、洞窟等,作成聲音效果器,當(dāng)電腦需要特殊音效時(shí),可以透過(guò)DirectX和驅(qū)動(dòng)程序讓聲卡處理,可以展現(xiàn)出不同聲音在不同環(huán)境下的反應(yīng),并且通過(guò)多件式音箱的方式,達(dá)到立體的聲音效果。
EAX在剛推出時(shí)為1.0版,目前是4.0版,還有即將發(fā)布的5.0版本。我們以目前的 EAX4.0來(lái)分析,利用EAX是如何實(shí)現(xiàn)游戲中的3D音頻處理。EAX4.0有:多環(huán)境,環(huán)境過(guò)渡,環(huán)節(jié)過(guò)濾,環(huán)境位移,環(huán)境反射等先進(jìn)特效。下面我們就來(lái)簡(jiǎn)單分析這些特效的實(shí)現(xiàn)。
●環(huán)境過(guò)渡(Environment Morphing):
在游戲中,當(dāng)角色從一個(gè)環(huán)境,到另外一個(gè)環(huán)境。聲音效果應(yīng)該是逐漸過(guò)渡的,EAX4.0實(shí)現(xiàn)了從一種環(huán)境向另一種環(huán)境的無(wú)縫轉(zhuǎn)換。而這在以前會(huì)非常生硬地切換到另一個(gè)環(huán)境效果,很不真實(shí)。我們來(lái)看環(huán)境過(guò)渡是如何實(shí)現(xiàn)的。
在圖中,從門口,經(jīng)過(guò)走廊,到達(dá)大廳,我們?nèi)×巳齻€(gè)位置:門口、走廊中間、走廊和大廳交界處。在角色從門口進(jìn)入大廳的過(guò)程中,要進(jìn)行的位置轉(zhuǎn)換,混響(reverb)參數(shù)會(huì)根據(jù)角色在兩個(gè)環(huán)境位置的絕對(duì)不同參數(shù)而逐漸地改變。隨著角色的位置,在走廊里移動(dòng),更加接近大廳的。就調(diào)用更多的大廳的回響參數(shù),這樣大廳的效果就更突出。位置1到2位置,和位置2到位置3就是參數(shù)漸變的過(guò)程。
當(dāng)角色,從門口進(jìn)入走廊,和從走廊進(jìn)入到大廳的位置1和位置3處。屬于位置極限變化,參數(shù)會(huì)自動(dòng)的改變。
環(huán)境漸變是與回響相關(guān)的最重要函數(shù)。以前的游戲沒(méi)有逐漸過(guò)渡,只能通過(guò)設(shè)置一個(gè)漸變函數(shù)值。使用這些函數(shù)值形成一定的平均環(huán)境,得到不同聲場(chǎng)的變化的平均效果,不是很真實(shí)。使用了EAX的環(huán)境漸變后,游戲效果不能通過(guò)使用不同的參數(shù)進(jìn)行逐漸地改變,因?yàn)樵贓AX中,是通過(guò)調(diào)用預(yù)先設(shè)定的值來(lái)完成的(這一點(diǎn)非常重要,在下面的問(wèn)題處理中,我們要用到)。比如EAX把從門口經(jīng)過(guò)走廊到大廳的過(guò)程中,預(yù)先設(shè)置預(yù)幾十個(gè)變量,把走廊做為中間參數(shù),逐步調(diào)用就可以了。雖然實(shí)現(xiàn)起來(lái)非常簡(jiǎn)單,但是需要強(qiáng)大的DSP處理能力做保證。從前面的分析我們知道 EMU10KX的處理能力足可以勝任這個(gè)工作。
●環(huán)境過(guò)濾(Environment Filtering):
通過(guò)環(huán)境過(guò)濾,EAX可以準(zhǔn)確模擬聲音同時(shí)在開(kāi)放和封閉的環(huán)境中傳播的效果。
如圖在聲音1的音源被定位在障礙物后。直接通路被遮擋住了,這就是障礙效果。這樣就采用EAX的環(huán)境過(guò)濾來(lái)進(jìn)行處理,依據(jù)障礙物的幾何參數(shù)(厚度)和墻壁的制造材料來(lái)調(diào)用EAX函數(shù)的過(guò)濾度數(shù)。由于音源和角色之間沒(méi)有直接的接觸,音源的回波也根據(jù)同樣的原則被壓抑了。音源3定位在關(guān)閉的門的后面,這就是封閉效果。一般處理方式,可以通過(guò)調(diào)低音量來(lái)實(shí)現(xiàn),但更加實(shí)際的實(shí)現(xiàn)辦法是使用低通(low- pass)的過(guò)濾來(lái)改變聲音的效果。這樣處理以后,可以得到低沉壓抑的聲音。我們認(rèn)為EAX這里使用HRTF(頭部相關(guān)傳輸函數(shù))技術(shù),通過(guò)過(guò)濾或轉(zhuǎn)換來(lái)進(jìn)行模擬。?此外,還有排斥處理。比如音源和游戲角色在門敞開(kāi)的不同的房間,這樣直接的聲音通過(guò)門可以傳給角色。如何表現(xiàn)這類聲音呢?EAX就依據(jù)墻壁材料的厚度,形狀和屬性對(duì)反射的聲音進(jìn)行失真處理,來(lái)表現(xiàn)聲音這樣細(xì)微的差別。
●環(huán)境移位(Environment Panning):
現(xiàn)實(shí)中,當(dāng)游戲角色和一個(gè)環(huán)境的相對(duì)位置或距離不斷變化的時(shí)候,聲音效果也是變化的。EAX是如何處理這樣的變化的,我們來(lái)看下圖。
如圖,我們將從音源(一條從屋頂流到水池的泉水)到游戲角色的距離分為6個(gè)區(qū)域,距離越遠(yuǎn),聲音越小。這樣,可以采用降低音量級(jí)的方式來(lái)進(jìn)行處理。從音源到角色,沒(méi)經(jīng)過(guò)一個(gè)區(qū)域,聲音強(qiáng)度降低幾個(gè)dB。這樣聲音越來(lái)越小,在這6個(gè)區(qū)域之外,EAX引擎就可以關(guān)閉,這樣還可以釋放處DSP的運(yùn)算資源。
同時(shí)音量級(jí)是有對(duì)數(shù)相關(guān)性的。不同的音源的音量級(jí)是不同的,比如對(duì)應(yīng)較大的聲音和較安靜的聲音,音源也可以被區(qū)分為最小和最大的距離。例如流水在幾個(gè)區(qū)域,聲音就聽(tīng)不見(jiàn)了。而怪獸,則在幾個(gè)區(qū)域之后,聲音還很大。
posted on 2006-11-16 04:08
七星重劍 閱讀(512)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
Game Music & Sound