当前位置:首页 > 智能硬件 > 人机界面
[导读]   摘要: 实现了一种基于语音识别技术的声控鼠标光标应用程序, 可以用语音控制鼠标光标移动到屏幕的任意位置, 能用来帮助伤残人士只用声音而不用鼠标和键盘就能操作电脑。分析了语音控制鼠标光标使用过

  摘要: 实现了一种基于语音识别技术的声控鼠标光标应用程序, 可以用语音控制鼠标光标移动到屏幕的任意位置, 能用来帮助伤残人士只用声音而不用鼠标和键盘就能操作电脑。分析了语音控制鼠标光标使用过程中的延时缺陷, 并做出了针对性的改进。

  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 格式, 其中定义感兴趣的语音命令) , 完成对语音识别引擎接口的初始化工作, 激活语音识别引擎;②接收语音识别引擎的识别结果, 根据识别结果调用相应的鼠标控制程序。

  下面的语法文件中定义了方向命令和鼠标事件命令的语法规则:

  <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=“colour”PROPID=“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”>关闭</p>

  </L>

  </RULE>

  </GRAMMAR>

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