基于语音识别技术的声控鼠标光标设计
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 速度可控制的语音控制光标移动速度变化示意图
而在目标比较大的情况下, 因为位置控制精度足够, 可以不选择"慢"命令控制直接进行"停"控制。
结语
本文研究语音控制鼠标的应用程序, 实现了对鼠标基本的语音控制, 针对语音控制中因为延时而产生的位置控制误差做了分析和改进。本文研究的内容对于开发辅助不便使用鼠标及键盘的伤残人士使用计算机的交互工具有积极的意义。
试验表明用本程序控制鼠标移动、点击等可实现浏览网页、打开、关闭程序等电脑操作。但是由于控制鼠标过程中要多次发出语音命令, 同时要集中注意力观察光标的位置, 所以也存在用户容易疲劳的问题。
后续将对改进语音控制鼠标使用舒适情况和提高控制效率等做进一步研究。