999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

XAudio2技術在地鐵列車駕駛模擬器中的應用

2011-03-21 14:07:42錢雪軍
城市軌道交通研究 2011年1期
關鍵詞:效果

陳 嘉 錢雪軍 朱 鳴 姚 軍

(1.同濟大學電氣工程系,200092,上海;2.上海申通地鐵集團有限公司軌道交通培訓中心,201102,上海∥第一作者,碩士研究生)

XAudio2技術在地鐵列車駕駛模擬器中的應用

陳 嘉1錢雪軍1朱 鳴2姚 軍2

(1.同濟大學電氣工程系,200092,上海;2.上海申通地鐵集團有限公司軌道交通培訓中心,201102,上海∥第一作者,碩士研究生)

為了使受訓學員在地鐵列車駕駛模擬器上獲得逼真的聽覺效果,需要對列車駕駛室中聽到的各種聲音進行模擬仿真。在分析列車駕駛模擬器聲音的種類及特點的基礎上,把模擬駕駛器中的聲音分為無方位的聲音和3D立體聲進行研究。提出了采用微軟最新DirectX組件中的XAduio2技術來實現聲音的仿真。仿真得到的聲音效果能夠使受訓學員聽覺上產生強烈的沉浸感。

XAduio2技術;地鐵列車駕駛模擬器;聲音仿真

First-author's addressDepartment of Electrical Engineering,Tongji University,200092,Shanghai,China

地鐵列車駕駛模擬器仿真系統要求對真實系統進行盡可能真實的仿真,不僅要在整個駕駛過程中給受訓學員提供逼真的視覺、力感,而且要有逼真的音響效果。逼真的音響效果可以使受訓學員產生身臨其境的感覺,增加系統的沉浸感。因此,對地鐵列車駕駛模擬器聲音的仿真研究具有重要的意義。

1 地鐵列車駕駛模擬器聲音仿真系統簡介

地鐵列車駕駛模擬器由駕駛室操縱臺、控制仿真系統、視景仿真系統、聲音仿真系統等幾個主要部分組成。地鐵列車實際運行時會產生各種聲音,包括輪軌噪聲、變頻器噪聲、橋隧噪聲、電器動作噪聲,以及空氣制動、鳴笛、會車和調車連掛所引起的噪聲等。這些都是聲音仿真系統需要模擬的對象。

在駕駛模擬器中,聲音信息一方面可以為視景仿真系統實時伴音,使視覺和聽覺相互疊加;另一方面3D聲音信息可以補充由于視野的局限而接收不到的信息。如起霧時從遠方相向駛來的列車發出的聲音可以使駕駛員準確判斷前方的狀況。因此,在地鐵列車駕駛模擬器中,逼真的聲音仿真能增強駕駛員在虛擬駕車環境中的沉浸感。

目前,國內地鐵列車駕駛模擬器的聲音仿真一般使用微軟DirectX中的DirectSound組件來實現。從DirectX 9.0版本以后,微軟未對DirectSound進行重大更改,而在其后的DirectX 10.1版本中推出了它的替代音頻 API(應用程序編程接口)——XAudio2。XAudio2在3D聲音以及環繞聲音上較DirectSound有很大的改進,可單獨為每個揚聲器設置音量。例如:配置5.1聲道或7.1聲道音響各個揚聲器的聲音;在程序中可以僅設置其中一個揚聲器的音量,也可分別計算出每個揚聲器所要產生的音量。在新版的DirectX中,XAudio2主要用來進行音頻的信號處理,而三維空間的聲音定位任務則由另一個音頻API——X3DAudio來實現。這樣的搭配使得3D音效的編程變得更加靈活而方便。

2 聲音仿真的重要概念

2.1 聲音定位原理

在真實環境中,人們感知聲音在空間中的位置由許多因素決定。其中聲源所提供的位置因素有:

(1)總體響度。一般來說,響度是決定聆聽者主觀距離感的最重要因素。當一個聲源離開聆聽者時,聆聽者聽到的音量將隨著聲源的遠離而減小。

(2)耳間聽覺強度差。若聲源在聆聽者右邊,則其右耳聽到的聲音比左耳要大。

(3)兩耳聽覺時間差。從位于聆聽者右側聲源發出的聲音,到達右耳的時間比到達左耳要短一點。這個偏差一般為毫秒級。

(4)衰減。由于耳朵的形狀和位置,使得從聆聽者身后傳來的聲音比聆聽者前面傳來的聲音更低沉一些。此外,如果聲源從聆聽者右邊傳來,則傳遞到左耳的聲音很大一部分會被聆聽者的頭部衰減掉。

(5)耳廓作用。由于耳廓的特殊構造,使得從不同方向傳來的聲音到達耳膜的時間產生了微小變化。這種效應的數學模型被稱作頭部相關傳遞函數。

2.2 聲音錐

