李欣顏, 胡建軍, 龐鳳穎
(中國(guó)北方車輛研究所,北京 100072)
隨著信息科學(xué)技術(shù)的飛速發(fā)展,人機(jī)語(yǔ)音交互逐漸成為民用智能車載設(shè)備的標(biāo)配.隨著技術(shù)發(fā)展與未來(lái)信息化戰(zhàn)場(chǎng)的需要,其智能化程度也越來(lái)越高,人機(jī)交互也越來(lái)越復(fù)雜,任務(wù)負(fù)荷也越來(lái)越重,乘員迫切需要從紛繁復(fù)雜的任務(wù)中解脫出來(lái).因此特種車輛也開(kāi)始利用人機(jī)語(yǔ)音交互技術(shù),解放乘員的雙手和雙眼,提高人機(jī)交互效能,以滿足未來(lái)協(xié)同作戰(zhàn)需求.
特種車輛不同于民用車輛,車內(nèi)人機(jī)語(yǔ)音交互對(duì)象不局限于一個(gè)駕駛員,一般車內(nèi)有多少個(gè)乘員就有多少個(gè)語(yǔ)音交互設(shè)備,乘員根據(jù)不同需求所需要的語(yǔ)音交互設(shè)備也可能不同.特種車輛語(yǔ)音交互控制的最大障礙在于使用一個(gè)USB端口來(lái)驅(qū)動(dòng)多個(gè)同類或不同類的語(yǔ)音交互設(shè)備進(jìn)行聲音采集與播報(bào).現(xiàn)有的研究提出了一些方案,主要是利用單片機(jī)控制多路模擬開(kāi)關(guān),但電路復(fù)雜且安裝調(diào)試繁瑣[1-2].鑒于此,提出了一種在同一PC機(jī)上基于USB-HUB的多路語(yǔ)音交互設(shè)備驅(qū)動(dòng)控制系統(tǒng).由于該系統(tǒng)采用了通信串行USB總線,故具有真正的熱插拔、即插即用(PnP)功能[3-4],可以針對(duì)乘員不同的要求,實(shí)現(xiàn)不同情況下多語(yǔ)音交互設(shè)備的聲音采集與播放驅(qū)動(dòng)控制.
多語(yǔ)音交互設(shè)備驅(qū)動(dòng)控制系統(tǒng)包括一臺(tái)PC機(jī)、一個(gè)支持7路的USB-HUB和7個(gè)語(yǔ)音交互設(shè)備,系統(tǒng)連接如圖1所示.系統(tǒng)要求在同一PC機(jī)上實(shí)現(xiàn)對(duì)7個(gè)乘員的語(yǔ)音交互設(shè)備聲卡進(jìn)行驅(qū)動(dòng),這就需要在該P(yáng)C機(jī)上實(shí)現(xiàn)能夠同時(shí)驅(qū)動(dòng)7個(gè)乘員的語(yǔ)音交互設(shè)備,并根據(jù)乘員功能需求控制 2種聲卡類型的語(yǔ)音交互設(shè)備.該系統(tǒng)中,在PC機(jī)上使用一個(gè)USB-HUB帶動(dòng)2個(gè)HeadSet-2CH聲卡類型的語(yǔ)音交互設(shè)備、5個(gè)USB PnP Sound Device類型的語(yǔ)音交互設(shè)備.
圖1 多語(yǔ)音交互設(shè)備驅(qū)動(dòng)控制系統(tǒng)架構(gòu)示意圖
1)將USB-HUB連接到計(jì)算機(jī)后,按照USB-HUB的USB口的編號(hào)順序(USB1-USB7,見(jiàn)圖1),將同一類聲卡類型的其中一個(gè)語(yǔ)音交互設(shè)備插在USB-HUB的USB1口上,以獲取該聲卡類型的語(yǔ)音交互設(shè)備對(duì)應(yīng)USB1口的語(yǔ)音交互設(shè)備號(hào),注意每次只插一個(gè)語(yǔ)音交互設(shè)備.
2)打開(kāi)PC機(jī)機(jī)上的系統(tǒng)聲音信息界面,即可以看到該語(yǔ)音交互設(shè)備的聲卡的信息,如圖2所示.如該類語(yǔ)音交互設(shè)備的聲卡類型為USB PnP Sound Device,那么該類的語(yǔ)音交互設(shè)備在此USB-HUB的USB1口上的編號(hào)為33.
3)將該語(yǔ)音交互設(shè)備依次插在USB-HUB的USB2到USB7口上,依據(jù)步驟2可以分別獲取該類聲卡在USB2到USB7口的編號(hào).
4)按照上述步驟1)~3),獲取另一種類型的語(yǔ)音交互設(shè)備在USB-HUB的USB1到USB7口上的編號(hào).
5)將上述步驟獲取的兩類語(yǔ)音交互設(shè)備在USB-HUB的USB1到USB7口上的聲卡編號(hào)信息手動(dòng)輸入文件中保存,形成語(yǔ)音交互設(shè)備聲卡的USB編號(hào)與USB-HUB的USB口編號(hào)的對(duì)應(yīng)表,將該對(duì)應(yīng)表保存在程序運(yùn)行目錄下,如圖3所示.對(duì)應(yīng)表中間一列的1~7分別代表USB-HUB的USB1到USB7口編號(hào),左邊一列的數(shù)字33、30、32、31、36、35、34分別代表聲卡類型為USB PnP Sound Device的語(yǔ)音交互設(shè)備在USB-HUB的USB1到USB7口上對(duì)應(yīng)的編號(hào),右邊一列的數(shù)字15、14、13、12、11、10、9分別代表聲卡類型為HeadSet-2CH的語(yǔ)音交互設(shè)備在USB-HUB的USB1到USB7口上對(duì)應(yīng)的編號(hào).
圖2 語(yǔ)音交互設(shè)備聲卡信息圖
圖3 聲卡編號(hào)與USB-HUB的USB口編號(hào)對(duì)應(yīng)表
在程序中,通過(guò)調(diào)用winmm.lib庫(kù)函數(shù)自動(dòng)獲得語(yǔ)音交互設(shè)備在PC機(jī)上的聲卡系統(tǒng)編號(hào)與聲卡的USB編號(hào)對(duì)應(yīng)表[5].如圖4所示,左邊第一列的數(shù)字0、1、2、3、4、5、6表示的是PC機(jī)給語(yǔ)音交互設(shè)備分配的聲卡系統(tǒng)編號(hào),共有7塊聲卡.右邊一列的信息表示語(yǔ)音交互設(shè)備的聲卡類型名稱和對(duì)應(yīng)USB口的編號(hào),如33-USB PnP Sound Device,33即為聲卡在USB口的編號(hào),USB PnP Sound Device為聲卡類型名稱,插在不同的USB口的語(yǔ)音交互設(shè)備的聲卡類型名稱相同,但聲卡USB編號(hào)不同.12-HeadSet-2CH為另一種語(yǔ)音交互設(shè)備的聲卡類型名稱和對(duì)應(yīng)的USB口編號(hào).同一種聲卡類型的語(yǔ)音交互設(shè)備插在同一個(gè)USB口上,聲卡的類型名稱和USB編號(hào)是固定不變的.不同聲卡類型的語(yǔ)音交互設(shè)備插在同一個(gè)USB口上,聲卡的類型名稱和USB編號(hào)也都會(huì)不同.
圖4 聲卡系統(tǒng)編號(hào)與聲卡USB編號(hào)對(duì)應(yīng)表
將需要使用的7個(gè)語(yǔ)音交互設(shè)備全部插在與PC機(jī)相連的USB-HUB上,每個(gè)語(yǔ)音交互設(shè)備插在USB-HUB固定的USB口,通過(guò)編程,實(shí)現(xiàn)程序自動(dòng)匹配并找到該聲卡的USB語(yǔ)音交互設(shè)備號(hào),具體步驟如下:
1)程序啟動(dòng)后,通過(guò)winmm.lib庫(kù)函數(shù)自動(dòng)獲得語(yǔ)音交互設(shè)備聲卡系統(tǒng)編號(hào)與聲卡USB編號(hào)對(duì)應(yīng)表,生成文件如圖4所示.
2)通過(guò)2.1節(jié)步驟形成語(yǔ)音交互設(shè)備的USB編號(hào)與USB-HUB的USB口的對(duì)應(yīng)表(如圖3所示),并且保存在程序運(yùn)行目錄下.
3)程序根據(jù)輸入的USB-HUB的USB口編號(hào)進(jìn)行自動(dòng)匹配.以USB4為例:根據(jù)圖3可以得到USB-HUB的USB4口對(duì)應(yīng)的兩種不同聲卡類型的語(yǔ)音交互設(shè)備的聲卡USB設(shè)備編號(hào)分別為31和12;先用31在圖4找設(shè)備的USB編號(hào)為31的語(yǔ)音交互設(shè)備,無(wú)法找到后則再用12在圖4中找,結(jié)果找到USB編號(hào)為12的語(yǔ)音交互設(shè)備對(duì)應(yīng)的聲卡系統(tǒng)設(shè)備號(hào)為0,則USB4口上的語(yǔ)音交互設(shè)備的輸入(麥克風(fēng))輸出(揚(yáng)聲器)設(shè)備號(hào)都為0.再舉一個(gè)輸入(麥克風(fēng))和輸出(揚(yáng)聲器)是兩個(gè)設(shè)備號(hào)的例子,如假設(shè)語(yǔ)音交互設(shè)備輸入的USB口為5,根據(jù)圖3可以找到兩種語(yǔ)音交互設(shè)備的聲卡USB設(shè)備編號(hào)分別為36和11,用36在圖4可以找到聲卡USB編號(hào)為36的語(yǔ)音交互設(shè)備對(duì)應(yīng)的聲卡系統(tǒng)設(shè)備號(hào)3和4,則知道了插在USB5上的聲卡的輸入(麥克風(fēng))設(shè)備號(hào)為3,輸出(揚(yáng)聲器)設(shè)備號(hào)為4.
4)重復(fù)步驟3,獲取每個(gè)插在USB-HUB的USB口的語(yǔ)音交互設(shè)備聲卡系統(tǒng)輸入編號(hào)和系統(tǒng)輸出編號(hào).
找到該語(yǔ)音交互設(shè)備聲卡的系統(tǒng)輸入(麥克風(fēng))輸出(揚(yáng)聲器)設(shè)備號(hào)后,該語(yǔ)音交互設(shè)備就可以被正常驅(qū)動(dòng).在聲音采集時(shí)調(diào)用該語(yǔ)音交互設(shè)備聲卡的系統(tǒng)的麥克風(fēng)設(shè)備號(hào),即可以進(jìn)行聲音采集;在聲音播放時(shí)調(diào)用該語(yǔ)音交互設(shè)備聲卡對(duì)應(yīng)的系統(tǒng)揚(yáng)聲器設(shè)備號(hào),即可進(jìn)行聲音播放,其流程見(jiàn)圖5.
圖5 獲取語(yǔ)音交互設(shè)備聲卡的系統(tǒng)編號(hào)的流程圖
該方法已經(jīng)在某項(xiàng)目語(yǔ)音交互仿真系統(tǒng)通過(guò)考核驗(yàn)證,該項(xiàng)目的語(yǔ)音交互仿真系統(tǒng)使用一個(gè)USB-HUB在一臺(tái)PC上同時(shí)驅(qū)動(dòng)兩種類型的語(yǔ)音交互設(shè)備,驅(qū)動(dòng)語(yǔ)音交互設(shè)備數(shù)量為7個(gè),效果良好.
該系統(tǒng)架構(gòu)圖如圖1所示,系統(tǒng)軟件主要由乘員語(yǔ)音交互仿真控制界面和后臺(tái)服務(wù)程序兩部分組成.乘員語(yǔ)音交互仿真控制界面主要實(shí)現(xiàn)各種場(chǎng)景下各功能的可視化操控和狀態(tài)監(jiān)控;后臺(tái)服務(wù)程序主要實(shí)施各種策略及功能.系統(tǒng)測(cè)試結(jié)果示例如圖6所示.
由圖6可知,系統(tǒng)設(shè)計(jì)符合設(shè)計(jì)要求,多個(gè)語(yǔ)音交互設(shè)備實(shí)現(xiàn)同時(shí)驅(qū)動(dòng),語(yǔ)音交互設(shè)備控制準(zhǔn)確.
圖6 乘員語(yǔ)音交互仿真控制界面
本設(shè)計(jì)突破了以往一個(gè)PC機(jī)上只能控制單路或者雙路語(yǔ)音交互設(shè)備控制的限制,實(shí)現(xiàn)了在一臺(tái)PC上僅占用一個(gè)USB口就能夠驅(qū)動(dòng)多個(gè)同類聲卡的USB語(yǔ)音交互設(shè)備或多個(gè)不同類型聲卡的語(yǔ)音交互設(shè)備,且驅(qū)動(dòng)的語(yǔ)音交互設(shè)備的最大數(shù)量與選用的USB-HUB的USB口數(shù)量相等,即選用USB-HUB的USB口數(shù)量越多,能夠驅(qū)動(dòng)的語(yǔ)音交互設(shè)備越多.驅(qū)動(dòng)系統(tǒng)采用了通信串行USB總線和USB-HUB技術(shù),故采集速度較快,系統(tǒng)抗干擾能力強(qiáng),極大提高了語(yǔ)音交互質(zhì)量.試驗(yàn)室測(cè)試結(jié)果表明,系統(tǒng)成本低廉,性價(jià)比高,穩(wěn)定性強(qiáng).