好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于语音识别的声控鼠标的设计方法.docx

8页
  • 卖家[上传人]:86x****27
  • 文档编号:318625976
  • 上传时间:2022-06-27
  • 文档格式:DOCX
  • 文档大小:109.70KB
  • / 8 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 基于语音识别的声控鼠标的设计方法摘要: 实现了一种基于语音识别技术的声控鼠标光标应用程序, 可以用语音掌握鼠标光标移动到屏幕的任意位置, 能用来关心伤残人士只用声音而不用鼠标和键盘就能操作电脑分析了语音掌握鼠标光标使用过程中的延时缺陷, 并做出了针对性的改进 1 概述 电脑语音技术经过多年进展已经取得了巨大进步, 目前已经有一些产品和项目让人们有机会和计算机进行语音交互工作, 例如IBM公司的Viavoice 系列软件以及微软的新的Office 产品都有有用的语音功能, 可以进行语音听写录入文字等工作, 还消失了一些基于语音技术的应用系统 语音技术特殊是语音识别技术的进展, 使人们可能实现用语音掌握电脑, 这对于世界上众多不能便利使用传统的鼠标及键盘的伤残人士有重大的意义; 另外在一些场合不便利操作电脑但又必需使用的状况下同样很有意义, 比如驾驶的同时查询电子地图目前要真正掌握一台图形界面的电脑, 必需做到使用语音掌握也能像使用键盘和鼠标那样输入数据以及掌握光标因此一种有效的语音掌握光标程序, 也就是可以定位在屏幕的任意位置, 并且可以模拟单击、双击拖拽等各种鼠标动作的语音掌握程序, 对于实现语音掌握电脑将是一个很有意义的工具。

      本文利用微软的Speech SDK 5.1 的语音识别引擎和模拟鼠标技术, 用Delphi7.0 实现了一个语音掌握鼠标应用程序, 可以实现语音掌握鼠标移动、停止、单击等动作达到掌握屏幕光标的作用, 并对语音掌握鼠标程序中的延迟问题进行了分析, 提出并实现了一种改进方法 2 基于语音识别的光标掌握类型 目前有两种语音掌握鼠标的模式: 一种是目标导向光标掌握和方向导向光标掌握[n].对于前者, 用户需要用语音给出详细目标名称或者位置, 比如图标、菜单, 或者屏幕区域名称, 然后给出执行的命令如"单击"等, 这种方式对于单个软件还是有效的, 但是当目标增加的时候用户需要记忆许多目标的名称, 还可能消失同名称目标的状况, 因此工作中的错误率会增加另一种方向导向光标掌握又分为非连续掌握和连续掌握两种, 对于非连续的状况用户要同时说明方向和距离, 如命令"左8 厘米", 那么光标就向左移动8厘米; 而对于连续的状况用户先说明方向如"向左",光标就向左移动, 直到用户再说"停止", 光标才停止运动 本文争论的声控光标是属于方向导向中的连续掌握, 这种鼠标掌握和日常的使用习惯比较全都, 用户使用起来比较适应。

      3 实现 本文语音掌握光标程序的语音掌握是采纳微软的Speech SDK 5.1 的语音识别引擎及其API 接口, 这是一个的开发包, 并且可以用它开发具有中文语音功能的软件语音识别引擎通常可以分为两种工作方式, 一种就是命令掌握(Command and Control) 方式, 这个方式下语音识别引擎可以识别简短的语音命令, 以便执行相应的程序; 另外一种是连续听写方式,这个模式下语音识别引擎要识别连续的语音, 这种功能实现起来比语音掌握更简单, 由于语音听写过程中需要对上下文以及相同相像发音的词语进行分析、作出推断, 而在命令掌握语音方式中不需要作上下文分析本文采纳的是命令掌握方式, 由于实现语音掌握鼠标只需要对有限的几个简短的命令进行识别, 如"左"、"右"、"停"等图1 是语音掌握鼠标程序的结构图 图1 语音掌握鼠标程序结构 该应用程序主要包括两个部分: 部分语音掌握应用主程序部分, 主要调用语音识别引擎识别用户的语音命令 这部分程序主要完成几件工作: ①导入辞书文法文件(XML 格式, 其中定义感爱好的语音命令) , 完成对语音识别引擎接口的初始化工作, 激活语音识别引擎;②接收语音识别引擎的识别结果, 依据识别结果调用相应的鼠标掌握程序。

      下面的语法文件中定义了方向命令和鼠标大事命令的语法规章: //右移 2: x1:=x1- n1; //左移 3: y1:=y1+n1; //下移 4: y1:=y1- n1; //上移 end; windows.SetcursorPos(x1,y1); end; 鼠标的另一类掌握程序是模拟鼠标单击双击等鼠标大事, 主要是在程序中利用mouse_event 函数对鼠标大事进行模拟程序中以下代码模拟了鼠标左键单击: windows.mouse_event (MOUSEEVENTF_LEFTDOWN,0,0,0,0); // 左键按下 windows.mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); // 左键抬起 图2 是一个抱负状况下用本文程序实现语音掌握鼠标的例子光标初始位置在屏幕左下方, 目标矩形在屏幕右上区, 首先用户对麦克风发出"右"的命令, 光标就向右移动; 当光标到达目标下方的时候用户说"上"命令, 光标就改向上移动( 或者先说"停"命令, 光标停止) ; 当光标到达目标矩形, 用户说"停"命令, 光标停止, 用户说"单击", 程序模拟鼠标左键单击大事, 相当于目标矩形被单击。

      图2 一个语音掌握鼠标工作的例子 4 语音掌握鼠标的缺陷 虽然几个简洁的语音命令, 可以掌握鼠标移动到屏幕的任何位置, 并可以依据语音命令模拟单击、双击等各种鼠标大事, 但是实际使用中还存在缺陷 对于大的目标而言, 这种语音掌握鼠标掌握没有什么问题, 假如目标区域比较小, 将会增加使用者的难度, 比如当光标移动到矩形时喊"停", 光标会连续移动一小段才停, 这时间标可能已经越过了目标矩形这种状况和语音识掌握中存在的延时有关, 每次用户发出语音命令到命令被执行都有一个过程, 首先使用者说出语音命令是需要时间的, 而且语速快的人和语速慢的人说同样的命令花的时间不同; 另外语音识别引擎胜利识别一个语音命令也需要一个时间所以语音掌握鼠标在掌握过程中必定存在延时因此从开头发出语音命令到动作被执行, 光标必定会有位置的误差: △S=V×△t ( △S 为位置误差, V 为鼠标移动速度, △t 为说话和识别造成的延时) Sear 等人曾经讨论用一个虚拟鼠标机制来解决延时误差问题, 即在真实的鼠标移动前虚设一个鼠标, 当假鼠标到达目标时发出语音命令, 执行的时候真鼠标正好到达目标处。

      但是他们的试验结果并不抱负由于每个人说话的习惯和速度是不一样的, 而且不同的状态下的语速也不同, 因此延时△t 不是肯定的, 所以每次的位置误差△S 也不尽相同, 而一种固定距离的先导虚拟鼠标并不能取得很好的效果 5 一种改进方法 影响位置掌握效果的因素和目标的大小、移动速度和延时有关能够转变的是速度掌握, 所以本文实行一种方案改进位置掌握精度改进后的语音掌握鼠标每次的位置误差△S 明显减小, 在目标较小的状况下, 位置掌握精度得到提高 改进方法是在程序中增加对鼠标的速度掌握: 在目标较小的状况下, 光标先以正常速度V1 移动, 到达目标四周时先进行减速掌握, 用语音命令"慢"来掌握鼠标减低移动速度到V2( 实际设计中V2=1/3 V1) ,到达目标后再用语音命令"停"停止鼠标移动, 图3 反映了这个过程中光标速度的变化这样在延时时间不变, 由于光标移动速度V 降低许多, 由△S=V×△t 知道位置误差△S 也减小许多 图3 速度可掌握的语音掌握光标移动速度变化示意图 而在目标比较大的状况下, 由于位置掌握精度足够, 可以不选择"慢"命令掌握直接进行"停"掌握。

      结语 本文讨论语音掌握鼠标的应用程序, 实现了对鼠标基本的语音掌握, 针对语音掌握中由于延时而产生的位置掌握误差做了分析和改进本文讨论的内容对于开发帮助不便使用鼠标及键盘的伤残人士使用计算机的交互工具有乐观的意义 试验表明用本程序掌握鼠标移动、点击等可实现扫瞄网页、打开、关闭程序等电脑操作但是由于掌握鼠标过程中要多次发出语音命令, 同时要集中留意力观看光标的位置, 所以也存在用户简单疲惫的问题 后续将对改进语音掌握鼠标使用舒适状况和提高掌握效率等做进一步讨论 8Word版本。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.