無方向的聲音對同一距離的任意方向都有相同的振幅,而有方向的聲音則只在它所指向的方向振幅最大。描述這種現象的聲音模型稱為聲音錐。聲音錐由聲音內錐和聲音外錐構成,且外錐角度必須始終大于等于內錐角度,如圖1所示。

圖1 聲音錐示意圖

當聆聽者處于聲音內錐時,考慮到聲音緩沖區的基本音量、與聲源的距離以及方向等因素,此時聆聽者接收到的音量就等于聲音內錐的音量。當聆聽者位于聲音外錐半徑之外時,所接收到的音量是線性變化的,它的取值可以從0.0f(f表示浮點數)到2.0f。聲音外錐音量1.0f代表聲音無衰減,0.5f代表聲音衰減了6 dB,0.0f則代表聲音完全消失了。在聲音錐的內錐和外錐之間是一個過渡帶。聆聽者接收到的音量從聲音內錐過渡到聲音外錐時將逐漸減小。

2.3 聲音的多普勒效應

聲波是通過傳播介質發送給聆聽者的。如果聲波波源相對于聆聽者位置固定,則聆聽者接收到的聲波頻率與波源的頻率相同。如果波源與聆聽者有相對運動,聆聽者檢測到的頻率就與實際波源頻率有差異。頻率差的大小取決于雙方的相對運動速度。這種因為波源和聆聽者中之一或兩者以不同速度相對于傳播介質運動,使聆聽者所接收到的聲波頻率高于或低于波源的振動頻率的現象稱為聲音的多普勒效應。

3 XAudio2組件介紹

XAudio2作為微軟新推出的DirectX的一個音頻組件,是一個底層的、跨越Windows和Xbox 360硬件平臺的音頻API。它與之前Windows平臺下的DirectSound音頻接口和Xbox平臺下的XAudio音頻接口一樣,為游戲開發提供了強大的信號處理與混音的功能。XAudio2為Windows和Xbox 360開發者提供了“寫一次代碼,編譯兩次”的優秀解決方案,大大減少了游戲開發人員跨平臺修改代碼的工作量。

3.1 XAudio2的特點

XAudio2與Windows平臺下的DirectX音頻組件DirectSound相比,有以下優點:

(1)可編程的數字信號處理(DSP)效果以及單個語音濾波效果。DSP效果是音頻處理的核心部分,它使用混響和閉塞/阻塞濾波效果來處理聲音,并對聲音在游戲環境中進行定位。XAudio2提供了一個強大而靈活的DSP框架,同時還為每個聲音提供了內置的濾波器,以達到高效濾波的效果

(2)次混音效果。次混音就是把幾個聲音混合成一個單一的音頻流。可使用XAudio2的次混音效果來處理、合并游戲中類似的音頻部分。例如,所有的游戲音效部分可以合并起來,并允許用戶調節音量,而游戲音樂部分的音量也可以單獨調節。XAudio2允許任意層次的次混音,能夠創造出復雜的聲音以及游戲混音。

(3)支持壓縮音頻格式。XAudio2支持壓縮音頻格式,在Windows中支持ADPCM 和xWMA壓縮格式。

(4)增強的多通道和環繞立體聲效果。XAudio2進一步增強了Windows對多聲道、3D聲音以及環繞聲的支持。XAudio2取消了以往只支持6聲道的限制,支持任意具有多聲道功能的聲卡,且該卡不需要硬件加速。在Windows平臺中,3D聲音和環繞聲更加靈活和透明。

(5)多采樣率處理。為了最大限度地減少CPU的使用率,XAudio2提供了創建多個低速率音頻處理的技術。如果音頻頻率低于48 kHz,則允許以聲音的原始頻率來進行處理,這樣可以顯著地降低CPU的使用率。

(6)非阻塞API模型。除了極個別例外,XAudio2的調用方法不會阻塞音頻處理引擎。這意味著開發人員可以放心調用XAudio2的方法,不用擔心因為其它正在運行的XAudio2方法造成音頻處理引擎阻塞。

3.2 XAudio2相關概念

XAudio2組件中共有源聲音、次混音聲音、主混音聲音等三種類型的聲音,XAuio2通過它們來處理、操作和播放音頻數據。

源聲音:代表音頻數據流,并發送數據給其他類型的聲音。

次混音聲音:其職能是對接收到的音頻數據進行操作,如進行音頻采樣率轉換。當次混音聲音處理完數據后,將數據傳遞給另一個次混音聲音或者主混音聲音。

主混音聲音:接收從源聲音和次混音聲音傳遞過來的數據,并把音頻數據發送給音頻硬件。

音頻圖是XAudio2聲音的一個集合。聲音數據從音頻圖中的源聲音開始,可以選擇經過一個或多個次混音聲音,最后發送到主混音聲音,由主混音聲音把音頻數據發送給音頻硬件處理。音頻圖包含每個正在播放的源聲音,零個或多個次混音聲音,一個主混音聲音。圖2是一個簡單的音頻圖示意圖。

