趙文杰+陳磊+鄭全普+劉鎮(zhèn)瑜+霍爍爍
摘要:
將虛擬聲技術(shù)運(yùn)用于網(wǎng)絡(luò)語(yǔ)音會(huì)議系統(tǒng)中,利用頭相關(guān)傳遞函數(shù)對(duì)單音頻信號(hào)進(jìn)行處理,使之?dāng)U展為兩路立體聲信號(hào),從而對(duì)不同的參會(huì)者虛擬出帶有不同方位感的虛擬聲像,模擬出圓桌會(huì)議的聲像效果,并設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的基于Windows平臺(tái)的網(wǎng)絡(luò)虛擬會(huì)議系統(tǒng)。主觀(guān)測(cè)聽(tīng)結(jié)果顯示,所有測(cè)聽(tīng)者均認(rèn)為添加虛擬聲功能后用戶(hù)體驗(yàn)更好,大部分測(cè)聽(tīng)者認(rèn)為該功能將混亂情況下的語(yǔ)音進(jìn)行了方位感的梳理,增強(qiáng)了雞尾酒會(huì)效應(yīng),使測(cè)聽(tīng)人更加容易辨別說(shuō)話(huà)人,也更容易辨識(shí)說(shuō)話(huà)人所講內(nèi)容。
關(guān)鍵詞:虛擬聲;頭相關(guān)傳輸函數(shù);網(wǎng)絡(luò)語(yǔ)音通話(huà)系統(tǒng);網(wǎng)絡(luò)虛擬會(huì)議室
DOIDOI:10.11907/rjdk.171849
中圖分類(lèi)號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):1672-7800(2018)001-0132-03
Abstract:In this paper, the virtual sound technology applied to the network voice conferencing system, the use of head-related transfer function of single-audio signal processing, so that it is extended to two stereo signals, so that different participants virtual out with a different sense of virtual Audio and video, simulation of the round table audio and video effects, and designed to achieve a simple Windows platform based on the virtual network virtual conference system. Subject audiometry results show that all the participants are considered to add virtual sound function after the user experience better, most of the listener that this feature will be chaotic voice of the location of the carding, and enhance the cocktail effect, so that listeners are more likely to identify the speaker, but also easier to identify the speakers content.
Key Words:virtual sound; head-related transfer function; network virtual conference room
0引言
隨著互聯(lián)網(wǎng)和多媒體技術(shù)的發(fā)展,異地召開(kāi)語(yǔ)音會(huì)議成為現(xiàn)實(shí),且語(yǔ)音會(huì)議業(yè)務(wù)作為一種便利的通信手段,已經(jīng)被大多數(shù)政府部門(mén)和企事業(yè)單位所接受和采用。目前,立體聲網(wǎng)絡(luò)電話(huà)會(huì)議系統(tǒng)中通常是將雙麥克風(fēng)所錄數(shù)據(jù)經(jīng)過(guò)網(wǎng)絡(luò)發(fā)送至客戶(hù)端,再使用多個(gè)揚(yáng)聲器進(jìn)行播放,在兩人以上會(huì)議中,多人同時(shí)發(fā)言時(shí)會(huì)出現(xiàn)聲像重疊情況,若發(fā)言人數(shù)更多將會(huì)造成聲像重疊、言語(yǔ)混雜,造成與會(huì)人員無(wú)法聽(tīng)清發(fā)言人聲音的問(wèn)題,一些語(yǔ)音會(huì)議系統(tǒng)采用的方法是限制同時(shí)發(fā)言人數(shù)。本系統(tǒng)將虛擬聲技術(shù)運(yùn)用于語(yǔ)音會(huì)議系統(tǒng)中,僅需要一個(gè)麥克風(fēng)錄取聲音,在播放前將各與會(huì)人員的聲音虛擬到各用戶(hù)自定義的方位,進(jìn)行立體聲播放,便可以制造立體聲效果。與會(huì)者可以自行設(shè)置每個(gè)發(fā)言人的位置,系統(tǒng)根據(jù)用戶(hù)設(shè)置,虛擬出一個(gè)現(xiàn)實(shí)會(huì)議中的圓桌會(huì)議效果,使語(yǔ)音會(huì)議更加真實(shí),同時(shí)可在一定程度上解決多人同時(shí)發(fā)言時(shí)的聲像混疊問(wèn)題。
1系統(tǒng)總體設(shè)計(jì)
1.1系統(tǒng)設(shè)計(jì)方案
本文設(shè)計(jì)的局域網(wǎng)虛擬聲會(huì)議系統(tǒng)主要包含如下功能:①客戶(hù)端用戶(hù)向服務(wù)器發(fā)出登錄、注銷(xiāo)請(qǐng)求并完成登
陸和注銷(xiāo);②客戶(hù)端用戶(hù)采集語(yǔ)音數(shù)據(jù),并通過(guò)降采樣后通過(guò)網(wǎng)絡(luò)傳輸;③客戶(hù)端用戶(hù)可以向其它客戶(hù)端發(fā)送文字信息;④客戶(hù)端提供可視化界面,用戶(hù)可以設(shè)置其他各參會(huì)人的位置信息,系統(tǒng)根據(jù)各參會(huì)人員的位置信息進(jìn)行虛擬聲的合成和播放;⑤服務(wù)器完成參會(huì)人員控制,包括用戶(hù)登錄、注銷(xiāo)驗(yàn)證及文字、語(yǔ)音信息轉(zhuǎn)發(fā)。
1.2系統(tǒng)結(jié)構(gòu)
系統(tǒng)主要由服務(wù)器和客戶(hù)端兩部分構(gòu)成,拓?fù)浣Y(jié)構(gòu)為星型拓?fù)浣Y(jié)構(gòu),采用主從式構(gòu)架,即客戶(hù)端服務(wù)器模式[1]。系統(tǒng)結(jié)構(gòu)如圖1所示。
本系統(tǒng)中,服務(wù)器端主要功能為驗(yàn)證用戶(hù)登陸信息,并將已驗(yàn)證用戶(hù)的文字信息、語(yǔ)音信息等轉(zhuǎn)發(fā)到其它各在線(xiàn)客戶(hù)端。系統(tǒng)客戶(hù)端主要功能為發(fā)送登錄請(qǐng)求,驗(yàn)證通過(guò)后獲取所有在線(xiàn)用戶(hù)信息,錄取語(yǔ)音并發(fā)送語(yǔ)音信息至服務(wù)器,收到服務(wù)器轉(zhuǎn)發(fā)其它客戶(hù)端語(yǔ)音信息后根據(jù)客戶(hù)設(shè)置各與會(huì)人員位置信息,虛擬出帶有方位感的立體聲語(yǔ)音信息,進(jìn)行混音播放??蛻?hù)端軟件構(gòu)架如圖2所示。
2系統(tǒng)關(guān)鍵模塊設(shè)計(jì)
2.1虛擬聲合成模塊
心理聲學(xué)研究表明,聲源產(chǎn)生的(直達(dá)聲)聲波經(jīng)頭部等散射后到達(dá)雙耳,產(chǎn)生雙耳時(shí)間差(ITD)和聲級(jí)差(ILD)。聽(tīng)覺(jué)系統(tǒng)利用這些雙耳差并與過(guò)去的聽(tīng)覺(jué)系統(tǒng)經(jīng)驗(yàn)進(jìn)行比較,從而判斷聲源方向。而頭部及耳廓等對(duì)聲波的散射作用以及由此產(chǎn)生的雙耳差可用頭相關(guān)傳遞函數(shù)(Headrelated Transfer Function簡(jiǎn)稱(chēng)HRTF)表達(dá)[2]。
HRTF定義為自由場(chǎng)情況下簡(jiǎn)諧點(diǎn)聲源在左右耳處產(chǎn)生的頻域復(fù)數(shù)聲壓和頭移開(kāi)后聲源在原頭部中心位置處的頻域復(fù)數(shù)聲壓之比[3]。endprint
PL、PR分別是簡(jiǎn)諧點(diǎn)聲源在左、右耳產(chǎn)生的頻域復(fù)數(shù)聲壓,P0是頭移開(kāi)后在原點(diǎn)中心位置處的頻域復(fù)數(shù)聲壓。r為聲源距離頭部中心的距離,θ為方位角,φ為仰角,f為聲波的頻率,a為個(gè)性化因素。它包含了人耳對(duì)聲源定位所需的雙耳時(shí)間差、雙耳聲級(jí)差等重要信息。獲取HRTF的方法有實(shí)驗(yàn)測(cè)量和理論計(jì)算兩種,本系統(tǒng)采用本實(shí)驗(yàn)室試驗(yàn)測(cè)量的仿真頭模BHead210(由中國(guó)傳媒大學(xué)依據(jù)中國(guó)成年人頭面部尺寸的國(guó)家標(biāo)準(zhǔn)設(shè)計(jì)與制作)水平面一周的HRTF數(shù)據(jù)。
有了頭相關(guān)傳遞函數(shù)庫(kù),將單聲道音頻數(shù)據(jù)轉(zhuǎn)換為帶方位的立體聲數(shù)據(jù)如圖3所示。
生成虛擬聲的主要步驟如下:①加載頭相關(guān)傳遞函數(shù)庫(kù),這一步是前提,必須將文件存儲(chǔ)形式的頭相關(guān)傳遞函數(shù)庫(kù)全部加載到內(nèi)存中,本系統(tǒng)僅需要水平面一周的頭相關(guān)傳遞函數(shù)庫(kù)內(nèi)容,大小為294 912字節(jié)。該步驟需在系統(tǒng)初始化時(shí)一同初始化,將全部水平面庫(kù)一次性載入內(nèi)存,是為了在程序運(yùn)行過(guò)程中,用戶(hù)改變方位后能夠更快地拿到相應(yīng)角度的頭相關(guān)傳遞函數(shù),不用再重新讀取文件而造成系統(tǒng)反應(yīng)時(shí)間增加;②將存放為時(shí)域的相應(yīng)角度的頭相關(guān)傳遞函數(shù)作頻域變換,之所以要變換到頻域,是為了提高計(jì)算效率,且此步驟每次變換角度后只需作一次變換即可;③將音頻數(shù)據(jù)進(jìn)行頻域變換,此處應(yīng)注意,每次音頻點(diǎn)長(zhǎng)度應(yīng)適中,且必須為512的整數(shù)倍。ASIO每次取到的錄音數(shù)據(jù)以及網(wǎng)絡(luò)發(fā)送和接收到的數(shù)據(jù)長(zhǎng)度都是1 024個(gè)點(diǎn),故在此選用1 024個(gè)點(diǎn)進(jìn)行頻域轉(zhuǎn)換;④將頻域轉(zhuǎn)換后的音頻數(shù)據(jù)分別與相應(yīng)角度的頻域轉(zhuǎn)換后的左右耳頭相關(guān)傳遞函數(shù)進(jìn)行頻域點(diǎn)乘,分別得到與原音頻長(zhǎng)度相同的立體聲數(shù)據(jù)。將計(jì)算所得音頻數(shù)據(jù)放入ASIO聲卡驅(qū)動(dòng)緩存即可播放。
2.2音頻驅(qū)動(dòng)模塊
音頻輸入輸出模塊是系統(tǒng)和聲卡的接口,負(fù)責(zé)系統(tǒng)的雙通道立體聲錄放。這里使用的音頻流輸入輸出接口(Audio Stream Input Output,簡(jiǎn)稱(chēng)ASIO)(本系統(tǒng)使用的ASIO4ALL是由Wuschel開(kāi)發(fā)出來(lái)的一款綠色小巧的ASIO驅(qū)動(dòng))支持44 100Hz和48 000Hz采樣率的聲音信號(hào)。ASIO接口繞過(guò)Windows操作系統(tǒng)對(duì)聲卡I/O的控制,直接驅(qū)動(dòng)PC聲卡,從而具有較高的響應(yīng)速度和較低的錄放延遲。此外,ASIO技術(shù)還支持最多32通道錄放音功能。
本系統(tǒng)將ASIO的初始化、啟動(dòng)錄放、獲取錄音數(shù)據(jù)、放入放音數(shù)據(jù)、停止錄放、釋放資源等操作封裝到多個(gè)函數(shù)中。系統(tǒng)開(kāi)始運(yùn)行之后ASIO隨即進(jìn)行初始化:設(shè)定錄放音通道數(shù)、一次錄放音的幀長(zhǎng)、音頻I/O采樣率等。ASIO啟動(dòng)錄放后將在連續(xù)錄取近端聲音的同時(shí),播放從遠(yuǎn)端接收到的聲音數(shù)據(jù),由于ASIO內(nèi)部錄音緩沖切換速度極快,近端的錄音數(shù)據(jù)塊必須及時(shí)保存;同時(shí)接收到的遠(yuǎn)端聲音數(shù)據(jù)需要被保存到一個(gè)聲音接收緩存中,緩存的長(zhǎng)度和初始指針位置必須嚴(yán)格設(shè)定,避免ASIO放音時(shí)由于網(wǎng)絡(luò)擁塞等原因?qū)е略?huà)音斷斷續(xù)續(xù)。
2.3網(wǎng)絡(luò)通信模塊
網(wǎng)絡(luò)通信模塊主要負(fù)責(zé)客戶(hù)端和服務(wù)器之間的數(shù)據(jù)交換。其主要任務(wù)是發(fā)送和接收登錄、注銷(xiāo)、開(kāi)始語(yǔ)音、結(jié)束語(yǔ)音等命令信息,以及文字和語(yǔ)音信息。
系統(tǒng)采用Windows操作系統(tǒng)提供的網(wǎng)絡(luò)套接字(SOCKET)接口實(shí)現(xiàn)實(shí)時(shí)雙端網(wǎng)絡(luò)通信。SOCKET接口通過(guò)IP地址和端口定位遠(yuǎn)端,可在面向連接的傳輸控制協(xié)議(TCP)和面向無(wú)連接的用戶(hù)數(shù)據(jù)包協(xié)議(UDP)之上順利工作??紤]到系統(tǒng)客戶(hù)端與服務(wù)器端命令信息需要無(wú)差錯(cuò)可靠傳輸以及TCP面向連接的可靠性特點(diǎn),本系統(tǒng)使用TCP傳輸系統(tǒng)間命令信息??紤]到音頻數(shù)據(jù)的實(shí)時(shí)性要求和可少量丟幀的限制及UDP協(xié)議本身的特點(diǎn),本系統(tǒng)采用UDP協(xié)議傳輸語(yǔ)音信息[4]。
2.4混音模塊
混音算法的最終目的是將輸入的多路語(yǔ)音混合成一路語(yǔ)音輸出,但由于實(shí)際應(yīng)用環(huán)境不理想,在算法設(shè)計(jì)過(guò)程中需要著重考慮質(zhì)量與效率兼顧的問(wèn)題。由于語(yǔ)音會(huì)議中傳輸?shù)氖菍?shí)時(shí)語(yǔ)音,如果網(wǎng)絡(luò)延時(shí)過(guò)大或者需要處理時(shí)間過(guò)長(zhǎng)就會(huì)影響到會(huì)議參與者的正常交流。網(wǎng)絡(luò)時(shí)延問(wèn)題非算法所能解決,這要求算法在特定的網(wǎng)絡(luò)環(huán)境下保持較高的效率,使延時(shí)保證在用戶(hù)可以忍受的范圍內(nèi),同時(shí)語(yǔ)音質(zhì)量也不能太差[5]。因此,混音算法需要同時(shí)兼顧語(yǔ)音質(zhì)量和算法效率,需要在二者之間做好平衡。基于對(duì)常見(jiàn)混音算法的了解及實(shí)驗(yàn)驗(yàn)證,并考慮到會(huì)議系統(tǒng)中同時(shí)可分辨的發(fā)言人數(shù)有限,本系統(tǒng)的混音處理使用鉗位法[6]。
鉗位法是效率最高的混音算法之一,基本做法如同線(xiàn)性疊加法,僅在混音過(guò)程中對(duì)樣本的溢處部分進(jìn)行處理,將超過(guò)上限的樣本值用上限值代替,超過(guò)下限的樣本值用下限代替[7]。例如,用32bit的存儲(chǔ)空間保存一個(gè)采樣值,即C語(yǔ)言中的int類(lèi)型(int最大值表示為INTMAX,最小值表示為INTMIN),處理疊加方法如下:
在溢出情況很少發(fā)生的情況下,此方法輸出波形保真度高,語(yǔ)音質(zhì)量良好。
3實(shí)驗(yàn)結(jié)果分析
經(jīng)過(guò)對(duì)16位測(cè)聽(tīng)人員的主觀(guān)測(cè)聽(tīng)結(jié)果分析可知,虛擬聲功能在本系統(tǒng)中對(duì)方位感的模擬是有效的,100%的人體會(huì)到了方位感,且均認(rèn)為此功能的添加對(duì)用戶(hù)體驗(yàn)效果良好,但聲像方位的準(zhǔn)確度存在一定差距,這與頭中定位有很大關(guān)系,若要提高準(zhǔn)確度,需增加混響等算法輔助,此問(wèn)題有待后續(xù)研究。
對(duì)虛擬聲功能在2~4人同時(shí)講話(huà)時(shí)辨識(shí)度的測(cè)聽(tīng)中,尤其對(duì)2~3人同時(shí)講話(huà)時(shí),100%的測(cè)聽(tīng)者選擇了好于無(wú)虛擬聲功能時(shí)的效果;4人同時(shí)講話(huà)時(shí),75%的測(cè)聽(tīng)者選擇了好于無(wú)虛擬聲功能時(shí)的效果,25%的測(cè)聽(tīng)者認(rèn)為沒(méi)有明顯效果;在添加虛擬聲功能后音質(zhì)變化上,僅有1人認(rèn)為音質(zhì)變差了,其余15人認(rèn)為并無(wú)明顯變化,認(rèn)為無(wú)明顯變化的占總體的93.75%??傮w評(píng)價(jià)中,100%的人認(rèn)為添加虛擬聲功能后用戶(hù)體驗(yàn)更好,其中43.75%的測(cè)聽(tīng)者認(rèn)為此功能的用戶(hù)體驗(yàn)很好,大部分測(cè)聽(tīng)者認(rèn)為此功能將混亂情況下的語(yǔ)音進(jìn)行了方位感梳理,增強(qiáng)了雞尾酒會(huì)效應(yīng),使測(cè)聽(tīng)人更加容易辨別說(shuō)話(huà)人,也更容易辨識(shí)說(shuō)話(huà)人所講內(nèi)容。
4結(jié)語(yǔ)
本系統(tǒng)旨在將虛擬聲技術(shù)運(yùn)用于語(yǔ)音會(huì)議系統(tǒng)中,以盡量增加與會(huì)者的現(xiàn)場(chǎng)感和真實(shí)感,并在一定程度上解決多人同時(shí)發(fā)言造成的聲像混疊問(wèn)題。因此,本系統(tǒng)不考慮會(huì)議系統(tǒng)的回聲抵消問(wèn)題和多揚(yáng)聲器播放時(shí)為保證正確聲像而帶來(lái)的串聲消除問(wèn)題。
虛擬聲技術(shù)的運(yùn)用,增加了系統(tǒng)的計(jì)算復(fù)雜度和系統(tǒng)設(shè)計(jì)難度,且由于本系統(tǒng)客戶(hù)端需要獲取每個(gè)參會(huì)人員的聲音,這考驗(yàn)著網(wǎng)絡(luò)的負(fù)載能力,因此就目前而言,本系統(tǒng)僅適用于召開(kāi)少于10人的語(yǔ)音會(huì)議。但從未來(lái)趨勢(shì)看,語(yǔ)音會(huì)議系統(tǒng)的復(fù)雜度越來(lái)越高,在基本功能實(shí)現(xiàn)的基礎(chǔ)上增加與會(huì)者的現(xiàn)場(chǎng)感和真實(shí)感將是語(yǔ)音會(huì)議系統(tǒng)的發(fā)展方向。
參考文獻(xiàn):
[1]羅偉.大容量VoIP電話(huà)會(huì)議系統(tǒng)的研究與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2008.
[2]謝菠蓀.頭相關(guān)函數(shù)與虛擬聽(tīng)覺(jué)[M].北京:國(guó)防工業(yè)出版社,2007.
[3]謝菠蓀,管善群.虛擬聲技術(shù)及其應(yīng)用(上)[J].應(yīng)用聲學(xué),2004,23(4):43-47
[4]沈鑫剡.多媒體傳輸網(wǎng)絡(luò)與VoIP系統(tǒng)設(shè)計(jì)[M].北京:人民郵電出版社,2005.
[5]殷曉虎,周娟,張靜.基于會(huì)議系統(tǒng)混音算法的研究與應(yīng)用[J].電聲技術(shù),2014,38(3):53-55.
[6]OHSHIMA K.A teleconferencing system with high-speed stream mixing for voice over IP[Z]. Wikipedia,2004.
[7]蒙肖雷.基于SIP的企業(yè)語(yǔ)音通話(huà)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2014.
(責(zé)任編輯:孫娟)endprint