日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀] 1 概述電腦語音技術(shù)經(jīng)過多年發(fā)展已經(jīng)取得了巨大進(jìn)步, 目前已經(jīng)有一些產(chǎn)品和項(xiàng)目讓人們有機(jī)會和計(jì)算機(jī)進(jìn)行語音交互工作, 例如IBM公司的Viavoice 系列軟件以及微軟的新的Office 產(chǎn)品都有實(shí)用的語音功能, 可以進(jìn)行

 1 概述

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

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

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

2 基于語音識別的光標(biāo)控制類型

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

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

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

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

 

 

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

停止

 

 

單擊

 

 

雙擊

 

 

關(guān)閉

 

 

 

 

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

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

模擬鼠標(biāo)移動可以通過循環(huán)調(diào)用Windows API函數(shù)SetcursorPos(x1,y1)來實(shí)現(xiàn), 在循環(huán)中控制x1 和y1 的變化就可以實(shí)現(xiàn)任何方向的鼠標(biāo)移動。在程序中模擬鼠標(biāo)移動需要用到多線程控制, 否則鼠標(biāo)移動過程中無法隨時停止或者讓他轉(zhuǎn)向。以下是移動線程中的移動控制代碼:

for I := 1 to 500 do

begin

if bstop=1 then break;

//遇到停止命令時停止光標(biāo)移動

case Dr of

//根據(jù)參數(shù)Dr 決定光標(biāo)運(yùn)行方向

1: x1:=x1+n1; //右移

2: x1:=x1- n1; //左移

3: y1:=y1+n1; //下移

4: y1:=y1- n1; //上移

end;

windows.SetcursorPos(x1,y1);

end;

鼠標(biāo)的另一類控制程序是模擬鼠標(biāo)單擊雙擊等鼠標(biāo)事件, 主要是在程序中利用mouse_event 函數(shù)對鼠標(biāo)事件進(jìn)行模擬。程序中以下代碼模擬了鼠標(biāo)左鍵單擊:

windows.mouse_event (MOUSEEVENTF_LEFTDOWN,0,0,0,0);

// 左鍵按下

windows.mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

// 左鍵抬起

圖2 是一個理想情況下用本文程序?qū)崿F(xiàn)語音控制鼠標(biāo)的例子。光標(biāo)初始位置在屏幕左下方, 目標(biāo)矩形在屏幕右上區(qū), 首先用戶對麥克風(fēng)發(fā)出"右"的命令, 光標(biāo)就向右移動; 當(dāng)光標(biāo)到達(dá)目標(biāo)下方的時候用戶說"上"命令, 光標(biāo)就改向上移動( 或者先說"停"命令, 光標(biāo)停止) ; 當(dāng)光標(biāo)到達(dá)目標(biāo)矩形, 用戶說"停"命令, 光標(biāo)停止, 最后用戶說"單擊", 程序模擬鼠標(biāo)左鍵單擊事件, 相當(dāng)于目標(biāo)矩形被單擊。

 

 

圖2 一個語音控制鼠標(biāo)工作的例子

4 語音控制鼠標(biāo)的缺陷

雖然幾個簡單的語音命令, 可以控制鼠標(biāo)移動到屏幕的任何位置, 并可以根據(jù)語音命令模擬單擊、雙擊等各種鼠標(biāo)事件, 但是實(shí)際使用中還存在缺陷。

對于大的目標(biāo)而言, 這種語音控制鼠標(biāo)控制沒有什么問題, 如果目標(biāo)區(qū)域比較小, 將會增加使用者的難度, 比如當(dāng)光標(biāo)移動到矩形時喊"停", 光標(biāo)會繼續(xù)移動一小段才停, 這時光標(biāo)可能已經(jīng)越過了目標(biāo)矩形。這種情況和語音識控制中存在的延時有關(guān), 每次用戶發(fā)出語音命令到命令被執(zhí)行都有一個過程, 首先使用者說出語音命令是需要時間的, 而且語速快的人和語速慢的人說同樣的命令花的時間不同; 另外語音識別引擎成功識別一個語音命令也需要一個時間。所以語音控制鼠標(biāo)在控制過程中必然存在延時。因此從開始發(fā)出語音命令到動作被執(zhí)行, 光標(biāo)必然會有位置的誤差: △S=V×△t ( △S 為位置誤差, V 為鼠標(biāo)移動速度, △t 為說話和識別造成的延時)。

Sear 等人曾經(jīng)研究用一個虛擬鼠標(biāo)機(jī)制來解決延時誤差問題, 即在真實(shí)的鼠標(biāo)移動前虛設(shè)一個鼠標(biāo), 當(dāng)假鼠標(biāo)到達(dá)目標(biāo)時發(fā)出語音命令, 執(zhí)行的時候真鼠標(biāo)正好到達(dá)目標(biāo)處。但是他們的試驗(yàn)結(jié)果并不理想。因?yàn)槊總€人說話的習(xí)慣和速度是不一樣的, 而且不同的狀態(tài)下的語速也不同, 因此延時△t 不是一定的, 所以每次的位置誤差△S 也不盡相同, 而一種固定距離的先導(dǎo)虛擬鼠標(biāo)并不能取得很好的效果。

5 一種改進(jìn)方法

影響位置控制效果的因素和目標(biāo)的大小、移動速度和延時有關(guān)。能夠改變的是速度控制, 所以本文采取一種方案改進(jìn)位置控制精度。改進(jìn)后的語音控制鼠標(biāo)每次的位置誤差△S 明顯減小, 在目標(biāo)較小的情況下, 位置控制精度得到提高。

