基于Kinect的語音識(shí)別技術(shù)研究
朱榮李小映
(廣州工商學(xué)院計(jì)算機(jī)科學(xué)與工程系廣州510850)
針對(duì)Kinect語音識(shí)別技術(shù)中的語音命令交互控制功能沒有得到有效開發(fā)的問題,通過對(duì)Kinect麥克風(fēng)陣列的基本原理進(jìn)行闡述,對(duì)音頻捕獲、音頻處理和語音識(shí)別過程中主要使用到的應(yīng)用接口、類、對(duì)象、屬性、方法和事件等進(jìn)行深入剖析,以Kinect for Windows Developer Toolkit工具中的SpeechBasics-WPF案例中為研究對(duì)象,對(duì)該應(yīng)用程序的每一個(gè)模塊進(jìn)行單元測(cè)試,同時(shí)配合靜態(tài)分析技術(shù),驗(yàn)證了代碼的安全性和可靠性,并在此基礎(chǔ)上提出了基于Kinect的語音命令實(shí)現(xiàn)交互控制的開發(fā)流程和編程算法,為Kinect語音命令識(shí)別的應(yīng)用與開發(fā)提供策略與方法。
語音識(shí)別;波束成形;回聲消除;自動(dòng)增益控制;噪聲抑制
Class NumberTN912
1.1 硬件組成
由于聲音都是從上往下傳導(dǎo)的,所以在硬件方面Kinect四元麥克風(fēng)陣列位于Kinect設(shè)備的下方。四元麥克風(fēng)陣列是不對(duì)稱分布的,左邊三個(gè)右邊一個(gè),四個(gè)相互獨(dú)立的小型麥克風(fēng),其排列呈線形。四個(gè)麥克風(fēng)可以同時(shí)接收多聲道立體聲,每一個(gè)麥克風(fēng)都捕獲相同的音頻信號(hào),但因使用了數(shù)字信號(hào)處理(DSP)組件并采用波束成形(Beamforming)技術(shù)后,麥克風(fēng)陣列可以根據(jù)接收聲音的時(shí)間差來定位聲源方向,再加上配置了立體聲模數(shù)轉(zhuǎn)換放大器,麥克風(fēng)陣列又可對(duì)捕獲的音頻信號(hào)進(jìn)行噪聲抑制(Noise Suppression)。如果要準(zhǔn)確辨別出相應(yīng)的語音命令,麥克風(fēng)陣列最好在室內(nèi)環(huán)境中偵聽,因?yàn)樗枰鶕?jù)室內(nèi)的聲音反射來創(chuàng)建音頻分布圖并進(jìn)行回聲消除(Acoustic Echo Cancellation,AEC)。
1.2 軟件接口
要應(yīng)用Kinect的各項(xiàng)功能,必須安裝Kinect for windows SDK開發(fā)工具包,SDK包封裝了語音識(shí)別的組件,分別是DirectX媒體對(duì)象(DirectX MediaObject,DMO)和語音應(yīng)用編程接口(Speech API,SAPI)。DMO是在DirectX的8.1版時(shí)從DirectShow(提供音視頻流的高質(zhì)量捕捉和重放)分出的,是微軟公司提供的流數(shù)據(jù)處理COM組件,它支持音視頻的編解碼器和特效,其功能類似于過濾器,為四元麥克風(fēng)陣列提供了一系列的編程接口,通過對(duì)該COM組件的引用,可以實(shí)現(xiàn)源代碼本地化,并支持回聲消除、噪聲抑制和自動(dòng)增益控制(Automatic Gain Control,AGC)等功能。SAPI組件中包含了語音識(shí)別(speech recognition)和語音合成(speech synthesis)技術(shù),該組件中的語音識(shí)別接口(Voice Dictation API)和語音命令接口(Voice Commands API)是應(yīng)用程序中需要引用的部分。語音識(shí)別技術(shù)可以識(shí)別不同的語言,這些語音被封裝在運(yùn)行語言包(Kinect for Windows Runtime Language Pack)中,它是負(fù)責(zé)解釋從四元麥克風(fēng)陣列接收到的語言模型,并通過語言模型來優(yōu)化語音命令識(shí)別。
Kinect的麥克風(fēng)陣列主要的技術(shù)是語音識(shí)別技術(shù),語音識(shí)別功能通常用于Xbox控制中心的導(dǎo)航、菜單控制,以及多媒體的播放,通過Kinect的語音識(shí)別,用戶可以完成語音的交互及控制。下面重點(diǎn)介紹語音識(shí)別過程中的兩類技術(shù):音頻處理技術(shù)和命令識(shí)別技術(shù)。
2.1 音頻處理技術(shù)
Kinect的麥克風(fēng)陣列可以自動(dòng)捕獲和處理語音,主要是通過KinectAudioSource對(duì)象來實(shí)現(xiàn)的,雖然KinectAudioSource對(duì)象的最主要作用是為語音識(shí)別引擎提供音頻數(shù)據(jù)流,但是它也可以用來錄制音頻文件。下面將重點(diǎn)講解KinectAudioSource對(duì)象以及使用KinectAudioSource對(duì)象來捕獲音頻和處理音頻數(shù)據(jù)流。
KinectAudioSource對(duì)象可以通過一些配置使Kinect的麥克風(fēng)陣列以不同的模式進(jìn)行工作,也能夠用來探測(cè)從某個(gè)方向來的哪種音頻信息最先達(dá)到麥克風(fēng)以及用來強(qiáng)制麥克風(fēng)陣列接受指定方向的音頻信息。KinectAudioSource對(duì)象的主要作用是從麥克風(fēng)陣列中提取原始的或者經(jīng)過處理的音頻流,這些音頻流經(jīng)過一系列的算法來處理可以提高音頻質(zhì)量,這些處理包括:回聲消除、自動(dòng)增益控制和波束成形?;芈曄峭ㄟ^提取發(fā)聲者的聲音模式,然后根據(jù)這一模式從麥克風(fēng)接收到的音頻中挑選出特定的音頻來消除回聲。自動(dòng)增益控制是通過一些算法使用戶的聲音的振幅與時(shí)間保持一致。例如當(dāng)用戶靠近或者或遠(yuǎn)離麥克風(fēng)時(shí),聲音會(huì)出現(xiàn)變得響亮或更柔和。波束成形是模擬定向麥克風(fēng)的算法技術(shù),該技術(shù)使得麥克風(fēng)陣列產(chǎn)生的效果和使用多個(gè)固定麥克風(fēng)的效果相同。
在獲取和處理音頻中,通過C#語句進(jìn)行實(shí)例開發(fā),就先要將KinectAudioSource對(duì)象實(shí)例化,還要正確使用該對(duì)象的屬性、方法和事件。例如KinectAudioSource對(duì)象中的BeamAngleMode屬性可以決定通過何種方式來控制波束成形,EchoCancellationMode屬性可以控制回聲消除的開啟和關(guān)閉,KinectAudioSource對(duì)象包含Start()和Stop()兩個(gè)方法,Start()方法表示開始捕獲語音數(shù)據(jù),Stop()方法則表示停止捕獲語音數(shù)據(jù)。舉例來說明KinectAudioSource對(duì)象的方法和屬性,例如EchoCancellationMode.none表示關(guān)閉回聲抑制;AutomaticGain-ControlEnabled.False表示關(guān)閉自動(dòng)增益控制;source.Start()表示初始化并開開始捕獲音頻流;KinectSensor.KinectSensors[0].source.Stop()表示關(guān)閉Kinect音頻流和傳感器。
2.2 命令識(shí)別技術(shù)
Kinect的語音識(shí)別用于體感互動(dòng)游戲時(shí),不得不提到語音命令識(shí)別,玩家可以通過語言命令實(shí)現(xiàn)對(duì)游戲的控制。當(dāng)然,Kinect首先會(huì)捕獲玩家的聲音,使用上一節(jié)中介紹到的KinectAudioSource對(duì)象中的部分屬性對(duì)捕獲到的音頻數(shù)據(jù)流進(jìn)行回聲消除等處理后,再傳遞給SpeechRecognitionEngine對(duì)象,它是語音識(shí)別的核心,用于分析和解釋處理好的音頻數(shù)據(jù)流,匹配出最適合的語音命令,再判斷是否包含特定的待識(shí)別命令,如果包含就通過事件進(jìn)行下一步處理,不包含就直接丟棄這部分音頻數(shù)據(jù)流。
在語音識(shí)別過程中,通過C#語句進(jìn)行實(shí)例開發(fā),就先要將SpeechRecognitionEngine對(duì)象實(shí)例化,還要正確使用該對(duì)象的屬性、方法和事件。例如SpeechRecognitionEngine對(duì)象中的RecognizerInfo屬性用于獲取有關(guān)SpeechRecognitionEngine的當(dāng)前實(shí)例的信息,Grammars屬性用于獲取SpeechRecognitionEngine中的實(shí)例加載Grammar對(duì)象的集合。SetInputToAudioStream()方法用于配置SpeechRecognitionEngine對(duì)象以接收來自音頻流的輸入。RecognizeAsync(RecognizeMode)方法用于執(zhí)行一個(gè)或多個(gè)異步語音識(shí)別操作。主要的SpeechRecognitionEngine對(duì)象的屬性和方法將通過下面的SpeechBasics-WPF示例來直觀闡述,并以此總結(jié)語音命令識(shí)別的開發(fā)流程和算法。
3.1 SpeechBasics-WPF示例
Kinect for Windows Developer Toolkit工具中就提供了以C#為開發(fā)語言的語音命令識(shí)別案例SpeechBasics-WPF。安裝好Kinect for Windows SDK包和Kinect for Windows Developer Toolkit工具,連接Kinect設(shè)備后,通過運(yùn)行SpeechBasics-WPF即可通過語音命令“Forward”、“Back”、“Turn Left”、“Turn Right”來控制“烏龜”圖形的移動(dòng)方向,如圖1所示,顯示了Kinect接收到“Turn Left”語音命令后,“烏龜”圖形向左旋轉(zhuǎn)90°。
圖1 SpeechBasics-WPF運(yùn)行效果
使用Visual Studio軟件將該項(xiàng)目的Xaml打開,通過查看在Xaml.cs中的程序可知,語音命令識(shí)別中的引用部分除了添加Microsoft.Kinect命名空間還有Microsoft.Speech.AudioFormat(音頻信息輸入引擎)和Microsoft.Speech.Recognition(語音識(shí)別引擎)。
在該案例的語音命令識(shí)別部分,程序中WindowLoaded()函數(shù)中就已經(jīng)對(duì)Kinect進(jìn)行了初始化,并讀取了Xaml配置文件的語言庫,而對(duì)已經(jīng)匹配成功的語音命令則通過定義名為SpeechRecognized()函數(shù)來實(shí)現(xiàn)window界面中元素屬性的變化,通過switch…case…語句提供“烏龜”圖形坐標(biāo)位置的算法。下面以執(zhí)行“Forward”命令為例,當(dāng)用戶發(fā)出了與“Forward”匹配的語音命令時(shí),應(yīng)用程序需要實(shí)現(xiàn)的功能為界面窗口中“Forward”提示文字顏色變成天空藍(lán),文字字體加粗,“烏龜”圖形的X、Y坐標(biāo)位置,并保證坐標(biāo)位置不超過窗口的寬度和高度。
3.2 測(cè)試
程序中的每一個(gè)模塊的功能都需要通過測(cè)試來驗(yàn)證它的正確性,在C#面向?qū)ο蟮某绦蛟O(shè)計(jì)中單元測(cè)試是最基本的測(cè)試方法,通過單元測(cè)試是可以判斷某個(gè)特定條件(或者場(chǎng)景)下某個(gè)特定函數(shù)的行為。從SpeechBasics-WPF案例中了解到程序中主要使用到的函數(shù)包括WindowLoaded()、GetKinectRecognizer()、SpeechRecognized()、SpeechRecognitionRejected()、ClearRecognizer(),函數(shù)調(diào)用關(guān)系如圖2所示。把這些函數(shù)稱為一個(gè)模塊或單元,在Visual Studio2010中選中該應(yīng)用程序中的每一個(gè)模塊,右鍵單擊后通過單元測(cè)試,測(cè)試結(jié)果顯示“測(cè)試通過”,接著配合靜態(tài)分析技術(shù)對(duì)程序代碼進(jìn)行掃描,通過驗(yàn)證,該程序代碼滿足規(guī)范性、安全性、可靠性和可維護(hù)性。
圖2 函數(shù)調(diào)用關(guān)系圖
3.3 開發(fā)流程與算法語句
在3.2節(jié)中的代碼驗(yàn)證通過的基礎(chǔ)上可以將語音命令識(shí)別應(yīng)用程序的開發(fā)流程及其主要算法進(jìn)行詳細(xì)闡述,總共分為七個(gè)步驟,每個(gè)步驟列出了主要的算法語句及其對(duì)應(yīng)的注釋,如下所示。
3.3.1 添加引用
添加對(duì)Kinect以及Microsoft.Speech API的引用,需要使用到的Microsoft語音識(shí)別API(Microsoft Speech Recognition API,SAPI)編程接口包括四個(gè)class類,分別是KinectSensor、KinectAudioSource、SpeechRecognitionEngine、Grammar,其中前兩個(gè)屬于Microsoft.Kinect類庫,后兩個(gè)屬于Microsoft. Speech類庫。一般情況下,后兩個(gè)類歸于System. Speech類庫,System.Speech與Microsoft.Speech兩個(gè)引擎基本都是相同的,不同之處的在于Microsoft. Speech是SAPI的服務(wù)器版本,System.Speech是SAPI的桌面版本,而針對(duì)Kinect并不適用于識(shí)別自由語音或者說比較適合識(shí)別語音命令的特點(diǎn),通常情況下不會(huì)在引用部分添加System.Speech,或者同時(shí)添加兩個(gè)版本的引擎。所以在引用部分通常需要添加using Microsoft.Kinect和using Microsoft. Speech。
3.3.2 初始化Kinect
Kinect可能在執(zhí)行其他的應(yīng)用程序,一般都需要初始化,初始化的方法基本相同,主要通過使用條件判斷語句。如果當(dāng)前的Kinect設(shè)備空置,則使用start()方法激活Kinect,如果不是空置,則將null賦值于Kinect,讓其空置。
3.3.3 編寫語法文件
由于Microsoft.Speech庫中沒有提供語音命令模式,不支持命令語法,使用SDK中的語音識(shí)別,就需要知道所有的語音命令并將其包含在一個(gè)固定的語法中,這個(gè)語法可以直接寫入到代碼中,也可以將語法寫入XML文件,該XML文件是W3C中的語音識(shí)別語法說明書1.0作為標(biāo)準(zhǔn),并只支持英語語種,下面以“FORWARD”語音命令為例,首先需要考慮用戶對(duì)于“向上”的命令可能發(fā)聲的單詞,例如發(fā)聲的單詞是forward、front、straight等,在編寫語法文件的時(shí)候就必須把這三個(gè)子項(xiàng)包含于“FORWARD”語音命令中。一旦語音識(shí)別引擎接收到這三個(gè)子項(xiàng)的同時(shí),也知道它們是“FORWARD”中的語義分類。主要語句如下所示:
3.3.4 獲取語音識(shí)別引擎接口信息
創(chuàng)建語法XML文件后需要加載到語音識(shí)別引擎中,加載語法的第一步就是要將RecognizerInfo信息指向語音識(shí)別引擎。RecognizerInfo是語音識(shí)別引擎中的一個(gè)類,用于獲取語音識(shí)別引擎接口的信息,它的AdditionalInfo屬性可以獲取語音識(shí)別引擎實(shí)例的相關(guān)附加信息,Id屬性可以獲取語音識(shí)別引擎實(shí)例的標(biāo)識(shí)符。在編程語句中通過聲明Get-KinectRecognizer()函數(shù)來返回recognizer的值,speechEngine是SpeechRecognitionEngine實(shí)例化名,recognizer的值就是speechEngine的附加信息。主要語句如下所示:
3.3.5 將語法加載到語音識(shí)別引擎
實(shí)例化后,需要建立了一個(gè)MemoryStream記憶流指向XML語法文件,下面語句中memoryS-tream是記憶流的實(shí)例化名稱,需要通過Grammar構(gòu)造函數(shù)去使該記憶流實(shí)例化,實(shí)例化名稱為m,接著使用LoadGrammar方法將實(shí)例化后的語法m加載到語音識(shí)別引擎中。主要語句如下:
3.3.6 捕獲音頻數(shù)據(jù)流
上述步驟準(zhǔn)備好就可以偵聽用戶的語音,獲取音頻數(shù)據(jù)流,并設(shè)置音頻數(shù)據(jù)流的格式信息。SpeechAudioFormatInfo類是語音識(shí)別引擎中用于表示音頻格式的信息,初始化SpeechAudioFormat-Info的新實(shí)例并指定編碼格式、每秒的示例、每個(gè)示例的位數(shù)、通道的數(shù)目、每秒平均字節(jié)、塊對(duì)齊值。
//采用脈沖編碼調(diào)制(Pulse Code Modulation,Pcm)為音頻編碼格式,每秒接收16000個(gè)采樣,每個(gè)樣本占16位,只有1個(gè)通道,每秒中產(chǎn)生32000字節(jié)數(shù)據(jù),塊對(duì)齊值為2
3.3.7 匹配語音命令
語音識(shí)別引擎可以開始偵聽并捕獲用戶發(fā)出“口語命令”,如果識(shí)別出的“口語命令”與XML語法文件中預(yù)先定義好的語音命令匹配成功,則需要編寫應(yīng)用程序來實(shí)現(xiàn)窗口中元素的變化,例如實(shí)現(xiàn)“烏龜”圖形的移動(dòng)。這里就要提到SpeechRecognized和SpeechRecognitionRejected事件,當(dāng)語音識(shí)別引擎與其加載啟用的Grammar語音命令對(duì)象匹配的時(shí)候觸發(fā)SpeechRecognized事件。在下面的語句中定義了SpeechRecognized事件,它負(fù)責(zé)處理傳進(jìn)去的語音命令,并對(duì)識(shí)別出的命令執(zhí)行相應(yīng)的操作,其中SpeechRecognizedEventArgs是語音識(shí)別引擎中的公共類,繼承于RecognitionEventArgs,這里實(shí)例化為e,通過它可以為SpeechRecognized事件提供獲取到的與語音識(shí)別事件關(guān)聯(lián)的識(shí)別數(shù)據(jù),而ConfidenceThreshold則是語音識(shí)別引擎對(duì)“口語命令”與XML語法文件中的語音命令匹配的可能性或相對(duì)度量,稱為置信度,該值的范圍從0.0到1.0,值越高說明匹配越成功,當(dāng)然也需要一個(gè)閾值來限制置信度,比如下面的置信度閾值為0.3,如果低于0.3就不執(zhí)行switch…case…語句(語句中主要描述每一個(gè)匹配的語音命令在窗口界面中能實(shí)現(xiàn)的效果或執(zhí)行的操作),也完成不了語音命令對(duì)應(yīng)的交互結(jié)果。
匹配成功則觸發(fā)SpeechRecognized事件,當(dāng)匹配不成功時(shí),則觸發(fā)SpeechRecognitionRejected事件,SpeechRecognitionRejected事件中編寫的語句主要實(shí)現(xiàn)的功能與SpeechRecognized事件的功能相反。
語音識(shí)別技術(shù)就是將人發(fā)出的語音詞匯轉(zhuǎn)換成計(jì)算機(jī)可讀的輸入,語音識(shí)別通常都會(huì)使用模式匹配方法,Kinect的語音識(shí)別技術(shù)同樣也是使用該方法,所以在對(duì)其語音識(shí)別技術(shù)的研究過程中不會(huì)去考慮語種限制(只支持英語、法語、日語等),用戶發(fā)音的標(biāo)準(zhǔn)性對(duì)語音命令的交互功能的限制,還有Kinect也不適用于去識(shí)別自由語言,擅長于識(shí)別語音命令等問題。
目前,由于Kinect語音識(shí)別技術(shù)在實(shí)際的商業(yè)應(yīng)用中用處也相對(duì)小,在人機(jī)交互方面其雙向交互特性導(dǎo)致開發(fā)成本高等因素,使得Kinect開發(fā)者基本都著重于骨骼追蹤技術(shù)和手勢(shì)識(shí)別技術(shù)。其實(shí),這兩種技術(shù)和語音識(shí)別技術(shù)在每一個(gè)交互應(yīng)用中都應(yīng)該是相輔相成的不可或缺的整體。Kinect的語音識(shí)別技術(shù)在實(shí)際的應(yīng)用開發(fā)過程中還處在基礎(chǔ)命令識(shí)別階段,與骨骼追蹤和手勢(shì)識(shí)別結(jié)合運(yùn)用不夠廣泛和深入,這也是筆者需要繼續(xù)研究的地方。當(dāng)然,如果能從聲音特征識(shí)別、語種識(shí)別、語氣語調(diào)情感探測(cè)等方面進(jìn)行完善,相信Kinect的語音識(shí)別技術(shù)會(huì)得到更多開發(fā)者的重視和應(yīng)用。
[1]余濤.Kinect應(yīng)用開發(fā)實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2013:232-239.
YU Tao.Kinect application development[M].Beijing:Mechanical Industry Press,2013:232-239.
[2]王森.Kinect體感程序設(shè)計(jì)入門(使用C#和C++)[M].北京:科學(xué)出版社,2015:205-236.
WANG Seng.Introduction to Kinect programming(Using C#and C++)[M].Beijing:Mechanical Science Press,2015:205-236.
[3]張?jiān)姵?,錢冬明.體感技術(shù)現(xiàn)狀與發(fā)展研究[J].華東師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2014(2):40-49.
ZHANG Shichao,QIAN Dongming.Research on the current situation and development of somatosensory Technology[J].Journal of East China Normal University(Natural Science Edition),2014(2):40-49.
[4]劉曉暉,萬麗莉,季紅.基于中文語音交互的虛擬裝配技術(shù)研究[J].系統(tǒng)仿真學(xué)報(bào),2014(9):2056-2061.
LIU Xiaohui,WAN Lili,JI Hong.Research on virtual assembly technology based on Chinese speech interaction[J].Journal of system simulation,2014(9):2056-2061.
[5]韓雪,李澤滔,孫昊.基于Kinect傳感器的移動(dòng)機(jī)器人聲源目標(biāo)跟蹤系統(tǒng)[J].自動(dòng)化與儀器儀表,2015(6):185-186.
HAN Xue,LI Zetao,SUN Hao.Acoustic source target tracking system of mobile robot based on Kinect sensor[J]. Automation and instrumentation,2015(6):185-186.
[6]Davison,Andrew.Kinect Open Source Programming Secrets:Hacking the Kinect with OpenNI,NITE and Java[M].Europe:McGraw-Hill Education,2012.
[7]Erica Naone.Microsoft Kinect:How the Device Can Respond to Your Voice and Gestures[J].Pioneering with Scienceand Technology,2011,4(4):82-83.
[8]Martha Yifiru Tachbelie,Solomon Teferra Abate,Wolfgang Menzel.Using morphemes in language modeling and automatic speech recognition of Amharic[J].Natural Language Engineering,2012,20(2):235-259.
[9]Mohammad Reza Mirzaei,Seyed Ghorshi,Mohammad Mortazavi.Audio-visual speech recognition techniques in augmented reality environments[J].The Visual Computer,2014,30(3):245-257.
[10]Yangecnu.Kinect for Windows SDK development introduction(Twelve):SpeechRecognition[EB/OL].(2012-05-03)[2015-07-15]http://www.cnblogs.com/ yangecnu/archive/2012/05/03/KinectSDK_SpeechRecognition_part1.html.
[11]Yangecnu.Kinect for Windows SDK development introduction(Thirteen):SpeechRecognition[EB/OL].(2012-05-04)[2015-07-15]http://www.cnblogs.com/ yangecnu/archive/2012/05/04/KinectSDK_SpeechRecognition_part2.html.
[12]Leland Holmquest.Listening with Kinect[EB/OL].(2012-12-04)[2015-07-15]https://msdn.microsoft. com/en-us/magazine/jj884371.aspx.
Speech Recognition Technology of Kinect Sensor
ZHU RongLI Xiaoying
(Department of Computer Science and Engineering,Guangzhou College of Technology and Business,Guangzhou510850)
For the issue of the interactive control on Kinect voice commands is not be used effectively,this paper describes the basic principle of Kinect microphone array,also analyses the application interfaces,classes,objects,properties,methods and events in the process of audio capture,audio processing and speech recognition.Taking SpeechBasics-WPF case in the Kinect for Windows Developer Toolkit tool as the research object,the paper uses unit tests for each module of the application,at the same time with the static analysis technology,verifing the security and reliability of the code,also proposes the development process and programming algorithm of voice command to achieve interactive control based on Kinect,provides strategy and method for application and development of command recognition.
speech recognition,beamforming,acoustic echo cancellation,automatic gain control,noise suppression
TN912
10.3969/j.issn.1672-9722.2017.06.041
2016年12月6日,
2017年1月28日
廣東省普通高校青年創(chuàng)新人才類項(xiàng)目(編號(hào):2014KQNCX238)資助。
朱榮,女,碩士研究生,講師,研究方向:體感互動(dòng)技術(shù)、移動(dòng)互聯(lián)網(wǎng)技術(shù)。李小映,女,副教授,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)、軟件工程。