freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

論文基于微軟語音引擎的語音識(shí)別-在線瀏覽

2024-09-06 13:20本頁面
  

【正文】 別技術(shù)是語音領(lǐng)域的重要組成部分,同時(shí)在計(jì)算機(jī)科學(xué)領(lǐng)域中發(fā)揮著不可或缺的作用。本設(shè)計(jì)的目標(biāo)是利用微軟語音開發(fā)包Microsoft Speech SDK 開發(fā)設(shè)計(jì)出具有語音識(shí)別功能的軟件。 設(shè)計(jì)環(huán)境要求系統(tǒng)整體設(shè)計(jì)包括上位機(jī)語音識(shí)別軟件設(shè)計(jì),下位機(jī)單片機(jī)及其應(yīng)用硬件結(jié)構(gòu)與程序算法設(shè)計(jì)。在設(shè)計(jì)過程中的硬件要求有電源、一臺(tái)裝有VC++ PC、麥克風(fēng)設(shè)備、串口或USB轉(zhuǎn)串口設(shè)備、單片機(jī)最小系統(tǒng)以及實(shí)現(xiàn)相應(yīng)功能的應(yīng)用電路及其元器件等。啟動(dòng)應(yīng)用軟件后,系統(tǒng)立即進(jìn)入語音識(shí)別狀態(tài),由用戶對(duì)著PC的麥克風(fēng)發(fā)出相關(guān)語音請(qǐng)求指令,系統(tǒng)會(huì)對(duì)發(fā)出的語音請(qǐng)求信號(hào)進(jìn)行識(shí)別與判斷,如果與預(yù)期設(shè)定的語音請(qǐng)求指令相一致,那么就可以獲得有效的識(shí)別結(jié)果,在函數(shù)調(diào)用中加載相應(yīng)的功能指令。本設(shè)計(jì)中加入了調(diào)用Windows系統(tǒng)視窗程序、打開網(wǎng)站、播放Flash動(dòng)畫與下位機(jī)進(jìn)行通信并實(shí)現(xiàn)相應(yīng)功能。麥克風(fēng)語音助理Windows系統(tǒng)視窗程序打開網(wǎng)站通信串口播放Flash啟動(dòng)計(jì)算器百度阜陽師范學(xué)院火車訂票下位機(jī)打開文件夾語音播報(bào)奏樂流水燈 圖1 系統(tǒng)功能流程根據(jù)語音識(shí)別在現(xiàn)實(shí)中的應(yīng)用,語音識(shí)別存在以下幾種形式:小詞匯量與大詞匯量的識(shí)別、無詞匯數(shù)量限制的識(shí)別,獨(dú)立單個(gè)詞語與串聯(lián)連續(xù)詞句的識(shí)別,特定相關(guān)人與非特定相關(guān)人的識(shí)別。預(yù)處理聲學(xué)參數(shù)分析測(cè)度估計(jì)判決語音庫專家知識(shí)庫失真測(cè)度語音信號(hào)識(shí)別結(jié)果如圖2所示為語音識(shí)別原理的詳細(xì)流程,當(dāng)一個(gè)具有一定意義和信息含量的語音信息被錄入識(shí)別系統(tǒng)時(shí),系統(tǒng)會(huì)對(duì)其進(jìn)行“訓(xùn)練(Training)”過程,其具體操作是開始分析語音信息的特征,接著按一定的指令將其傳送到機(jī)器并存儲(chǔ)起來。在識(shí)別過程中通常加入失真度比較環(huán)節(jié),該過程中會(huì)計(jì)算“識(shí)別”過后的語音與語音參數(shù)矢量之間的“失真測(cè)度(DistortionMeasures)”,從中取出失真度最小的模塊,即可當(dāng)作最終理想的識(shí)別結(jié)果。這里主要針對(duì)SAPI引擎作詳細(xì)介紹,SAPI引擎主要用于對(duì)低層系統(tǒng)的控制,此外,還具有高度適應(yīng)性的直接語音管理、訓(xùn)練向?qū)Ч芾怼⑹录芾硪约罢Z音識(shí)別(SR)管理等。Application(應(yīng)用程序)Application(應(yīng)用程序)SAPI Runtime (SAPI運(yùn)行時(shí))Recognition Engine(識(shí)別引擎)TTS Engine(語音合成引擎)APIDDI圖3 微軟Speech SDK底層驅(qū)動(dòng)結(jié)構(gòu)由上面的結(jié)構(gòu)圖可以看出在這里用戶應(yīng)用程序是通過SAPI與API層之間進(jìn)行交互的,語音識(shí)別引擎是通過SAP層與DDI進(jìn)行通信的。因此語音識(shí)別API層在程序開發(fā)過程起到了主導(dǎo)作用,是在這里要詳細(xì)介紹的一個(gè)環(huán)節(jié)。CRInstanceCreat_ISP在處理語音識(shí)別事件和應(yīng)用程序接受消息通知的過程中起到了傳輸作用。其中的共享式語音識(shí)別(Shared Recognition)在語音識(shí)別應(yīng)用程序的共享語音識(shí)別引擎得到了廣泛的應(yīng)用,具備可用于提供給其他能夠接受的語音識(shí)別應(yīng)用程序的功能[2]。如果在一個(gè)大型的服務(wù)程序中,通常需要驅(qū)動(dòng)在一個(gè)系統(tǒng)上獨(dú)立運(yùn)行,為確保系統(tǒng)能夠有一個(gè)穩(wěn)定的工作狀況,此時(shí)獨(dú)占式語音識(shí)別(InProc Speech Recognition)引擎與共享式語音識(shí)別引擎(CRInstanceCreat_ISP)相比顯得更加適合。在這里應(yīng)用程序調(diào)用ComCRInstanceCreat(SpShared_CLSID_ReCon)函數(shù)的目的是創(chuàng)建獨(dú)式識(shí)別引擎,為了對(duì)音頻輸入的設(shè)置,還需要調(diào)用ISpRecognizet::SetInput函數(shù)。接下來的操作是為APP感興趣的事件來設(shè)置消息進(jìn)行通知處理。在這里不管什么樣的事件在被處理之前都需要被ISpEventSource::InterestSET的方法來進(jìn)行設(shè)定。 在設(shè)置好感興趣事件之后,系統(tǒng)設(shè)計(jì)上需要指定何種語音,實(shí)現(xiàn)這個(gè)方法就需要以一定的指令或語法來進(jìn)行約束,包含一定的控制語法和相關(guān)的口述命令。當(dāng)確定好適當(dāng)?shù)目刂普Z法之后,需要對(duì)口述狀態(tài)進(jìn)行設(shè)置,此時(shí)應(yīng)用程序APP需要調(diào)用RecoGrammar_ISP::SetDictationState 方法以此來激活控制語法執(zhí)行啟動(dòng)識(shí)別過程[3]。在系統(tǒng)設(shè)計(jì)中上位機(jī)設(shè)計(jì)是主體設(shè)計(jì)部分,在這里上位機(jī)軟件直接起到對(duì)Windows系統(tǒng)應(yīng)用程序的操作作用,也是與下位機(jī)進(jìn)行互動(dòng)引導(dǎo)模塊。其中包含的類包含大量Windows句柄封裝類和很多Windows的內(nèi)建控件和組件的封裝類。 語音識(shí)別的過程語音識(shí)別的編程離不開由上所述的幾種語音識(shí)別引擎接口即以下四個(gè)語音引擎RecoGrammar_ISP,Recognizer_ISP ,ISpPhrase以及CRInstanceCreat_ISP它們都遵循COM組件的工作原理和Windows應(yīng)用程序的工作原理即消息驅(qū)動(dòng)機(jī)制,在實(shí)現(xiàn)過程中首先需要構(gòu)造出操作語音識(shí)別的類即CSpeechRecognition,接下來即可通過CSpeechRecognition類來實(shí)現(xiàn)一個(gè)語音識(shí)別程序[4]。 COM庫的初始化COM庫(Componet Object Model)即組件對(duì)象模型,是一種說明如何建立可動(dòng)態(tài)互變組件的規(guī)范,此規(guī)范提供了為保證能夠互操作,客戶和組件應(yīng)遵循的一些二進(jìn)制和網(wǎng)絡(luò)標(biāo)準(zhǔn)[5]。COM庫存在于DLL中,定義了一些常用的函數(shù),因此對(duì)COM的調(diào)用必須先用函數(shù)CoInitialize (Null)來對(duì)其進(jìn)行初始化。語音識(shí)別對(duì)象Recognizer Object是實(shí)現(xiàn)語音識(shí)別引擎的方法。 對(duì)識(shí)別消息和感興趣事件進(jìn)行設(shè)置在這里需要首先調(diào)用函數(shù)SetNotifyWindowMessage,為了將識(shí)別消息送給windows,讓windows辨別具體需要進(jìn)行處理的識(shí)別消息。接下來需要對(duì)感興趣事件進(jìn)行設(shè)置。當(dāng)存在的語法規(guī)則被RecoGrammar_ISP 接口識(shí)別,ISpRecogContext對(duì)象會(huì)向APP發(fā)出語音識(shí)別消息,接下來就會(huì)對(duì)識(shí)別消息響應(yīng)函數(shù)進(jìn)行調(diào)用。在語法規(guī)則還沒有被終止,這一步可以一直循環(huán)下去。 響應(yīng)各種事件在以上五個(gè)步驟都依次執(zhí)行完畢時(shí),即已經(jīng)完成了語音識(shí)別的初始化過程,接下來就能對(duì)每個(gè)程序事件進(jìn)行直接響應(yīng)。語音識(shí)別助理軟件系統(tǒng)流程如圖4所示。其中XML文件采用記事本進(jìn)行編輯,將需要錄入的語音信息寫入文件中。文件配置中添加語音引擎sapi的頭文件和庫文件。在實(shí)際應(yīng)用當(dāng)中,XML文件需要由用戶自己編寫,來實(shí)現(xiàn)源語言的文件標(biāo)記,XML文件在Web信息的交換中起到了主要的作用。在本上位機(jī)設(shè)計(jì)中需要裝載XLM文件,在對(duì)語音識(shí)別信息語音信號(hào)錄入的關(guān)鍵字依次寫入XML語法規(guī)則文件中。在這些由用戶錄入的特定的語句,需要命令控制約束進(jìn)行對(duì)其識(shí)別,程序中編寫的“”文件需要在語法規(guī)則RecoGrammar_ISP接口中裝載并被激活。接著是對(duì)串口進(jìn)行初始化,串口初始化的目的是為了與下位機(jī)進(jìn)行通信,串口初始化過程中需要進(jìn)行的操作有串口端口號(hào)的設(shè)定、輸入模式設(shè)定為二進(jìn)制模式、收到一個(gè)字節(jié)引發(fā)OnComm事件、串口參數(shù)的設(shè)置其中波特率9600bit/s,無奇偶校驗(yàn)。在MFC程序運(yùn)行過程中,程序需要由事件驅(qū)動(dòng)。在建立一個(gè)窗口前,為了讓消息處理函數(shù)與窗口建立聯(lián)系,消息處理函數(shù)必須先寫,當(dāng)系統(tǒng)檢測(cè)到消息時(shí)就會(huì)調(diào)用消息處理函數(shù)。整個(gè)消息響應(yīng)過程是一個(gè)程序輪詢的過程。本程序在對(duì)消息響應(yīng)函數(shù)的設(shè)計(jì)過程中,在語法規(guī)則被識(shí)別引擎CRInstanceCreat_ISP識(shí)別之后,應(yīng)用程序需要由ISpRecoContext對(duì)象發(fā)出語音識(shí)別消息,并調(diào)用識(shí)別消息的各個(gè)響應(yīng)函數(shù)。系統(tǒng)下位機(jī)設(shè)計(jì)的硬件部分包括51單片機(jī)最小系統(tǒng),電平轉(zhuǎn)換電路,語音播報(bào)模塊。 下位機(jī)硬件設(shè)計(jì)這里使用STC89C51單片機(jī)作為下位機(jī)MCU,系統(tǒng)電源采用電腦USB接口電源供電,語音模塊供電部分采用兩個(gè)二極管達(dá)到降壓的目的,整個(gè)下位機(jī)電路系統(tǒng)包括語音模塊電路,單片機(jī)最小系統(tǒng)電路以及串口電平轉(zhuǎn)換電路,單片機(jī)最小系統(tǒng)電路如圖5所示。圖5 單片機(jī)最小系統(tǒng) 串口電平轉(zhuǎn)換電路設(shè)計(jì)由于電腦電平使用的是CMOS電平,而下位機(jī)最小系統(tǒng)采用的是TTL電平,在上位機(jī)與下位機(jī)進(jìn)行數(shù)據(jù)交換時(shí)過程中,需要將電腦的COMS電平轉(zhuǎn)換成下位機(jī)的TTL電平,將下位機(jī)的TTL電平轉(zhuǎn)換成電腦的CMOS電平,上位機(jī)與下位機(jī)才能正常通信?!D6 串口電平轉(zhuǎn)換電路 語音控制模塊及流水燈電路設(shè)計(jì)語音播報(bào)控制芯片選用廣東唯創(chuàng)的WTV020SD,該模塊控制方式多樣,這里選用該模塊的三線串口控制方式。流水燈電路中使用7個(gè)發(fā)光二極管加一個(gè)1K歐排阻進(jìn)行限流,如圖7所示為語音控制模塊以及流水燈的接口電路。軟件實(shí)現(xiàn)的功能是當(dāng)上位機(jī)接收到語音命令信息,向下位機(jī)串口發(fā)送相應(yīng)的十六進(jìn)制字符,下位機(jī)接收到串口發(fā)送的數(shù)據(jù),通過選擇判斷,實(shí)現(xiàn)對(duì)應(yīng)的功能要求,本設(shè)計(jì)案例中加入了語音播報(bào)與流水燈閃爍過程。根據(jù)波特率的計(jì)算公式: 其中X為定時(shí)器的初始值,fosc為單片機(jī)使用的晶振頻率大小。定時(shí)器工作方式選擇定時(shí)器一的方式二,串行口方式選擇方式一,即串行口使用10位通用異步通信接口,此時(shí)PCON寄存器的SMOD位設(shè)定為0。 語音播報(bào)控制芯片時(shí)序控制這里語音播報(bào)芯片WTV020SD使用的是三線串口控制模式,其實(shí)現(xiàn)機(jī)制是是由單片機(jī)的三個(gè)IO口按照一定的時(shí)序分別控制CLK,RST以及DI。在RST信號(hào)拉低5ms之后,CLK信號(hào)需要立即拉高300ms并等待數(shù)據(jù)線2ms的時(shí)間,數(shù)據(jù)線可隨時(shí)鐘線發(fā)送數(shù)據(jù),每次發(fā)送兩個(gè)字節(jié)數(shù)據(jù)即音頻文件的文件名,這里音頻文件名是以十六進(jìn)制形式命名的兩字節(jié)格式。圖10 三線串口控制時(shí)序系統(tǒng)上位機(jī)設(shè)計(jì)是在Windows7系統(tǒng)下進(jìn)行配置的,上位機(jī)實(shí)現(xiàn)調(diào)試階段主要是針對(duì)上位機(jī)麥克風(fēng)的訓(xùn)練。上位機(jī)麥克風(fēng)訓(xùn)練過程首先需要打開Windows7系統(tǒng),進(jìn)入控制面板的輕松訪問界面啟動(dòng)語音識(shí)別并設(shè)置麥克風(fēng)。圖11 啟動(dòng)語音識(shí)別配置麥克風(fēng)當(dāng)上位機(jī)進(jìn)入系統(tǒng)彈出軟件歡迎動(dòng)畫界面如圖12所示。圖13 小葉同學(xué)正對(duì)著麥克風(fēng)呼叫“阜陽師范學(xué)院”圖14 Windows 彈出阜陽師范學(xué)院網(wǎng)站窗口 下位機(jī)調(diào)試系統(tǒng)下位機(jī)調(diào)試主要針對(duì)串口通訊和語音播報(bào)模塊的時(shí)序調(diào)試。在語音播報(bào)控制模塊的調(diào)試中需要嚴(yán)格按照WTV020SD的三線控制時(shí)序,其中CLK
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1