改進(jìn)方法是在程序中增加對鼠標(biāo)的速度控制: 在目標(biāo)較小的情況下, 光標(biāo)先以正常速度V1 移動, 到達(dá)目標(biāo)附近時先進(jìn)行減速控制, 用語音命令"慢"來控制鼠標(biāo)減低移動速度到V2( 實(shí)際設(shè)計(jì)中V2=1/3 V1) ,到達(dá)目標(biāo)后再用語音命令"停"停止鼠標(biāo)移動, 圖3 反映了這個過程中光標(biāo)速度的變化。這樣在延時時間不變, 由于光標(biāo)移動速度V 降低很多, 由△S=V×△t 知道位置誤差△S 也減小很多。

 

 

圖3 速度可控制的語音控制光標(biāo)移動速度變化示意圖

而在目標(biāo)比較大的情況下, 因?yàn)槲恢每刂凭茸銐颍?可以不選擇"慢"命令控制直接進(jìn)行"停"控制。

結(jié)語

本文研究語音控制鼠標(biāo)的應(yīng)用程序, 實(shí)現(xiàn)了對鼠標(biāo)基本的語音控制, 針對語音控制中因?yàn)檠訒r而產(chǎn)生的位置控制誤差做了分析和改進(jìn)。本文研究的內(nèi)容對于開發(fā)輔助不便使用鼠標(biāo)及鍵盤的傷殘人士使用計(jì)算機(jī)的交互工具有積極的意義。

試驗(yàn)表明用本程序控制鼠標(biāo)移動、點(diǎn)擊等可實(shí)現(xiàn)瀏覽網(wǎng)頁、打開、關(guān)閉程序等電腦操作。但是由于控制鼠標(biāo)過程中要多次發(fā)出語音命令, 同時要集中注意力觀察光標(biāo)的位置, 所以也存在用戶容易疲勞的問題。

后續(xù)將對改進(jìn)語音控制鼠標(biāo)使用舒適情況和提高控制效率等做進(jìn)一步研究。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

一個離線語音識別中心,沒有網(wǎng)絡(luò)連接,沒有無線路由器。只要一對運(yùn)行ESPNOW協(xié)議的ESP8266。這就是我想要的房間。這些設(shè)備既可以通過按開關(guān)控制,也可以通過聲音控制。像alexa這樣的中央集線器可以響應(yīng)你的命令。這篇文...

關(guān)鍵字: ESP8266 語音識別 傳感器 固態(tài)繼電器

北京2025年2月24日 /美通社/ -- 在近日揭曉的STIF第五屆國際科創(chuàng)節(jié)暨2024新質(zhì)生產(chǎn)力領(lǐng)航者峰會獎項(xiàng)評選中,安聯(lián)世合中國憑借其卓越的創(chuàng)新實(shí)踐與行業(yè)領(lǐng)導(dǎo)力,榮膺&...

關(guān)鍵字: 人工智能 語音識別 大數(shù)據(jù) 智能語音

隨著人口老齡化程度加深,社會養(yǎng)老負(fù)擔(dān)加重,處理好全社會的養(yǎng)老問題十分重要。在全球范圍內(nèi),老人身體健康受到許多致命疾病的威脅。而獨(dú)居老人生活中缺少家人照顧,心理上缺少慰藉,導(dǎo)致患病率更高,同時發(fā)生意外也無法及時得到救助。面...

關(guān)鍵字: 獨(dú)居老人 語音識別 姿態(tài)檢測 智能家居

隨著人工智能技術(shù)的快速發(fā)展,智能音箱已經(jīng)成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠帧K鼈兺ㄟ^語音識別技術(shù),實(shí)現(xiàn)了人機(jī)交互的便捷性,使得用戶可以通過語音指令控制家居設(shè)備、查詢信息、播放音樂等。然而,語音識別技術(shù)的準(zhǔn)確性和實(shí)時性仍然...

關(guān)鍵字: 智能音箱 語音識別

“Ok 谷歌做我的家庭作業(yè)”——如果這個命令有效,我們的童年將會很簡單,不是嗎?但是有些事情是要我們自己來做的,當(dāng)然,我們不會設(shè)計(jì)一些東西來幫你完成作業(yè)。然而,我們都承認(rèn)用語音指令做事很有趣!!這就是為什么我們已經(jīng)建立了...

關(guān)鍵字: 語音識別 樹莓派 自動化 Arduino

隨著人工智能技術(shù)的快速發(fā)展,語音識別作為其中的一項(xiàng)重要技術(shù),正逐漸在各個領(lǐng)域展現(xiàn)出巨大的潛力和應(yīng)用前景。語音識別技術(shù)能夠?qū)⑷祟惖恼Z音信息轉(zhuǎn)換為文本,為智能家居、智能助手等領(lǐng)域帶來了智能化、便捷化的體驗(yàn)。

關(guān)鍵字: 人工智能 語音 語音識別

在現(xiàn)代機(jī)器人技術(shù)的發(fā)展中,語音AI芯片是實(shí)現(xiàn)高級人機(jī)交互的關(guān)鍵組件之一。這種芯片不僅使機(jī)器人能夠接收和解析語音指令,而且能夠使機(jī)器人理解和響應(yīng)人類語言的復(fù)雜性,這在提高機(jī)器人的功能性和互動性方面起著至關(guān)重要的作用。

關(guān)鍵字: 端側(cè)AI 語音識別 啟英泰倫 松山湖論壇 CI135X

本文中,小編將對語音識別技術(shù)予以介紹,如果你想對語音識別技術(shù)的詳細(xì)情況有所認(rèn)識,或者想要增進(jìn)對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 語音識別 語音識別技術(shù)

在這篇文章中,小編將為大家?guī)碚Z音識別技術(shù)的相關(guān)報(bào)道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 語音識別 語音識別技術(shù)
關(guān)閉