<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于語(yǔ)音識(shí)別的聲控鼠標(biāo)的設(shè)計(jì)方法

          基于語(yǔ)音識(shí)別的聲控鼠標(biāo)的設(shè)計(jì)方法

          作者: 時(shí)間:2012-08-07 來(lái)源:網(wǎng)絡(luò) 收藏

           摘要: 實(shí)現(xiàn)了一種技術(shù)的光標(biāo)應(yīng)用程序, 可以用控制光標(biāo)移動(dòng)到屏幕的任意位置, 能用來(lái)幫助傷殘人士只用聲音而不用鍵盤就能操作電腦。分析了控制鼠標(biāo)光標(biāo)使用過(guò)程中的延時(shí)缺陷, 并做出了針對(duì)性的改進(jìn)。

          本文引用地址:http://www.ex-cimer.com/article/165091.htm

            1 概述

            電腦語(yǔ)音技術(shù)經(jīng)過(guò)多年發(fā)展已經(jīng)取得了巨大進(jìn)步, 目前已經(jīng)有一些產(chǎn)品和項(xiàng)目讓人們有機(jī)會(huì)和計(jì)算機(jī)進(jìn)行語(yǔ)音交互工作, 例如IBM公司的Viavoice 系列軟件以及微軟的新的Office 產(chǎn)品都有實(shí)用的語(yǔ)音功能, 可以進(jìn)行語(yǔ)音聽(tīng)寫錄入文字等工作, 還出現(xiàn)了一些語(yǔ)音技術(shù)的應(yīng)用系統(tǒng)。

            語(yǔ)音技術(shù)特別是語(yǔ)音技術(shù)的發(fā)展, 使人們可能實(shí)現(xiàn)用語(yǔ)音控制電腦, 這對(duì)于世界上眾多不能方便使用傳統(tǒng)的鼠標(biāo)及鍵盤的傷殘人士有重大的意義; 另外在一些場(chǎng)合不方便操作電腦但又必須使用的情況下同樣很有意義, 比如駕駛的同時(shí)查詢電子地圖。目前要真正控制一臺(tái)圖形界面的電腦, 必須做到使用語(yǔ)音控制也能像使用鍵盤和鼠標(biāo)那樣輸入數(shù)據(jù)以及控制光標(biāo)。因此一種有效的語(yǔ)音控制光標(biāo)程序, 也就是可以定位在屏幕的任意位置, 并且可以模擬單擊、雙擊拖拽等各種鼠標(biāo)動(dòng)作的語(yǔ)音控制程序, 對(duì)于實(shí)現(xiàn)語(yǔ)音控制電腦將是一個(gè)很有意義的工具。

            本文利用微軟的Speech SDK 5.1 免費(fèi)的語(yǔ)音引擎和模擬鼠標(biāo)技術(shù), 用Delphi7.0 實(shí)現(xiàn)了一個(gè)語(yǔ)音控制鼠標(biāo)應(yīng)用程序, 可以實(shí)現(xiàn)語(yǔ)音控制鼠標(biāo)移動(dòng)、停止、單擊等動(dòng)作達(dá)到控制屏幕光標(biāo)的作用, 并對(duì)語(yǔ)音控制鼠標(biāo)程序中的延遲問(wèn)題進(jìn)行了分析, 提出并實(shí)現(xiàn)了一種改進(jìn)

            2 語(yǔ)音識(shí)別的光標(biāo)控制類型

            目前有兩種語(yǔ)音控制鼠標(biāo)的模式: 一種是目標(biāo)導(dǎo)向光標(biāo)控制和方向?qū)蚬鈽?biāo)控制[n].對(duì)于前者, 用戶需要用語(yǔ)音給出具體目標(biāo)名稱或者位置, 比如圖標(biāo)、菜單, 或者屏幕區(qū)域名稱, 然后給出執(zhí)行的命令如單擊等, 這種方式對(duì)于單個(gè)軟件還是有效的, 但是當(dāng)目標(biāo)增加的時(shí)候用戶需要記憶很多目標(biāo)的名稱, 還可能出現(xiàn)同名稱目標(biāo)的情況, 因此工作中的錯(cuò)誤率會(huì)增加。另一種方向?qū)蚬鈽?biāo)控制又分為非連續(xù)控制和連續(xù)控制兩種, 對(duì)于非連續(xù)的情況用戶要同時(shí)說(shuō)明方向和距離, 如命令左8 厘米, 那么光標(biāo)就向左移動(dòng)8厘米; 而對(duì)于連續(xù)的情況用戶先說(shuō)明方向如向左,光標(biāo)就向左移動(dòng), 直到用戶再說(shuō)停止, 光標(biāo)才停止運(yùn)動(dòng)。

            本文討論的光標(biāo)是屬于方向?qū)蛑械倪B續(xù)控制, 這種鼠標(biāo)控制和日常的使用習(xí)慣比較一致, 用戶使用起來(lái)比較適應(yīng)。

            3 實(shí)現(xiàn)

            本文語(yǔ)音控制光標(biāo)程序的語(yǔ)音控制是采用微軟的Speech SDK 5.1 的語(yǔ)音識(shí)別引擎及其API 接口, 這是一個(gè)免費(fèi)的開(kāi)發(fā)包, 并且可以用它開(kāi)發(fā)具有中文語(yǔ)音功能的軟件。語(yǔ)音識(shí)別引擎通常可以分為兩種工作方式, 一種就是命令控制(Command and Control) 方式, 這個(gè)方式下語(yǔ)音識(shí)別引擎可以識(shí)別簡(jiǎn)短的語(yǔ)音命令, 以便執(zhí)行相應(yīng)的程序; 另外一種是連續(xù)聽(tīng)寫方式,這個(gè)模式下語(yǔ)音識(shí)別引擎要識(shí)別連續(xù)的語(yǔ)音, 這種功能實(shí)現(xiàn)起來(lái)比語(yǔ)音控制更復(fù)雜, 因?yàn)檎Z(yǔ)音聽(tīng)寫過(guò)程中需要對(duì)上下文以及相同相似發(fā)音的詞語(yǔ)進(jìn)行分析、作出判斷, 而在命令控制語(yǔ)音方式中不需要作上下文分析。本文采用的是命令控制方式, 因?yàn)閷?shí)現(xiàn)語(yǔ)音控制鼠標(biāo)只需要對(duì)有限的幾個(gè)簡(jiǎn)短的命令進(jìn)行識(shí)別, 如左、右、停等。圖1 是語(yǔ)音控制鼠標(biāo)程序的結(jié)構(gòu)圖。

          圖1 語(yǔ)音控制鼠標(biāo)程序結(jié)構(gòu)

          圖1 語(yǔ)音控制鼠標(biāo)程序結(jié)構(gòu)

            該應(yīng)用程序主要包括兩個(gè)部分: 第一部分語(yǔ)音控制應(yīng)用主程序部分, 主要調(diào)用語(yǔ)音識(shí)別引擎識(shí)別用戶的語(yǔ)音命令。

            這部分程序主要完成幾件工作:

           ?、賹?dǎo)入辭書文法文件(XML 格式, 其中定義感興趣的語(yǔ)音命令) , 完成對(duì)語(yǔ)音識(shí)別引擎接口的初始化工作, 激活語(yǔ)音識(shí)別引擎;②接收語(yǔ)音識(shí)別引擎的識(shí)別結(jié)果, 根據(jù)識(shí)別結(jié)果調(diào)用相應(yīng)的鼠標(biāo)控制程序。

            下面的語(yǔ)法文件中定義了方向命令和鼠標(biāo)事件命令的語(yǔ)法規(guī)則:

            GRAMMAR LANGID=804>

            DEFINE>

            ID NAME=RID_start VAL=1/>

            ID NAME=PID_colour VAL=2/>

            ID NAME=PID_colourvalue VAL=3/>

            /DEFINE>

            ! - - Rule definiTIons - - >

            RULE NAME=start ID=RID_start TOPLEVEL=ACTIVE>

            RULEREF NAME=colour PROPNAME=colourPROPID=PID_colour />

            /RULE>

            RULE NAME=colour >

            L PROPNAME=colourvalue PROPID=PID_

            colourvalue>

            P VAL=1>上/P>

            P VAL=2>下/P>

            P VAL=3>左/P>

            p VAL=4>右/p>

            p VAL=5>停止/p>

            P VAL=6>單擊/P>

            P VAL=7>雙擊/P>

            p VAL=8>關(guān)閉/p>

            /L>

            /RULE>

            /GRAMMAR>

           在程序運(yùn)行的時(shí)候, 一旦有上述語(yǔ)法文件中定義的命令被成功識(shí)別, 則在程序的onRecgnition 響應(yīng)函數(shù)中可以查詢出識(shí)別的返回值是1~8 中的某個(gè)值, 根據(jù)不同的返回值就可以調(diào)用鼠標(biāo)控制程序進(jìn)行鼠標(biāo)的某個(gè)方向的移動(dòng)或者點(diǎn)擊等事件的模擬控制。

            第二部分鼠標(biāo)控制程序, 就是調(diào)用程序模擬控制鼠標(biāo)移動(dòng)或單擊等各種鼠標(biāo)事件。這一部分主要是利用Windows API 函數(shù)模擬鼠標(biāo)事件實(shí)現(xiàn)對(duì)鼠標(biāo)光標(biāo)的控制。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();