【摘要】自動(dòng)語音識(shí)別(Automated Speech Recognition)是一種將人的語音轉(zhuǎn)化為文本的技術(shù),它已被運(yùn)用到了包括教育在內(nèi)的眾多領(lǐng)域,然而在聾兒言語訓(xùn)練領(lǐng)域的應(yīng)用中卻明顯滯后。本文通過對(duì)采集到的大量聾兒言語信息進(jìn)行篩選,基于對(duì)聾兒語音特點(diǎn)的深入研究,綜合國內(nèi)外先進(jìn)的語音識(shí)別技術(shù),從技術(shù)的角度,闡明了言語訓(xùn)練軟件原型從前期準(zhǔn)備、分析設(shè)計(jì)到最終架構(gòu)完成的詳細(xì)過程,并且創(chuàng)造性地提出了幾點(diǎn)架構(gòu)思路,尤其針對(duì)聾兒自身特點(diǎn),實(shí)現(xiàn)了一些針對(duì)性強(qiáng)的功能。
【關(guān)鍵詞】自動(dòng)語音識(shí)別,聾兒言語訓(xùn)練,COM
【中圖分類號(hào)】G434【文獻(xiàn)標(biāo)識(shí)碼】B 【論文編號(hào)】1009—8097(2007)03—0069—05
一、引言
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,基于自動(dòng)語音識(shí)別技術(shù)(Automated Speech Recognition)的應(yīng)用已經(jīng)取得了長足的進(jìn)步。從整個(gè)自動(dòng)語音識(shí)別的發(fā)展前景上看,計(jì)算機(jī)自動(dòng)語音識(shí)別技術(shù)應(yīng)用在聾啞人語音訓(xùn)練方面,將成為一個(gè)不可忽視的研究重點(diǎn),尤其針對(duì)聾兒早期的言語訓(xùn)練將具有極其重要的意義。
聾啞人語音訓(xùn)練技術(shù)的研究,國外始于六十年代中期[1],其訓(xùn)練方法是通過觀察CRT上根據(jù)發(fā)音經(jīng)處理后所獲得的特征參數(shù)來糾正發(fā)音的。目前,已報(bào)道國外已出現(xiàn)多種視覺輔助語音訓(xùn)練系統(tǒng),但這些系統(tǒng)對(duì)一般的受訓(xùn)者而言專業(yè)性太強(qiáng),尤其不適合聾兒的語音訓(xùn)練。
在國內(nèi),對(duì)于這方面的研究目前還處于理論階段,實(shí)際應(yīng)用尚需時(shí)日。一些研究者提出將受訓(xùn)者所發(fā)語音經(jīng)處理識(shí)別后,計(jì)算出與標(biāo)準(zhǔn)語音及鄰近語音的發(fā)音近似率,并在CRT上顯示結(jié)果,并輔以發(fā)音的口形圖顯示[2],這樣比較直觀,訓(xùn)練效果較好,但對(duì)聾啞兒童而言,這樣的操作也比較繁瑣,局限性大,只能適用于一些康復(fù)治療研究院所,無法應(yīng)用到實(shí)際的教育教學(xué)中。筆者在架構(gòu)聾兒言語訓(xùn)練軟件原型的時(shí)候,借鑒以上提出的技術(shù)手段,基于國家級(jí)課題《聾校現(xiàn)代教育技術(shù)理論與實(shí)踐研究》已有數(shù)據(jù)的基礎(chǔ),創(chuàng)造性地采用自動(dòng)語音識(shí)別技術(shù)——微軟語音技術(shù),以求言語訓(xùn)練系統(tǒng)更易操作,更適合早期的聾兒言語康復(fù)訓(xùn)練。
關(guān)于筆者采用的微軟語音技術(shù),它是由微軟32位兼容語音應(yīng)用設(shè)計(jì)接口(Speech API)、微軟連續(xù)自動(dòng)語音識(shí)別引擎(MCSR)以及微軟語音合成(TTS)引擎等構(gòu)成,目前的5.1版本一共可以支持3種語言的識(shí)別 (英語,漢語和日語)以及2種語言的合成(英語和漢語)。SAPI中還包括對(duì)于低層控制和高度適應(yīng)性的直接語音管理、訓(xùn)練向?qū)А⑹录⒄Z法編譯、資源、自動(dòng)語音識(shí)別(SR)管理以及TTS管理等強(qiáng)大的設(shè)計(jì)接口。
二、原型的架構(gòu)
(一)聾兒近似發(fā)音分組訓(xùn)練簡表
根據(jù)課題要求,課題組按照徐州聾啞兒童學(xué)校的聾兒發(fā)音樣本,選擇中等水平語音訓(xùn)練的微軟語音識(shí)別器,然后通過發(fā)音近似率等一系列數(shù)據(jù)的計(jì)算[3],得到聾兒近似發(fā)音分組訓(xùn)練簡表(根據(jù)訓(xùn)練的難易程度可以擴(kuò)充或縮減)。
(二)原型架構(gòu)
1、功能分析
經(jīng)過仔細(xì)的調(diào)查了解,分析聾兒學(xué)習(xí)時(shí)的心理特點(diǎn),參照課題需要的功能要求,本原型提供了諸如發(fā)音正誤口形圖動(dòng)畫,中文/拼音自動(dòng)語音識(shí)別智能切換,自動(dòng)解說語音合成等簡單實(shí)用功能。
筆者設(shè)計(jì)本原型時(shí),充分簡化了聾兒所需要的初始化操作步驟:1)設(shè)置訓(xùn)練周期(即在額定周期內(nèi)完成的文字訓(xùn)練內(nèi)容);2)選擇語音識(shí)別器類型(包括中文、英文等)3)輸入要訓(xùn)練的文字內(nèi)容。經(jīng)過以上三步,聾兒便可以開始言語訓(xùn)練了。如圖1:
圖1系統(tǒng)操作圖
此外,筆者決定采用在VC++6.0開發(fā)平臺(tái)中嵌入Flash ActiveX控件和微軟自動(dòng)語音識(shí)別引擎的方法架構(gòu)系統(tǒng),初期還簡單的勾畫了原型的開發(fā)結(jié)構(gòu),如圖2:
圖2 原型結(jié)構(gòu)圖
2、具體架構(gòu)過程
(1)VC++平臺(tái)的中文自動(dòng)語音識(shí)別功能
首先必須實(shí)現(xiàn)VC++開發(fā)平臺(tái)與微軟自動(dòng)語音識(shí)別引擎之間的數(shù)據(jù)溝通。筆者在VC++6.0中設(shè)計(jì)了一個(gè)“語音識(shí)別結(jié)果反饋文本框”,接著便需要掌握微軟語音開發(fā)包的原理。如圖3:
圖3 SAPI結(jié)構(gòu)示意圖
語音引擎通過DDI層(設(shè)備驅(qū)動(dòng)接口)和SAPI(語音應(yīng)用設(shè)計(jì)接口)進(jìn)行交互,應(yīng)用程序通過API層和SAPI通信。通過使用這些API,用戶可以快速開發(fā)在自動(dòng)語音識(shí)別或語音合成方面應(yīng)用程序。以下是摘抄微軟語音開發(fā)包幫助文檔的一段描述性文字[4][5]:
A set of COM-supported speech Automation interfaces is included in this release of Microsoft Speech SDK. That means languages other than C/C++ may now use SAPI for application development. The languages themselves need to support OLE automation. Common languages which may be used includes Visual Basic, C#, and JScript.
微軟語音開發(fā)包發(fā)行版中包括一系列支持COM(Component Object Model,組件對(duì)象模型)的Automation接口。這便意味著除了C或C++語言,還有其他的程序語言可以使用SAPI開發(fā)應(yīng)用程序。這些語言本身必須支持OLE automation。經(jīng)常使用的語言包括Visual Basic, C#和JScript。
微軟的Speech SDK是以COM接口的方式提供服務(wù)的,若使用Visual Basic、C#或JScript開發(fā)時(shí),一般都要用Automation技術(shù)將COM組件封裝成為類或?qū)ο蠛笠迷谡Z言體中[6]。考慮到COM更深入計(jì)算機(jī)底層,執(zhí)行效率稍微高一點(diǎn),筆者最終決定采取直接創(chuàng)建COM對(duì)象,調(diào)用其接口方法的方式設(shè)計(jì)開發(fā)(當(dāng)然,VC++中也可是支持Automation的,筆者研究TTS時(shí)有一個(gè)附帶實(shí)例采用了automation技術(shù)[7])。如圖4所示:
圖 4 VC++平臺(tái)的中文自動(dòng)語音識(shí)別模擬圖
(2)VC++、Flash和微軟自動(dòng)語音識(shí)別引擎之間的通訊
在VC++平臺(tái)上實(shí)現(xiàn)了自動(dòng)語音識(shí)別功能后,隨后需要解決VC++與Flash之間的通訊問題。筆者在VC++平臺(tái)中嵌入Flash ActiveX控件(Shockwave Flash Object);從VC++中動(dòng)態(tài)設(shè)置Flash動(dòng)畫文件的路徑;利用Shockwaveflash.h給出的GetVariable和SetVariable兩個(gè)方法,在VC++中的Flash控件與動(dòng)態(tài)嵌入的Flash程序架起了數(shù)據(jù)交換的橋梁;而在Flash程序中可以采用FScommand函數(shù)與其他外界內(nèi)容進(jìn)行數(shù)據(jù)交換。結(jié)合已經(jīng)實(shí)現(xiàn)的中文自動(dòng)語音識(shí)別功能,從而完成了Flash控制自動(dòng)語音識(shí)別引擎,在Flash中顯示識(shí)別結(jié)果。如圖5所示:(中文自動(dòng)語音識(shí)別調(diào)用和顯示方式參見圖4)
圖5 VC++、Flash和微軟自動(dòng)語音識(shí)別引擎通訊模擬圖
(3)拼音自動(dòng)語音識(shí)別功能
通過前一階段的架構(gòu),原型中的功能已經(jīng)完全具備以Flash為主界面,進(jìn)行中文自動(dòng)語音識(shí)別系統(tǒng)的功能,接下來便是將對(duì)拼音語音識(shí)別也加入原型模塊中。筆者利用微軟自帶工具IMEGEN.exe將微軟拼音輸入法的拼音-中文對(duì)照表文件逆轉(zhuǎn)換,形成中文-拼音的對(duì)照表文件,然后向其中加入前期已經(jīng)完成的聾兒近似發(fā)音分組簡表,形成模糊的發(fā)音對(duì)照關(guān)系。譬如a的發(fā)音在聾兒的發(fā)音中與ya相近,筆者就將a和ya關(guān)聯(lián)起來,在識(shí)別過程中,微軟中文語音識(shí)別引擎會(huì)將a和ya的發(fā)音等效對(duì)待,通過VC++讀取對(duì)照表文件,將識(shí)別結(jié)果(中文)對(duì)照到相應(yīng)的拼音上,從而可以達(dá)到判斷聾兒發(fā)音的正確和錯(cuò)誤的水平。如圖6 所示:
圖6 拼音自動(dòng)語音識(shí)別模擬圖
(4)Flash讀取外部XML文檔,加載發(fā)音正誤口形圖動(dòng)畫
原型自動(dòng)語音識(shí)別的核心問題已經(jīng)解決,功能基本完成,在實(shí)際的教學(xué)訓(xùn)練中,根據(jù)聾兒自身的心理發(fā)育特點(diǎn),需要發(fā)音正確時(shí)鼓勵(lì)的動(dòng)畫應(yīng)出現(xiàn)在屏幕上,而發(fā)音錯(cuò)誤時(shí)及時(shí)調(diào)出相應(yīng)的口形圖動(dòng)畫加以提示改正。通過Flash讀取XML文檔,可以動(dòng)態(tài)加載對(duì)應(yīng)的外部動(dòng)畫文件。如圖7所示:
圖7 Flash調(diào)用XML文檔模擬圖
(5)自動(dòng)解說語音合成
根據(jù)后期功能參考,原型尚需實(shí)現(xiàn)自動(dòng)解說,即當(dāng)單個(gè)語音識(shí)別訓(xùn)練結(jié)束時(shí),計(jì)算機(jī)自動(dòng)地將本次訓(xùn)練正確的發(fā)音和聾兒自己的發(fā)音進(jìn)行播放,加深其訓(xùn)練印象,若發(fā)音錯(cuò)誤,有利于教師通過聆聽聾兒的錯(cuò)誤發(fā)音進(jìn)行輔正,同時(shí)配合第4步已經(jīng)實(shí)現(xiàn)的功能,加載正確的口形圖動(dòng)畫,使聾兒可以及時(shí)了解到正確的發(fā)音口形加以改正。筆者基于先期原型已有功能的基礎(chǔ)之上,實(shí)現(xiàn)語音合成(TTS)對(duì)象,調(diào)用相關(guān)的接口和方法,具體如圖8所示。
圖8 TTS模擬圖
三、原型測(cè)試
為了驗(yàn)證原型的可用性,在開發(fā)完成之后,筆者分別請(qǐng)兩個(gè)發(fā)音相近正常兒童進(jìn)行語音訓(xùn)練測(cè)試,選取單韻母和復(fù)韻母語音組,在每一個(gè)語音組中,將兩個(gè)被測(cè)者識(shí)別率和識(shí)別時(shí)間做平均,測(cè)試結(jié)果如下(表2):
通過測(cè)試結(jié)果,可以看出,有兩個(gè)問題:一、識(shí)別率不算太高,這與前期使用聾兒中等水平的語音采樣訓(xùn)練微軟語音識(shí)別器有關(guān);二、識(shí)別時(shí)間稍長,這與程序中的一些富功能(譬如識(shí)別過程中,調(diào)用發(fā)音正誤口形圖動(dòng)畫等)有關(guān)。此外,被測(cè)者為兩個(gè)正常兒童,由于條件限制,暫時(shí)沒有邀請(qǐng)聾兒進(jìn)行試訓(xùn),所以測(cè)試的數(shù)據(jù)僅供參考,聾兒與正常兒童相比,在發(fā)音方面有一定的制約性,水平參差不齊,在實(shí)際的調(diào)查過程中,聾兒中發(fā)音水平較好的也無法達(dá)到正常兒童的水平,所以在實(shí)際使用過程中還有許多問題亟待解決。
四、總結(jié)
筆者架構(gòu)的語訓(xùn)軟件原型,汲取聾兒言語教學(xué)中的理論研究成果,適當(dāng)?shù)剡\(yùn)用了語音技術(shù),成功結(jié)合了生動(dòng)的教學(xué)動(dòng)畫。它在計(jì)算機(jī)輔助教學(xué)中,具有兩點(diǎn)建設(shè)性的應(yīng)用價(jià)值:
(1)寓教于樂,提高聾兒學(xué)習(xí)效率。動(dòng)畫、教學(xué)游戲等形式,較為直觀,可以激發(fā)了聾兒學(xué)習(xí)興趣。
(2)智能型導(dǎo)師,減少聾兒教師的勞動(dòng)量。通過對(duì)傳統(tǒng)的聾兒教學(xué)過程的分析,可以了解到教師起到了至關(guān)重要的作用,在聾兒的言語訓(xùn)練時(shí),他們需要反復(fù)的通過口型教授聾兒的正確發(fā)音方式。而通過語訓(xùn)軟件原型的幫助,教師可以從繁重的工作中解放出來,僅需指導(dǎo)聾兒操作計(jì)算機(jī)軟件進(jìn)行學(xué)習(xí),隨時(shí)對(duì)聾兒的錯(cuò)誤發(fā)音進(jìn)行輔正教學(xué),便可以達(dá)到預(yù)期教學(xué)效果。
此次架構(gòu)的語訓(xùn)軟件原型僅算是一個(gè)實(shí)驗(yàn)系統(tǒng),倘若在此基礎(chǔ)上,通過深入的研發(fā),可以使原型具有更多的功能,譬如:
(1)提高軟件的智能化程度。包括增加語訓(xùn)游戲,調(diào)節(jié)游戲的難易程度等功能。
(2)人臉動(dòng)畫。可以通過分解漢語的音素,驅(qū)動(dòng)計(jì)算機(jī)中的標(biāo)準(zhǔn)人臉嘴形的變動(dòng),形成的動(dòng)畫相比人工繪制而言更加準(zhǔn)確。
參考文獻(xiàn)
[1][2][3] 陳汝琛等.基于自動(dòng)語音識(shí)別技術(shù)的聾啞人視覺輔助語音訓(xùn)練系統(tǒng)[J].中國生物醫(yī)學(xué)工程學(xué)報(bào),1996,15(4):360-364.
[4] Microsoft Speech SDK Help Document [CP/DK].Microsoft Speech API.
[5] MSDN [DB/OL]. http://msdn.microsoft.com. 2005-4-1 /2005-5-10
[6] 劉曉華等.精通MFC[M].北京:電子工業(yè)出版社,2003-9.
[7] 肖宏偉.專家門診——Visual C++開發(fā)答疑300問[M].北京:人民郵電出版社,2003-06.
The Application Of CAI for The Deaf and Dumb Children Based On ASR
——Prototype Architecture Of Deaf and Dumb Children Speech-Training Software
Peng Fei1Peng Dehou2
1.Yangzhou Vocational College of Environment Resources, Yangzhou, Jiangsu, 225000
2.XuZhou College Of Industrial Technology, Xuzhou, Jiangsu, 221000
Abstract: Automated Speech Recognition, applied domain of science include education, is a software technology, converting speech into text. But the deaf and dumb speech-training lags behind other domain. The authors filter out a lot of information of the deaf and dumb children speech, research speech trait and integrate speech technology with domestic and international technology. The authors expound the process of prototype architecture of speech-training software, give several creationary thinking, and especially carry out some function with strong points for the deaf and dumb children.
Keywords: Automated Speech Recognition, Speech-Training, COM