国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于WebVR實(shí)現(xiàn)3D音效可視化的方法

2019-09-04 10:00金益張量
軟件工程 2019年8期

金益 張量

摘? 要:由于VR場景中用戶可以自主選擇觀看的方向和角度,為了獲得最佳的體驗(yàn)效果,VR音頻技術(shù)要求通過聲音辨別方向、距離等反饋更多的空間環(huán)境狀態(tài)。本文主要論述了一種基于WebVR實(shí)現(xiàn)音頻空間可視化的方法,核心是運(yùn)用了Web Audio API的PannerNode和AudioListener兩個對象處理音頻源,其中Three.js提供了完善的音頻空間化支持。最后通過VR Audio的案例進(jìn)行測試,實(shí)驗(yàn)表明根據(jù)用戶的位置和旋轉(zhuǎn)矩陣,可更新音頻空間信息。

關(guān)鍵詞:WebVR;音頻空間化;Web Audio API;音頻源

中圖分類號:TP391? ? ?文獻(xiàn)標(biāo)識碼:A

Abstract:As users can choose the direction and angle of view independently in VR scene,VR audio technology requires more spatial environment status through sound discrimination direction,distance,etc.in order to gain optimum experience.This paper mainly discusses a method of audio spatial visualization based on WebVR.The core of this method is to use Web Audio API's PanerNode and AudioListener to process audio source,in which Three.js provides refined support to audio spatialization.Finally,a VR audio case is tested.The experiment shows that the audio spatial information can be updated according to the user's position and rotation matrix.

Keywords:WebVR;audio spatialization;Web Audio API;audio source

1? ?引言(Introduction)

在虛擬現(xiàn)實(shí)應(yīng)用的開發(fā)中,除了圖形視覺渲染之外,音頻處理也是重要的一個環(huán)節(jié),最佳的3D音效能使用戶達(dá)到身臨其境的效果[1,3]。VR音頻的輸出硬件主要是耳機(jī),根據(jù)音頻源與場景之間的關(guān)系,可將VR音頻分為兩類:靜態(tài)音頻和空間化音頻[1]。

靜態(tài)音頻作用于整個VR場景,可簡單地理解為背景音樂,音頻輸出是靜態(tài)的,比如雨滴聲、鬧市聲等充斥整個場景的背景音效。對于此類音效的開發(fā),我們可以簡單地使用HTML5中的

2? ?音頻開發(fā)流程( Process of audio development)

我們首先用WebVR提供的Web Audio API處理一個簡單的音頻。Web Audio API提供了非常豐富的接口讓開發(fā)者在web平臺上實(shí)現(xiàn)對音頻進(jìn)行處理,底層由c++引擎提供支持與優(yōu)化[3]。利用Web Audio API,開發(fā)者能夠?qū)σ纛l文件擁有更高的處理權(quán)限以及內(nèi)置相關(guān)的音頻專業(yè)效果處理。Web Audio API使用戶可以在AudioContext中進(jìn)行音頻操作,具有模塊化路由的特點(diǎn)。一個簡單的音頻處理流程需要分為五步,如圖1所示。

(1)創(chuàng)建音頻上下文。

(2)在音頻上下文里創(chuàng)建源。例如

(3)創(chuàng)建效果節(jié)點(diǎn),例如混響、雙二階濾波器、平移、壓縮。

(4)為音頻選擇一個目的地,例如系統(tǒng)揚(yáng)聲器。

(5)連接源到效果器,對目的地進(jìn)行效果輸出。

Web Audio API處理流程可以比喻成一個加工廠對聲源的加工,這個加工廠由多個加工模塊連接而成,音頻源經(jīng)過一系列的處理加工后,被輸送至揚(yáng)聲器。其中Audio Context代表了一個音頻加工廠控制中心,是處理音頻的核心對象[],所有處理連接過程都由audio context管理,負(fù)責(zé)各個音頻結(jié)點(diǎn)的創(chuàng)建和組合,通過new AudioContext()的方式創(chuàng)建,如圖所示,Audio Context控制Input節(jié)點(diǎn)的生成和Destination節(jié)點(diǎn)的生成,同時(shí)控制著Input節(jié)點(diǎn)與Destination節(jié)點(diǎn)之間的連接。AudioNode是音頻結(jié)點(diǎn),則是加工廠的加工模塊,按照功能可分為三類:輸入結(jié)點(diǎn)、處理結(jié)點(diǎn)、輸出結(jié)點(diǎn)。每個結(jié)點(diǎn)都擁有connect()方法連接下一個結(jié)點(diǎn),將音頻輸出到下一個模塊。輸入結(jié)點(diǎn)主要負(fù)責(zé)加載解碼音頻源,比如獲取二進(jìn)制音頻源的BufferSourceNode、獲取

永寿县| 英德市| 镇江市| 青田县| 吉木萨尔县| 秦安县| 湟源县| 平原县| 阿合奇县| 玉林市| 黄山市| 静宁县| 西乌珠穆沁旗| 共和县| 乳源| 阜康市| 南昌县| 潢川县| 冷水江市| 新龙县| 辰溪县| 秭归县| 海盐县| 石狮市| 静安区| 澳门| 博客| 青浦区| 历史| 瑞金市| 安康市| 沛县| 龙川县| 山西省| 延边| 张北县| 颍上县| 富顺县| 佛坪县| 体育| 彭阳县|