圖2 簡單的音頻圖示意圖

4 XAduio2在模擬器中的應用

地鐵列車運行中的聲音可分為沒有方位的聲音和3D立體聲兩種。例如,在駕駛室內聽到的輪軌噪聲基本具有恒定的響度,因此輪軌噪聲可看作是無方位的聲音;當2列車會車時,由于聲音的多普勒效應,就需要使用3D立體聲來模擬這種效果。本文介紹用XAudio2來模擬這兩種聲音的過程。

4.1 無方位聲音的仿真

在操縱駕駛模擬器的時候,駕駛室內聽到的列車機械、電器動作等的聲音基本上是無方位的聲音,因此無需進行3D定位的聲音仿真,直接播放出來即可達到所需的效果。

用XAudio2播放無方位聲音的最小步驟是:先初始化XAudio2,然后創建一個源聲音并將音頻數據傳遞給它;這樣,一個聲音文件就可以通過音頻輸出設備播放出來了。特別要指出的是,由于DirectX是基于組件對象模型(Component Object Model,簡為COM)開發的,所以在調用XAudio2Create初始化XAduio2前,必須先調用COM函數CoInitialize或者CoInitializeEx,才能成功初始化XAudio2。程序的流程圖如3所示。

4.2 3D立體聲的仿真

設置合適的聲音錐可以使程序中的聲音栩栩如生。例如,在模擬2車會車的場景中,可以把聲源放在來車內部,并設置聲音錐的方向為該車的行駛方向;設置合適的內錐和外錐角度,并設置超過外錐一段距離后將聽不到任何聲音;同時設置多普勒效應因子。這樣,當受訓學員模擬駕駛時,與來車越接近,聲音就會越大越刺耳;當會車完畢后,學員聽到的來車聲音將逐漸減小直至聽不到為止。通過3D立體聲仿真,可使駕駛員通過聲音音調的變化判斷出與來車的相對速度,仿佛置身于真實的駕車環境中。如果簡單地重放聲音,就體現不出聲音的動感。

圖3 播放無方位聲音流程圖

X3DAudio是與XAuido2在三維空間中結合使用的API。X3DAudio使用聆聽者(Listener)和發射器(Emitter)來管理三維空間中的聲音。聆聽者和發射器分別代表聲音接收方和發射源的位置。

(1)聆聽者:定義為空間中聆聽者所在的點的位置及其方向。一般來說,無論是第一人稱視角或是第三人稱視角模式下,它的位置和方向與場景中攝像機位置是一致的。聆聽者的位置用世界坐標來表示。

(2)發射器:定義為空間中的一個(或多個)發射聲源的點。發射器的位置可在三維空間中的任何地方。發射器的位置也用世界坐標來表示。

要注意發射器和聆聽者的相對位置,才能計算最終的揚聲器音量。除了位置外,聆聽者和發射器還可以包含速度。與3D圖形渲染引擎不同,X3DAudio只使用速度來計算多普勒效應(不需要計算位置)。

XAudio2與X3DAudio一起配套使用時,可以逼真地模擬出3D立體聲。X3DAudio和XAudio2之間的相互作用是通過直接調用2個X3DAudio函數來實現的,它們分別是 X3DAudioInitialize和X3DAudioCalculate函數。

在駕駛模擬器中產生3D立體聲效果可以通過以下兩個步驟來實現。

步驟1:初始化X3DAudio。

首先調用X3DAudioInitialize函數初始化X3DAudio,再 創建 X3DAUDIO_LISTENER、X3DAUDIO_EMITT ER和X3DAUDIO_DSP_SETT INGS結構體的實例。

步驟2:利用X3DAudio計算和設置3D音頻效果。

①動態更新 X3DAUDIO_LISTENER與X3DAUDIO_EMITT ER實例的當前位置、速度以及方位。

②調用X3DAudioCalculate函數重新計算當前聲音的音頻效果。其中多普勒頻移效應計算公式為實際頻率=多普勒頻移系數×原始頻率。只有當程序中X3DAUDIO_CALCULATE_DOPPLER標志位設置時,調用X3DAudioCaculate函數才能計算出多普勒頻率。

③調用IXAudio2Voice::SetOutputMatrix和IXAudio2SourceVoice::SetFrequencyRatio函數,將上一步計算得到的音量和音調值數據傳送給源聲音。

④調用IXAudio2Voice::SetOutputMatrix函數將計算好的混響水平發送給次混音聲音。

⑤調用 IXAudio2Voice::SetFilterParameters函數將計算出的低通濾波系數發送給源聲音。

