呂 文
(四川省工業(yè)和信息化研究院,四川 成都 610017)
聽(tīng)覺(jué)系統(tǒng)是人體感觀中非常重要的一個(gè)系統(tǒng),人類可以通過(guò)聽(tīng)覺(jué)系統(tǒng)感受周圍的聽(tīng)覺(jué)刺激,進(jìn)行有效的信息交互。當(dāng)信息的目的是要吸引操作者的注意時(shí),聽(tīng)覺(jué)交互通道通常比視覺(jué)交互通道效果更好。因此,聽(tīng)覺(jué)顯示廣泛地應(yīng)用于警示設(shè)備[1]。當(dāng)信息簡(jiǎn)短、單純時(shí),聽(tīng)覺(jué)顯示也比較適合。聽(tīng)覺(jué)顯示可有效地應(yīng)用在以下幾個(gè)方面:①用于減少視覺(jué)工作的勞動(dòng)量;②引起人的立即注意,如警示信號(hào);③提高人們集中注意的能力。
聽(tīng)覺(jué)的信號(hào)可以包含單純的音調(diào)、復(fù)合的音調(diào)及語(yǔ)音的信息。音調(diào)可以是連續(xù)的、周期的或不定期的。音調(diào)信號(hào)可在以下?tīng)顩r下使用:①需要聽(tīng)者的立即反應(yīng);②聽(tīng)者必須察覺(jué)一個(gè)關(guān)于語(yǔ)音的信息;③條件不利于語(yǔ)音信息;④語(yǔ)音的信息會(huì)干擾其他的人或會(huì)遮蔽其他的信息。
操控系統(tǒng)中,聽(tīng)覺(jué)人機(jī)交互的用途極廣,常見(jiàn)的有如下幾種:
(1)蜂鳴器。它是一種頻率低、音調(diào)聲壓級(jí)低的電子訊響器,發(fā)出的聲音相對(duì)柔和,不會(huì)帶來(lái)突然人體應(yīng)激反應(yīng),經(jīng)常與信號(hào)裝置組合使用,僅運(yùn)用在較安靜的環(huán)境,提醒操作者注意,發(fā)揮聽(tīng)覺(jué)和視覺(jué)的指示作用。汽車駕駛員在打開(kāi)轉(zhuǎn)向撥桿后操作轉(zhuǎn)彎時(shí),駕駛室的顯示儀表上就有一個(gè)信號(hào)燈亮和蜂鳴器鳴笛,顯示汽車正在轉(zhuǎn)彎,直至轉(zhuǎn)彎結(jié)束[2]。
(2)響鈴。是一種聲壓級(jí)和頻率稍大于蜂鳴器的聽(tīng)覺(jué)提醒裝置。因其使用場(chǎng)合和使用目的不同,其聲壓級(jí)和頻率的設(shè)置會(huì)有比較大的差別,例如在安靜的環(huán)境下使用的電話鈴聲,因其使用環(huán)境優(yōu)良,同時(shí)其目的只是為了引起接聽(tīng)者注意,因此,聲壓級(jí)和頻率都較低。而在各種環(huán)境聲音及噪聲比較復(fù)雜的開(kāi)放環(huán)境下使用,如用作指示上下班的鈴聲,其聲壓級(jí)和頻率就較高。
(3)角笛和汽笛。根據(jù)聲壓級(jí)和頻率的不同,角笛分為聲壓級(jí)90~100 dB、低頻的吼聲和高聲壓、高頻的尖叫器,常用于環(huán)境惡劣、夾雜多種高噪聲環(huán)境中的報(bào)警裝置。而汽笛則是聲壓級(jí)高、頻率也高,傳播距離遠(yuǎn),運(yùn)用于緊急事態(tài)的音調(diào)信號(hào)報(bào)警裝置。如汽車中常用的測(cè)距雷達(dá),當(dāng)距離較遠(yuǎn)時(shí)聲調(diào)柔和,而當(dāng)距離較近時(shí)則聲調(diào)逐漸升高且變得急促,以提醒駕駛員注意。
(4)警報(bào)器。警報(bào)器聲音頻率可以由高到低或者由低到高調(diào)節(jié),聲壓級(jí)很高,傳播距離很遠(yuǎn),同時(shí)有聲調(diào)的起伏變化,抗噪聲干擾能力較強(qiáng),能瞬時(shí)引起人們的注意。可運(yùn)用在安全緊急狀態(tài),比如防空警報(bào)、地震警報(bào)等。
聽(tīng)覺(jué)信號(hào)常常用來(lái)傳達(dá)警告。信息的響度必須大到足夠容易察覺(jué),但也不應(yīng)該太大。所有的警告信號(hào)應(yīng)該至少要比預(yù)期周圍的聲訊大10~15 dB。對(duì)大多數(shù)的應(yīng)用而言,它必須在0.5 s內(nèi)吸引聽(tīng)者的注意,直到聽(tīng)者有適宜的反應(yīng)才停止。一般聽(tīng)覺(jué)警告的能量應(yīng)集中在頻率250~2500 Hz之間。在此范圍內(nèi),連續(xù)性音調(diào)信號(hào)與間斷性音調(diào)信號(hào)應(yīng)該限制在400~1500 Hz之間。顫音或起伏的音調(diào)的建議頻率范圍甚至更小(500~1000 Hz)。
聽(tīng)覺(jué)信號(hào)的警告效果,可用數(shù)種方法來(lái)提高。最顯著的是提高它的強(qiáng)度。其他的方法包括調(diào)節(jié)信號(hào)的振幅、給予適當(dāng)?shù)拈g斷聲以及周期性地改變信號(hào)的頻率,使得聲調(diào)達(dá)到每秒有1~3次的高低變化。
在聽(tīng)覺(jué)人機(jī)信息交互中,應(yīng)注意以下原則:①在環(huán)境復(fù)雜并帶有較少噪聲背景的場(chǎng)合,需要按照最小化原則,把聽(tīng)覺(jué)信號(hào)和報(bào)警信號(hào)的頻率設(shè)置在噪聲掩蓋效應(yīng)最小的范圍內(nèi),使人們既能清晰分辨音調(diào)信號(hào),同時(shí)又不過(guò)于刺耳。②對(duì)于僅需要引起人們注意的聲音,最好不使用連續(xù)的聲音信號(hào),以防造成聲音干擾;而對(duì)于用于緊急事態(tài)的報(bào)警裝置,最好采用連續(xù)變頻、聲調(diào)起伏的方法,更能快速引起人們的注意。另外,警報(bào)裝置最好與信號(hào)燈一起使用,組成“視、聽(tīng)”雙重報(bào)警信號(hào)[3]。③當(dāng)需要聲音傳播距離遠(yuǎn),且環(huán)境遮擋比較多時(shí),應(yīng)該使用低頻率、高強(qiáng)度的聲音信號(hào)。④在使用音調(diào)信號(hào)范圍比較小時(shí),應(yīng)該合理設(shè)置聲音發(fā)射裝置的數(shù)量,避免各個(gè)信號(hào)之間互相干擾,造成聽(tīng)覺(jué)接受者獲取信息的混淆。
人與機(jī)器之間,除了可以使用簡(jiǎn)單的聲音信息外,也可以用復(fù)雜的言語(yǔ)來(lái)傳遞信息[4]。傳遞和顯示言語(yǔ)信號(hào)的裝置稱為言語(yǔ)傳示裝置。如麥克風(fēng)這樣的受話器就是言語(yǔ)傳示裝置,而揚(yáng)聲器就是言語(yǔ)顯示裝置。作為言語(yǔ)顯示裝置,具有顯示信息準(zhǔn)確、信息量大的優(yōu)點(diǎn),又由于是信息的單向傳輸,所以信息傳播迅速,缺點(diǎn)是容易受到噪音的干擾。常用的言語(yǔ)顯示裝置有電視、廣播、電話、電報(bào)及其它錄音、放音的裝置。
言語(yǔ)顯示裝置比音調(diào)裝置表達(dá)信息更準(zhǔn)確,信息量大,因此,在選擇時(shí)應(yīng)與音調(diào)裝置相區(qū)別,并注意以下原則:①當(dāng)需要大量傳輸信息時(shí),使用單一言語(yǔ)顯示裝置表達(dá)信息準(zhǔn)確,不易產(chǎn)生信息內(nèi)容的混亂。②言語(yǔ)顯示裝置由于顯示的信息內(nèi)容比較單一,形式相對(duì)固定,較一般的視覺(jué)信號(hào)更有利于錯(cuò)誤溯源和故障處理。③在某些追蹤操縱中,言語(yǔ)傳動(dòng)裝置的效率甚至高于視覺(jué)信號(hào)。④在一些非職業(yè)領(lǐng)域中,如娛樂(lè)、廣播、電視等,采取言語(yǔ)顯示裝置比音調(diào)裝置更符合人們的習(xí)慣。
虛擬聽(tīng)覺(jué)空間(Virtual Auditory Space,VAS),是在虛擬現(xiàn)實(shí)系統(tǒng)中加入虛擬聽(tīng)覺(jué),以增強(qiáng)虛擬環(huán)境中使用者的沉浸感,減弱大腦對(duì)于視覺(jué)的依賴性[5],使用戶能在融合視覺(jué)信息和聽(tīng)覺(jué)信息的環(huán)境中,獲得更多的人機(jī)交互設(shè)計(jì)信息。虛擬聽(tīng)覺(jué)空間比較真實(shí)地模擬了人們的自然視聽(tīng)環(huán)境,但是又簡(jiǎn)化處理了無(wú)關(guān)信號(hào),具有結(jié)構(gòu)簡(jiǎn)單等特點(diǎn),它是研究聽(tīng)覺(jué)、聲學(xué)以及人機(jī)虛擬交互的重要方法。
虛擬聽(tīng)覺(jué)空間的最終目的是重塑真實(shí)空間中人獲取各種聲音信息的虛擬模型。它是基于人工頭模型立體聲系統(tǒng),結(jié)合各種聲音信息的特點(diǎn),構(gòu)建的復(fù)雜人機(jī)交互系統(tǒng)。在這個(gè)系統(tǒng)中,將傳聲器放入人工頭的雙耳處,所得信號(hào)再用一對(duì)耳機(jī)重發(fā),即可再現(xiàn)原聲場(chǎng)的空間信息[6]。在自由聲場(chǎng)的情況下,與頭部相關(guān)聯(lián)的傳遞函數(shù)的頻率定義為:
(1)
其中,HL、HR分別表示左耳和右耳的傳遞函數(shù),PL和PR分別表示在簡(jiǎn)諧點(diǎn)聲源情況下,左、右耳道入口處的復(fù)數(shù)聲壓振幅。HL、HR是聲源的方位角θ、仰角φ,聲源到頭中心距離r,以及聲波的角頻率ω的函數(shù),并且與頭部等效尺寸α以及頭和耳廓的形狀有關(guān)。
式(1)也可寫(xiě)成相應(yīng)的時(shí)域形式:
(2)
要實(shí)現(xiàn)虛擬聽(tīng)覺(jué)系統(tǒng),通過(guò)測(cè)量得到自由聲場(chǎng)與頭部相關(guān)聯(lián)的傳遞函數(shù),將單路聲頻信號(hào)E0用信號(hào)處理的方法,按(2)式進(jìn)行處理:
(3)
所得的雙耳信號(hào)EL、ER經(jīng)一對(duì)耳機(jī)重發(fā),傾聽(tīng)者的雙耳聲壓將正比于θ、φ方向的單聲源所產(chǎn)生的雙耳聲壓,通過(guò)改變?chǔ)?、φ,從而在虛擬聽(tīng)覺(jué)系統(tǒng)中模擬出相應(yīng)的空間信息聲像。圖1是虛擬聽(tīng)覺(jué)空間信號(hào)處理的結(jié)構(gòu)原理圖。
圖1 虛擬聽(tīng)覺(jué)空間信號(hào)處理的結(jié)構(gòu)原理
虛擬聽(tīng)覺(jué)交互通過(guò)對(duì)原始的聲音相關(guān)聯(lián)的傳遞函數(shù)的處理,得到雙聲道的數(shù)字信號(hào),利用耳機(jī)對(duì)其信號(hào)進(jìn)行重發(fā)。圖2是虛擬聽(tīng)覺(jué)系統(tǒng)的功能實(shí)現(xiàn)流程圖。
圖2 虛擬聽(tīng)覺(jué)系統(tǒng)的功能實(shí)現(xiàn)流程圖
方位選擇器根據(jù)虛擬聲源相對(duì)于收聽(tīng)者的位置,決定大致的空間方位,由存儲(chǔ)器得到相應(yīng)的系數(shù),并重建出所需方位與頭部相關(guān)聯(lián)的沖激響應(yīng),分別送往左右耳的感知計(jì)算器。聲音信息經(jīng)過(guò)信號(hào)放大器放大后,輸送到收聽(tīng)者的左右聽(tīng)覺(jué)感知器。
由圖2所示的虛擬聽(tīng)覺(jué)系統(tǒng)的實(shí)現(xiàn)流程可以看出,每一幀數(shù)據(jù)都要使用線性運(yùn)算,兩個(gè)序列的線性運(yùn)算可以用圓周計(jì)算來(lái)代替,而圓周計(jì)算可以在頻域中用FFT快速算法實(shí)現(xiàn)。
對(duì)于兩個(gè)有限長(zhǎng)序列x(m),h(m),要使圓周計(jì)算的結(jié)果不產(chǎn)生混淆,則兩個(gè)序列長(zhǎng)度都必須進(jìn)行補(bǔ)零擴(kuò)展,其長(zhǎng)度至少為n點(diǎn),即:
M=M1+M2-1
(4)
其中,M1為x(m)的數(shù)據(jù)長(zhǎng)度,M2為h(m)的數(shù)據(jù)長(zhǎng)度。
y(m)=x(m)?h(m)的計(jì)算可以通過(guò)以下幾個(gè)步驟來(lái)完成,其中?為線性運(yùn)算:
(1)求H(k)=DFT[h(m)],M點(diǎn);
(2)求X(k)=DFT[x(m)],M點(diǎn);
(3)計(jì)算Y(k)=H(k)·X(k);
(4)y(m)=IDFT[Y(k)]。
虛擬聽(tīng)覺(jué)系統(tǒng)實(shí)現(xiàn)中,一般采用wav格式的音頻文件,wav音頻采樣率為 44.1kHz,如果有幾分鐘長(zhǎng)度的wav文件,則整個(gè)文件需要占用大量的計(jì)算機(jī)存儲(chǔ)空間,會(huì)嚴(yán)重造成數(shù)據(jù)處理的延遲。因此,需要對(duì)數(shù)據(jù)進(jìn)行分幀、分段處理。
數(shù)據(jù)分段的方法是將聲音信息序列進(jìn)行分段,再和相關(guān)聯(lián)的傳遞函數(shù)做運(yùn)算處理。具體分段過(guò)程為:先確定輸入序列x(m)的分段長(zhǎng)度,對(duì)x(m)各段xi(m)作如下處理:
(1)與上幀重疊Mk-1點(diǎn)取點(diǎn),其中第一幀數(shù)據(jù)前補(bǔ)Mk-1個(gè)零,做M1點(diǎn)FFT得到Xi(k);
(2)在h(m)后補(bǔ)零至長(zhǎng)度為M1,做M1點(diǎn)FFT得到H(k);
(3)求Yi(k)=H(k)·Xi(k);
(4)對(duì)Yi(k)做IFFT得到y(tǒng)i(m)。
(5)將yi(m)的后(M1-Mk+1)個(gè)點(diǎn)作為該段卷積輸出。
每一段輸出的前(Mk-1)點(diǎn)是要?jiǎng)h除的,然后把相鄰段留下的點(diǎn)鏈接起來(lái)就構(gòu)成了最終的輸出,因?yàn)樽罱K的輸出是雙聲道數(shù)據(jù),所以都需要對(duì)每段數(shù)據(jù)經(jīng)過(guò)兩次正反 FFT變換?;诖耍覀冝D(zhuǎn)換如下運(yùn)算:
yi(m)=yil(m)+jyir(m)=xi(m)·hl(m)+jxi(m)·hi(m)
=xi(m)·(hl(m)+jhr(m))
(5)
其中,yil、yir分別代表左、右耳數(shù)據(jù),hl、hr為對(duì)應(yīng)的左、右耳相關(guān)聯(lián)的沖激響應(yīng)數(shù)據(jù)。相應(yīng)的:
Yi(k)=Xi(k)·H(k)
(6)
其中,
H(k)=FFT(hl(m)+jhr(m))
(7)
最后,即可得到:
yil(m)=Re(IFFT[Yi(k)])
yil(m)=Img(IFFT[Yi(k)])
(8)
以上實(shí)現(xiàn)的是一個(gè)聲源情況下虛擬系統(tǒng)的聽(tīng)覺(jué)交互[7]。但是,在實(shí)際環(huán)境中,往往會(huì)有2種甚至多種以上的聲源信息同時(shí)進(jìn)入人的聽(tīng)覺(jué)感知系統(tǒng)。對(duì)此情況采用如圖3所示的多聲源信息的合成處理。
圖3 雙聲源信號(hào)合成處理示意圖
將兩聲源分別進(jìn)行相關(guān)聯(lián)的傳遞函數(shù)處理,得到左右聲道不同的聲音感知信息,然后進(jìn)行相互疊加,最終得到綜合性的聽(tīng)覺(jué)感知。
以上,不管是單聲源信息或者是多聲源信息,都是在聲源靜止情況下的虛擬實(shí)現(xiàn)。在實(shí)際的動(dòng)態(tài)操控系統(tǒng)中,聲音信息與操作者之間往往存在相對(duì)運(yùn)動(dòng),這時(shí),聲波頻率與波源頻率會(huì)發(fā)生多普勒頻移。在處理動(dòng)態(tài)聲音的虛擬實(shí)現(xiàn)中,一般采用傅立葉變換方法。
fR(h)=fS(h)g(h)
(9)
其中,
g(h)=1-
(10)
(11)
其中,g(h)是接收頻率與發(fā)送頻率的變換因子,vx(h)、vy(h)、vs(h)是t時(shí)刻聲源相對(duì)接收者的速度分量,v(h)、y(h)、s(h)分別是t時(shí)刻聲源相對(duì)接收者的坐標(biāo)分量,c是空氣中的聲速。
si(h)=Aicos[βi(h)]
(12)
其中,βi(t)是瞬時(shí)相位。
頻率也可以用相位來(lái)定義:
(13)
根據(jù)式(12)、式(13),可得到:
(14)
將式(12)、式(13)代入式(14),去掉積分得到:
(15)
把聲源信號(hào)按時(shí)間劃分為長(zhǎng)度為N的序列,傅立葉變換后,得到傅立葉級(jí)數(shù)的系數(shù)Ai和Bi,則運(yùn)動(dòng)聲源的信號(hào)可以表示為:
(16)
其中,α(h)=η/r(h)是聲音的衰減因子。
經(jīng)過(guò)以上的函數(shù)變換,就可以實(shí)現(xiàn)虛擬環(huán)境中人體模型聽(tīng)覺(jué)系統(tǒng)的人機(jī)信息交互。
文章分析了人體聽(tīng)覺(jué)的特征,利用人工頭模型立體聲系統(tǒng),虛擬人體對(duì)聲音的感知模型。同時(shí)通過(guò)函數(shù)計(jì)算,實(shí)現(xiàn)了虛擬環(huán)境中的人體對(duì)音頻信息的感知,最終構(gòu)建了虛擬人機(jī)環(huán)境中聽(tīng)覺(jué)的交互模型,該模型對(duì)復(fù)雜系統(tǒng)中多信息虛擬人機(jī)交互有重要的意義。