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

正文內(nèi)容

論文基于微軟語音引擎的語音識別(編輯修改稿)

2024-08-23 13:20 本頁面
 

【文章內(nèi)容簡介】 初始化過程中需要對語音識別進(jìn)行初始化,、語音識別對象的創(chuàng)建、上下文語音識別命令的創(chuàng)建、識別消息和感興趣事件的設(shè)置、語法和規(guī)則的裝載六個底層驅(qū)動過程。接著是對串口進(jìn)行初始化,串口初始化的目的是為了與下位機進(jìn)行通信,串口初始化過程中需要進(jìn)行的操作有串口端口號的設(shè)定、輸入模式設(shè)定為二進(jìn)制模式、收到一個字節(jié)引發(fā)OnComm事件、串口參數(shù)的設(shè)置其中波特率9600bit/s,無奇偶校驗。在以上語音識別引擎和串口初始化完畢,系統(tǒng)初始化完成,接下來是對程序消息函數(shù)的實現(xiàn)過程。在MFC程序運行過程中,程序需要由事件驅(qū)動。系統(tǒng)維護(hù)是維護(hù)窗口例行過程中主要的維護(hù)機制,對在傳入系統(tǒng)的消息時消息處理函數(shù)會對其進(jìn)行處理。在建立一個窗口前,為了讓消息處理函數(shù)與窗口建立聯(lián)系,消息處理函數(shù)必須先寫,當(dāng)系統(tǒng)檢測到消息時就會調(diào)用消息處理函數(shù)。消息函數(shù)中包含的消息事件是在程序流程中依次被取出,在程序執(zhí)行實現(xiàn),將實現(xiàn)結(jié)果依次發(fā)送到特定的窗口中。整個消息響應(yīng)過程是一個程序輪詢的過程。在程序輪詢中按照取出消息,派發(fā)消息的循環(huán)過程,直到退出循環(huán),程序終止[10]。本程序在對消息響應(yīng)函數(shù)的設(shè)計過程中,在語法規(guī)則被識別引擎CRInstanceCreat_ISP識別之后,應(yīng)用程序需要由ISpRecoContext對象發(fā)出語音識別消息,并調(diào)用識別消息的各個響應(yīng)函數(shù)。為了實現(xiàn)更多的擴展應(yīng)用,使人機互動過程更加靈活多樣,系統(tǒng)方案中加入了PC與MCU的通信部分。系統(tǒng)下位機設(shè)計的硬件部分包括51單片機最小系統(tǒng),電平轉(zhuǎn)換電路,語音播報模塊。系統(tǒng)下位機軟件設(shè)計采用C語言在Keil下編程。 下位機硬件設(shè)計這里使用STC89C51單片機作為下位機MCU,系統(tǒng)電源采用電腦USB接口電源供電,語音模塊供電部分采用兩個二極管達(dá)到降壓的目的,整個下位機電路系統(tǒng)包括語音模塊電路,單片機最小系統(tǒng)電路以及串口電平轉(zhuǎn)換電路,單片機最小系統(tǒng)電路如圖5所示。其中電路板設(shè)計使用Altium 軟件繪制原理圖與PCB,電路板工藝設(shè)計過程中主要經(jīng)過了電路板鉆孔、線路曝光、線路顯影以及線路腐蝕四個流程。圖5 單片機最小系統(tǒng) 串口電平轉(zhuǎn)換電路設(shè)計由于電腦電平使用的是CMOS電平,而下位機最小系統(tǒng)采用的是TTL電平,在上位機與下位機進(jìn)行數(shù)據(jù)交換時過程中,需要將電腦的COMS電平轉(zhuǎn)換成下位機的TTL電平,將下位機的TTL電平轉(zhuǎn)換成電腦的CMOS電平,上位機與下位機才能正常通信。本串口電平轉(zhuǎn)換芯片選用MAX232芯片,串口電平轉(zhuǎn)換電路如圖6所示?!D6 串口電平轉(zhuǎn)換電路 語音控制模塊及流水燈電路設(shè)計語音播報控制芯片選用廣東唯創(chuàng)的WTV020SD,該模塊控制方式多樣,這里選用該模塊的三線串口控制方式。其硬件鏈接方式簡單,只需CLK,RST以及DI三條線路與單片機的IO連接。流水燈電路中使用7個發(fā)光二極管加一個1K歐排阻進(jìn)行限流,如圖7所示為語音控制模塊以及流水燈的接口電路。圖7 語音模塊與LED電路圖8下位機硬件實物圖 下位機軟件設(shè)計該系統(tǒng)下位機軟件采用C語言在Keil下編程實現(xiàn)。軟件實現(xiàn)的功能是當(dāng)上位機接收到語音命令信息,向下位機串口發(fā)送相應(yīng)的十六進(jìn)制字符,下位機接收到串口發(fā)送的數(shù)據(jù),通過選擇判斷,實現(xiàn)對應(yīng)的功能要求,本設(shè)計案例中加入了語音播報與流水燈閃爍過程。下位機軟件執(zhí)行流程如圖9所示:執(zhí)行相關(guān)功能模塊結(jié)束接收數(shù)據(jù)一致一致 否是等待串口發(fā)送并接收數(shù)劇波特率、IO口初始化開始圖9 下位機執(zhí)行流程圖 下位機串口通信波特率設(shè)置為了使上位機與下位機能進(jìn)行正常通信,,波特率設(shè)定為9600 bit/s。根據(jù)波特率的計算公式: 其中X為定時器的初始值,fosc為單片機使用的晶振頻率大小。此過程需要對單片機的定時器,串行口控制寄存器以及PCON寄存器進(jìn)行設(shè)置。定時器工作方式選擇定時器一的方式二,串行口方式選擇方式一,即串行口使用10位通用異步通信接口,此時PCON寄存器的SMOD位設(shè)定為0。根據(jù)以上條件和波特率計算公式得出定時器一的初始值X。 語音播報控制芯片時序控制這里語音播報芯片WTV020SD使用的是三線串口控制模式,其實現(xiàn)機制是是由單片機的三個IO口按照一定的時序分別控制CLK,RST以及DI。其控制時序如圖10所示。在RST信號拉低5ms之后,CLK信號需要立即拉高300ms并等待數(shù)據(jù)線2ms的時間,數(shù)據(jù)線可隨時鐘線發(fā)送數(shù)據(jù),每次發(fā)送兩個字節(jié)數(shù)據(jù)即音頻文件的文件名,這里音頻文件名是以十六進(jìn)制形式命名的兩字節(jié)格式。當(dāng)文件名的十六位數(shù)據(jù)發(fā)送完畢,語音播報芯片開始響應(yīng)輸出對應(yīng)的語音文件,即時序圖中的BUSY信號為高電位,表示有語音輸出這個狀態(tài)。圖10 三線串口控制時序系統(tǒng)上位機設(shè)計是在Windows7系統(tǒng)下進(jìn)行配置的,上位機實現(xiàn)調(diào)試階段主要是針對上位機麥克風(fēng)的訓(xùn)練。系統(tǒng)上位機在對Windows系統(tǒng)視窗程序、打開網(wǎng)站和播放Flash動畫都是在PC上完成的,當(dāng)用戶在一定的距離之內(nèi)對著麥克風(fēng)發(fā)出語音請求,Windows彈出相應(yīng)的功能表示上位機軟件在PC中的設(shè)計沒有問題。上位機麥克風(fēng)訓(xùn)練過程首先需要打開Windows7系統(tǒng),進(jìn)入控制面板的輕松訪問界面啟動語音識別并設(shè)置麥克風(fēng)。如圖11 所示為啟動語音識別配置麥克風(fēng)。圖11 啟動語音識別配置麥克風(fēng)當(dāng)上位機進(jìn)入系統(tǒng)彈出軟件歡迎動畫界面如圖12所示。 圖12 軟件歡迎動畫界面系統(tǒng)上位機軟件打開后,當(dāng)用戶對著麥克風(fēng)呼出“阜陽師范學(xué)院”,Windows界面彈出阜陽師范學(xué)院的網(wǎng)站。圖13 小葉同學(xué)正對著麥克風(fēng)呼叫“阜陽師范學(xué)院”圖14 Windows 彈出阜陽師范學(xué)院網(wǎng)站窗口 下位機調(diào)試系統(tǒng)下位機調(diào)試主要針對串口通訊和語音播報模塊的時序調(diào)試。串口通訊調(diào)試過程中,由上位機發(fā)送十六進(jìn)制字符如果下位機接收到相應(yīng)的字符那么波特率設(shè)置正確。在語音播報控制模塊的調(diào)試中需要嚴(yán)格按照WTV020SD的三線控制時序,其中CLK與DI時序如圖15示波器截圖所示,黃線是CLK,綠線是DI。 圖15 示波器檢測到的CLK與DI時序波7. 設(shè)計總結(jié)本設(shè)計過程是學(xué)習(xí)與設(shè)計的同步過程,由于在校期間軟件方面知識很是欠缺,本設(shè)計是從開始接觸MFC到了解在MFC平臺下開發(fā)軟件的一個開始階段。設(shè)計制作過程中也是從一點一滴學(xué)起來的,并逐步完善的。為了讓整體設(shè)計效果達(dá)到實用性與趣味性,在設(shè)計過程中相繼添加了幾個生活中實用性的模塊。因為語音識別技術(shù)是人機互動的一種方式,在人的意志控制下,以發(fā)出語言的方式讓機器來實現(xiàn)人的意愿是很有趣,很友好的。當(dāng)然,在設(shè)計過程遇到了一些問題,解決這些問題的過程的同時也提升了學(xué)習(xí)能力,在歷時幾個月的學(xué)習(xí)與設(shè)計的時間里,對軟件設(shè)計有了初步認(rèn)識。參考文獻(xiàn):[1] Microsoft Speech SDK Help [Z].[2] 李逸波,郭天杰,[M] 北京:電子工業(yè)出版社,1998.[3] 安居院猛,(日)[M] 北京:國防工業(yè)出版社,1987.[4] 孟威,黃維通 Visual C++ 程序設(shè)計教程[M] 北京:機械工業(yè)出版社,2002. [5] 李禹才,左友東, SDK的語音控制應(yīng)用程序的設(shè)計與實現(xiàn)[J].計算機應(yīng)用, 2004.[6] 李松, SpeechSDK5. 1 實現(xiàn)中英文朗讀[ J]. [7] [ J].微計算機息,2005.[8] 朱民雄,聞新,黃健群,周露計算機語音技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002.[9] 楊尚國,[J]1福建電腦,2006.[10] ,2007.附錄一:系統(tǒng)上位機部分源代碼//基于微軟語音引擎的語音識別////阜陽師范學(xué)院////劉歡//include include include ifdef _DEBUGdefine new DEBUG_NEWundef THIS_FILEstatic char THIS_FILE[] = __FILE__。endif/////////////////////////////////////////////////////////////////////////////// CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog{public: CAboutDlg()。 enum { IDD = IDD_ABOUTBOX }。 protected: virtual void DoDataExchange(CDataExchange* pDX)。 // DDX/DDV support protected: DECLARE_MESSAGE_MAP()}。 void CAboutDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX)。 }BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CVoiceDlg dialogCVoiceDlg::CVoiceDlg(CWnd* pParent /*=NULL*/) : CDialog(CVoiceDlg::IDD, pParent){ B0=0。 m_hIcon = AfxGetApp()LoadIcon(IDR_MAINFRAME)。}void CVoiceDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX)。 //{{AFX_DATA_MAP(CVoiceDlg) DDX_Control(pDX, IDC_EDIT1, m_Edit1
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1