這樣,通過5.1聲道的音頻輸出設備,學員在模擬駕駛時,將能準確辨別出聲源的位置、速度等信息,且當2列車會車時,能很逼真地感受到聲音的多普勒效應,仿佛身臨其境,沉浸在模擬駕駛環境中。

5 結 語

本文簡要介紹了XAduio2技術。應用該技術開發的具有三維立體聲效果的地鐵列車駕駛模擬器聲音仿真系統,可以逼真地模擬真實地鐵列車駕駛中的各種聲音以及音響效果,使受訓學員產生身臨其境的沉浸感,能夠滿足地鐵列車駕駛模擬器對聲音仿真的要求。

[1]張順廣.機車仿真器中聲音系統的研究與開發[D].成都:西南交通大學,2003.

[2]張鐸,陳定方,蔣云.空間聲音建模技術及其在駕駛模擬器中的應用[J].湖北工業大學學報,2007(6):62.

[3]Microsoft.DirectX Software Development Kit[EB/OL].(2008-11)[2010-01-01].http:∥msdn.microsoft.com/en-us/library/ee415899(VS.85).aspx

Application of XAudio2 Technology to Metro Train Driving Simulator

Chen Jia,Qian Xuejun,Zhu Ming,Yao Jun

In order to give the trainees some vivid auditory effects,the simulation of various sounds in cabin is significant for metro train driving simulator(MTDS).In this paper,the types and characteristics of sounds in MTDS are discussed,which are divided into non-directional sounds and 3D stereo sounds.A new method of audio simulation is proposed with the application of the latest Microsoft DirectX component XAudio2,this technology is able to give the trainees a strong sense of immersion.

XAudio2 technology;metro train drivings imulator;audio simulation

TP 391.9

2010-01-06)

猜你喜歡
效果
按摩效果確有理論依據
迅速制造慢門虛化效果
抓住“瞬間性”效果
中華詩詞(2018年11期)2018-03-26 06:41:34
模擬百種唇妝效果
Coco薇(2016年8期)2016-10-09 02:11:50
3D—DSA與3D—CTA成像在顱內動脈瘤早期診斷中的應用效果比較
組合練習難度大,貼近實戰效果佳
主站蜘蛛池模板: 国内精品91| 国产中文在线亚洲精品官网| 青青草原国产一区二区| 久久精品中文字幕免费| 五月天福利视频| 国产精品吹潮在线观看中文| 日韩欧美91| 亚洲欧美日韩另类在线一| 久久91精品牛牛| 极品私人尤物在线精品首页| 成人福利在线观看| 456亚洲人成高清在线| 精品一区二区三区波多野结衣| 精品免费在线视频| 亚洲三级片在线看| 国产91无毒不卡在线观看| 高潮爽到爆的喷水女主播视频| 麻豆精品在线视频| 亚洲成人精品在线| 国产成人久久综合一区| 精品丝袜美腿国产一区| 伊人色天堂| 91久久偷偷做嫩草影院免费看| 色首页AV在线| 欧美在线中文字幕| 99热这里都是国产精品| 亚洲无码熟妇人妻AV在线| 国产网站免费| 亚洲欧美国产视频| 国产区免费| 久久鸭综合久久国产| 69免费在线视频| 国产亚洲欧美日韩在线一区二区三区 | 国产制服丝袜无码视频| 小说区 亚洲 自拍 另类| 国产95在线 | 宅男噜噜噜66国产在线观看| 99精品影院| 九九免费观看全部免费视频| 亚洲美女视频一区| 97超爽成人免费视频在线播放| 中文字幕亚洲乱码熟女1区2区| 久久a毛片| 国产区人妖精品人妖精品视频| 一级毛片视频免费| 1769国产精品免费视频| 亚洲一区二区三区麻豆| 国产91丝袜| 久久精品这里只有国产中文精品 | 亚洲欧美日韩中文字幕在线| 亚洲第一成人在线| 国产午夜无码片在线观看网站 | 国产在线八区| 97成人在线观看| 午夜日b视频| 欧美日韩导航| 国产91视频免费| 欧美性猛交xxxx乱大交极品| 日韩经典精品无码一区二区| 日本五区在线不卡精品| 原味小视频在线www国产| 99热这里只有精品国产99| 亚洲—日韩aV在线| 91麻豆精品视频| 精品夜恋影院亚洲欧洲| 激情综合图区| 日韩成人在线网站| 为你提供最新久久精品久久综合| 国产91久久久久久| 国产91无码福利在线| 精品日韩亚洲欧美高清a| 国产在线精品99一区不卡| 国产高清免费午夜在线视频| 拍国产真实乱人偷精品| 国产一区二区人大臿蕉香蕉| 亚洲国语自产一区第二页| 亚洲VA中文字幕| 国产区免费精品视频| 夜夜操天天摸| 亚洲欧洲日产国产无码AV| 欧美国产中文| 无码专区第一页|