用于用声音控制计算机用户界面的方法和装置转让专利

申请号 : CN200610143747.8

文献号 : CN1959629B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 纳尔逊·拉米雷斯

申请人 : 纽奥斯通讯有限公司

摘要 :

一种用声音控制计算机用户界面的方法,包括:定义音频范围;将每个范围与用户界面命令相关联;从用户接收表示用来执行用户界面命令的指令的声音作为输入,该声音由频率和能量谱表征;依据频率和能量谱、所定义的音频范围以及与范围相关联的用户界面命令来识别将要执行的用户界面命令;并且执行识别出的命令。

权利要求 :

1.一种用于用声音控制计算机用户界面的方法,所述方法包括:定义音频范围;

将每个范围与用户界面命令相关联;

从用户接收表示用来执行用户界面命令的指令的声音作为输入,所述声音由频率和能量谱表征;

依据所述频率和能量谱、所述定义的音频范围以及与所述范围相关联的所述用户界面命令来识别将要执行的用户界面命令;并且执行所述识别出的用户界面命令,以便移动用户界面指针,其中所述执行所述识别出的用户界面命令包括:识别在所述接收的声音的频率和能量谱中具有最高能量的频率的频率值;

识别在所述接收的声音的频率和能量谱中具有最高能量的所述频率的能量的能量值;

以及

基于所述频率值和所述能量值来确定所述用户界面指针的移动的速度和方向,进一步包括:将具有最高能量的所述频率的所述能量映射到表示所述用户界面指针的移动的向量幅度,所述向量由表示所述用户界面指针的移动速度的向量幅度和表示所述用户界面指针的移动方向的向量角来表征;并且将所述接收的声音的频率和能量谱中具有最高能量的所述频率映射到所述向量角。

2.如权利要求1所述的方法,其中与所述定义的音频范围相关联的用户界面命令包括鼠标点击和移动所述用户界面指针的命令。

3.如权利要求1所述的方法,其中识别所述命令还包括:识别在所述接收的声音的频率和能量谱中具有最高能量的频率;并且识别所述定义的音频范围中包含所述接收的声音的频率和能量谱中具有最高能量的所述频率的一个范围。

4.如权利要求1所述的方法,还包括:

依据在所述接收的声音的频率和能量谱中的频率和能量来移动所述用户界面指针。

5.如权利要求1所述的方法,其中执行所述命令还包括:将所述向量分解为表示在x轴上指针移动的速度以及在y轴上指针移动的速度的笛卡尔分量;并且依据所述笛卡尔分量的值计算指针位置的变化。

6.如权利要求1所述的方法,其中将所述接收的声音的频率和能量谱中具有最高能量的所述频率的所述能量映射到向量幅度还包括根据映射函数将所述能量映射为变量。

7.如权利要求1所述的方法,其中将所述接收的声音的频率和能量谱中具有最高能量的所述频率的所述能量映射到所述向量幅度还包括,将所述能量映射到固定的配置参数。

8.一种用于用声音控制计算机用户界面的装置,所述装置包括:用于定义音频范围的装置;

用于将每个范围与用户界面命令相关联的装置;

用于从用户接收表示用来执行用户界面命令的指令的声音作为输入的装置,所述声音由频率和能量谱表征;

用于依据所述频率和能量谱、所述定义的音频范围以及与所述范围相关联的所述用户界面命令来识别将要执行的用户界面命令的装置;以及用于执行所述识别出的用户界面命令以便移动用户界面指针的装置,其中所述用于执行的装置包括:用于识别在所述接收的声音的频率和能量谱中具有最高能量的频率的频率值的装置;

用于识别在所述接收的声音的频率和能量谱中具有最高能量的所述频率的能量的能量值的装置;以及用于基于所述频率值和所述能量值来确定所述用户界面指针的移动的速度和方向的装置,进一步包括:用于将具有最高能量的所述频率的所述能量映射到表示所述用户界面指针的移动的向量幅度的装置,所述向量由表示所述用户界面指针的移动速度的向量幅度和表示所述用户界面指针的移动方向的向量角来表征;以及用于将所述接收的声音的频率和能量谱中具有最高能量的所述频率映射到所述向量角的装置。

9.如权利要求8所述的装置,其中所述识别装置还包括:用于识别在所述接收的声音的频率和能量谱中具有最高能量的频率的装置;以及用于识别所述定义的音频范围中包含所述接收的声音的频率和能量谱中具有最高能量的所述频率的一个范围的装置。

10.如权利要求8所述的装置,其中所述执行装置还包括:用于将所述向量分解为表示在x轴上指针移动的速度以及在y轴上指针移动的速度的笛卡尔分量的装置;以及用于依据所述笛卡尔分量的值计算指针位置的变化的装置。

说明书 :

用于用声音控制计算机用户界面的方法和装置

技术领域

[0001] 本发明的领域是数据处理,或者,尤其是用于用声音控制计算机用户界面的方法、装置及产品。

背景技术

[0002] 1948年EDVAC计算机系统的研制通常被引证为计算机时代的开端。从那时起,计算机系统已经发展成极其复杂的设备。现今的计算机比诸如EDVAC之类的早期的系统复杂得多。计算机系统通常包括硬件组件和软件组件的组合,即应用程序、操作系统、处理器、总线、存储器、输入/输出设备等等。随着半导体处理和计算机体系结构的进步推动着计算机的性能变得越来越高,更复杂的计算机软件已经发展到利用硬件的更高的性能,从而现今的计算机系统比仅仅几年前的计算机系统强大得多。
[0003] 在近些年得到发展的计算机技术的领域之一是输入/输出或I/O。在二十世纪七十年代,主要的I/O设备是穿孔卡片、纸带和电传打字机终端;具有显示屏的远程终端很稀少,并且它们的显示主要是文本的,极少是图形的。现今的图形用户界面(‘GUI’)很普遍,可以通过鼠标、滚动球、触摸屏、文本-语音转换器等等来操作。然而,大多数计算机I/O技术,特别是在输入侧,仍旧需要一些手动的界面操作。这样,实际上,通常发现反复地将手从键盘移到鼠标并且再移回键盘是一种负担。因此,越来越需要在对计算机用户界面的控制方面进行改进。

发明内容

[0004] 本发明公开了支持改进的无须手动的计算机用户界面操作的方法、装置和计算机程序产品。更特别地,本发明公开了用于用声音控制计算机用户界面的方法、装置和计算机程序产品,所述用声音控制计算机用户界面包括:定义音频范围;将每个范围与用户界面命令相关联;从用户接收表示用来执行用户界面命令的指令的声音作为输入,该声音由频率和能量谱表征;依据频率和能量谱、所定义的音频范围以及与范围相关联的用户界面命令来识别将要执行的用户界面命令;并且执行识别出的命令。
[0005] 根据下面对附图中所示的本发明的示例性实施例的更详细的描述,本发明的前述和其他目的、特征和优点将变得明显,其中在附图中,相同的参考标号通常表示本发明的示例性实施例的相似部分。

附图说明

[0006] 图1阐明了一个说明根据本发明的实施例的用于用声音控制计算机用户界面的示例性系统的系统图。
[0007] 图2阐明了一个包括可用于根据本发明的实施例用声音控制计算机用户界面的示例性计算机的自动计算机器的框图。
[0008] 图3阐明了一个根据本发明的实施例的用于用声音控制计算机用户界面的另一个计算机系统的框图。
[0009] 图4阐明了一个说明根据本发明的实施例的用于用声音控制计算机用户界面的示例性方法的流程图。
[0010] 图5阐明了一个示例性音频接口配置工具的GUI显示的线图,根据本发明的实施例,该音频接口配置工具支持定义音频范围以及将用户界面命令与这些范围相关联。
[0011] 图6A描述了电子音频模拟信号的音频波形,该电子音频模拟信号由从传声器的声音到具有在大约20赫兹和20,000赫兹之间的音频范围内的频率分量的电子信号的音频信号转换产生。
[0012] 图6B描述了在波形采样、从模拟形式到数字形式的波形转换、以及从时域到频域的变换之后的同一音频波形。
[0013] 图6C将该音频波形表示为数据结构中的值。
[0014] 图7阐明了一个说明用于执行移动用户界面指针的用户界面命令的示例性方法的流程图。
[0015] 图8阐明了可用于在根据本发明的实施例的用声音控制计算机用户界面的系统中表示用户界面指针移动的示例性向量的线图。
[0016] 图9A阐明了说明接收谱中具有最高能量的频率的能量到向量幅度的两种映射的示图。
[0017] 图9B阐明了说明接收谱中具有最高能量的频率到向量幅度的两种映射的示图。

具体实施方式

[0018] 参考附图,从图1开始,描述了根据本发明的实施例的用于用声音控制计算机用户界面的示例性的方法、装置和产品。图1阐明了一个说明根据本发明的实施例的用于用声音控制计算机用户界面的示例性系统的系统图。图1的系统包括通过传声器电缆108连接到计算机110的传声器106。图1的系统还包括计算机鼠标101、键盘103和显示图形用户界面或‘GUI’132的显示屏。在该实例中,传声器106、鼠标101、键盘103、具有GUI 132的显示屏一起构成了根据本发明的实施例的可用声音控制的计算机用户界面。
[0019] 图1的系统包括被改进为根据本发明的实施例用声音控制其用户界面的个人计算机110。更特别地,通常用附加的计算机程序指令或计算机硬件来改进计算机110,以便根据本发明的实施例,通过定义音频范围、将每个范围与用户界面命令相关联、并从用户102接收表示用来执行用户界面命令的指令的声音104作为输入,其中该声音由频率和能量谱表征,来实现用声音控制其计算机用户界面。对计算机110进行编程,以便依据频率和能量谱、所定义的音频范围以及与范围相关联的用户界面命令来识别将要执行的用户界面命令。并且然后计算机110执行识别出的命令。
[0020] 这样识别及执行的用户界面命令可以是用户通过使用计算机用户界面的任何方面来指示计算机执行的任何命令。例如,这样的命令可以包括与按压鼠标按钮、松开鼠标按钮、按压并松开(‘点击’)鼠标按钮、移动鼠标、拖曳鼠标以及旋转鼠标滚轮相关联的命令。例如,这样的命令可以包括传统上由文本输入、功能键、移动键、页上移、页下移、起始、结束、上箭头、下箭头、数字小键盘按键等等键盘按键发出的命令。例如,这样的命令可以包括通常由诸如控制键-s、控制键-p、控制键-f、控制键-a、和控制键-z之类的多个键同时(‘组合’)发出的命令。
[0021] 图1还示出了放大的GUI视图122。在图1的实例中,用户界面,包括GUI,为示例性的软件应用程序提供界面,更特别地,在图1的实例中为浏览器提供界面。
[0022] 如在浏览器显示的标题栏130中所示,图1的浏览器如图示已经被操作为指向名为“someSearchEngine.com”的网站。图1的浏览器还包括水平菜单134,其包含名为文件、编辑、查看、收藏(在某些浏览器上称为‘书签’)、工具、和帮助的菜单项。图1的浏览器包括具有后退按钮、前进按钮和用于刷新显示、通过电子邮件发送显示的链接、打印显示以及返回到浏览器中配置的主页的按钮的GUI工具栏136。图1的示例性浏览器还包括用于浏览器导航的地址栏137。
[0023] 通过使用文本输入区125和搜索按钮126,图1的浏览器已经被操作为向someSearchEngine.com提交查询‘austin music festival’。在浏览器屏幕上显示了几个搜索结果138、140、142。每个搜索结果包括锚记、来自链接到搜索结果的网站的一些示例文本、和将搜索结果链接到网页的URL(统一资源定位符)。‘锚记’是每个搜索结果的突出(这里是加下划线的)部分144、146、148,其表示到由每个搜索结果中的URL所标识的另一个网页的链接。在搜索结果138中,例如,锚记是“Austin City Limits-2004 Festival”,示例文本是“...allof you for proving again that Austin is one of the greatest musiccities...”,并且URL是“www.aclfestival.com/”。
[0024] GUI 122还包括通过操作诸如滚动球、鼠标、或者压控板或压控屏之类的物理指针工具可在显示器上移动的指针124。在该实例中,鼠标101驱动指针124。因此,在该实例中,有时将指针124称为‘鼠标指针’,并且可以将指针124的移动称为‘鼠标移动’。
[0025] 可以操作所示的浏览器GUI 122以实现下面的示例性用户界面命令:
[0026] ·鼠标移动到菜单134中的条目上并且鼠标点击菜单134中的条目表示用来激活文件、编辑、查看等等菜单项的用户界面命令。
[0027] ·鼠标移动到工具栏136的按钮上并且鼠标点击工具栏136的按钮表示用来激活由后退、前进、刷新等等按钮表示的浏览器功能的用户界面命令。
[0028] ·在文本输入区125打入文本,随后鼠标移动到搜索按钮126上并且鼠标点击搜索按钮126表示向someSearchEngine.com提交查询的用户界面命令。
[0029] ·鼠标移动到搜索结果138、140、142的锚记144、146、148上并且鼠标点击搜索结果138、140、142的锚记144、146、148表示给浏览器的用来获取并显示通过锚记链接的网页的用户界面命令。
[0030] ·鼠标拖曳垂直滑动条128表示用来滚动GUI并显示更多搜索结果的用户界面命令。
[0031] 另外,如此处说明并描述的计算机110的用户界面也可以能够根据本发明的实施例用声音进行控制,因此通过将音频范围与用户界面命令相关联,从用户102接收表示用来执行用户界面命令的指令的声音104作为输入,其中所述声音由频率和能量谱表征,依据频率和能量谱、所定义的音频范围以及与范围相关联的用户界面命令来识别用户界面命令,并且执行识别出的命令,可以实现上面描述的用户界面命令以及本领域的普通技术人员将想到的其他用户界面命令。即,用户可以通过吹口哨、哼唱、唱歌或吹竖笛(clarinet)在计算机110上实现上面描述的种类的用户界面命令。
[0032] 通常用计算机,即用自动计算机器实现根据本发明的实施例用声音控制计算机用户界面。因此,为了进一步解释,图2阐明了一个包括可用于根据本发明的实施例用声音控制计算机用户界面的示例性计算机152的自动计算机器的框图。图2的计算机152包括至少一个计算机处理器156或‘CPU’,以及随机存取存储器168(‘RAM’),其通过系统总线160连接到处理器156和计算机的其他组件。
[0033] 存储在RAM 168中的有音频接口模块112,即用于根据本发明的实施例,通过从用户接收表示用来执行用户界面命令的指令的声音作为输入,依据频率和能量谱、所定义的音频范围以及与范围相关联的用户界面命令来识别将要执行的用户界面命令,并且执行识别出的命令,来用声音控制计算机用户界面的计算机程序指令。存储在RAM中的还有音频接口配置工具602,即实现用于定义音频范围及将每个范围与用户界面命令相关联的GUI工具的计算机程序指令模块。存储在RAM中的还有表示与用户界面命令相关联的音频范围的数据312。
[0034] 存储在RAM 168中的还有应用程序190,其是用于用户级数据处理的计算机程序指令。应用程序190能通过生成用于显示的用户界面事件,例如,通过GUI在视频屏幕上生成,并且通过接收来自操作系统154的用户界面事件的通知,来操作用户界面。
[0035] 存储在RAM 168中的还有操作系统154。可用于根据本发明的实施例的计算机中的操作系统包括UNIXTM,LinuxTM,Microsoft XPTM,AIXTM,IBM的i5/OSTM,以及本领域普通技术人员将想到的其他操作系统。在图2的实例中,操作系统154、应用程序190、音频接口模块112、音频接口配置工具602和表示与用户界面命令相关联的音频范围的数据312示出在RAM 168中,但许多这样的软件组件和计算机数据也可以存储在非易失性存储器166中。
[0036] 图2的计算机152包括非易失性计算机存储器166,其通过系统总线160耦合到处理器156和计算机152的其他组件。非易失性计算机存储器166可以实现为硬盘驱动器170、光盘驱动器172、电可擦可编程只读存储器空间(所谓的‘EEPROM’或‘闪速’存储器)174,或本领域普通技术人员将想到的任何其他类型的非易失性计算机存储器。
[0037] 图2的实例计算机152包括一个或多个输入/输出接口适配器178。计算机中的输入/输出接口适配器通过例如用于控制到诸如计算机显示屏之类的显示设备180的输出以及来自诸如键盘、鼠标和传声器之类的用户输入设备181的用户输入的软件驱动和计算机硬件,来实现面向用户的输入/输出。
[0038] 图2的示例性计算机152包括用于实现与其他计算机182的数据通信184的通信适配器167。可以通过RS-232连接、通过诸如USB之类的外部总线、通过诸如IP网之类的数据通信网以及以本领域普通技术人员将想到的其他方式来串行地执行这样的数据通信。通信适配器实现数据通信的硬件级,通过它,一台计算机直接地或通过网络向另一台计算机发送数据通信。根据本发明的实施例,用于确定目标的可用性的通信适配器的实例包括用于有线拨号通信的调制解调器、用于有线网通信的以太网(IEEE 802.3)适配器和用于无线网通信的802.11b适配器。
[0039] 为了进一步解释,图3阐明了一个根据本发明的实施例的用于用声音控制计算机用户界面的另一个计算机系统152的框图。在图3的实例中,应用程序220、222、224向操作系统154注册为鼠标接收器210和键盘接收器212。通过鼠标驱动155和键盘驱动204,将由操作系统154检测到的鼠标事件209和键盘事件211提供给应用程序220、222、224。然而,图3的系统不包含鼠标和键盘。作为替代,由被编程为根据本发明的实施例用声音控制计算机用户界面的音频接口模块来提供传统上从鼠标或键盘输出的驱动信号354、356。
[0040] 图3的系统说明了根据本发明的实施例的用于用声音控制计算机用户界面的系统的备选的体系结构方面。在一个体系结构方面,传声器206将来自用户103的声音转换成电子模拟音频信号352。通过由模-数转换器187将信号从模拟形式转换到数字形式的声卡216,向音频接口模块112提供音频信号,因此提供给音频接口模块112的音频信号是数字形式的。音频接口模块112进一步处理音频信号,将该信号从时域变换到频域,选择该信号具有最大能量的频率分量,从与用户界面命令相关联的音频范围312识别包含该具有最大能量的频率分量的范围,从而识别由来自用户的声音表示的用户界面命令,并且通过向驱动155、204提供表示该命令的驱动信号356来执行该命令。从驱动155、204的观点来看,由驱动程序驱动接收的驱动信号是与原本从实际的鼠标或键盘接收的相同的信号。
[0041] 在根据本发明的实施例用声音控制计算机用户界面的另一个体系结构方面,在图3的系统中,传声器106配备有嵌入式系统,该嵌入式系统的输出是被直接提供给驱动155、
204的驱动信号354,驱动155、204将驱动信号看作就好像它们是从实际的鼠标或键盘接收的。嵌入式系统是专用计算机系统,其完全被它控制的设备所封装。和通用个人计算机不同,嵌入式系统具有特定的需求并实现预定义的任务。嵌入式系统是编程的硬件设备。可编程硬件芯片是嵌入式系统的原材料,并且嵌入式系统编程有特定的应用。可以通过与更多的具有通用硬件和外部加载的软件的通用计算机进行比较来理解这一点。嵌入式系统是便于大规模生产和多种应用的软件和硬件的组合。
[0042] 在图3的系统的第二体系结构方面,传声器106配备有嵌入式系统,该嵌入式系统包括模-数转换器、音频接口模块、与用户界面命令相关联的音频范围以及音频接口配置工具。通过传声器106,嵌入式系统203将来自用户102的声音转换成电子模拟音频信号,将该信号转换成数字形式,将该信号从时域变换到频域,选择该信号中具有最大能量的频率分量,从与用户界面命令相关联的音频范围识别包括该具有最大能量的频率分量的范围,从而识别由来自用户的声音表示的用户界面命令,并且通过向驱动155、204提供表示该命令的驱动信号354来执行该命令。再次,从驱动155、204的观点来看,由驱动接收的驱动信号是与原本从实际的鼠标或键盘接收的相同的信号。
[0043] 图3的系统的体系结构方面是提供作为本发明的解释性的实例,而不是作为限制。本领域的普通技术人员将想到用于用声音控制用户界面的其他系统体系结构,并且所有这样的体系结构都在本发明的范围之内。
[0044] 为了进一步解释,图4阐明了一个说明根据本发明的实施例的用于用声音控制计算机用户界面的示例性方法的流程图,其包括定义302音频范围304以及将每个音频范围与用户界面命令相关联306。可以在数据结构中,例如图4中的表309中,将定义的音频范围304与用户界面命令相关联。表309通过用于范围开始的以赫兹表示值的列303和用于范围结束的以赫兹为单位表示值的列305来定义音频范围。表309通过用于用户界面命令的列307将定义的音频范围与用户界面命令相关联,其中用户界面命令的值是点击左鼠标、点击右鼠标、移动鼠标等等用户界面命令的文本标识符。表309的每条纪录将音频范围与用户界面命令相关联。
[0045] 可用于图4的实例以及用于本发明的各个实施例的用户界面命令包括鼠标命令,例如按压按钮、松开按钮、按压并松开(‘点击’)按钮、移动鼠标、拖曳鼠标以及旋转鼠标滚轮。用户界面命令还包括键盘命令。使用单个键的命令包括按字母键;按移动键,例如上箭头、下箭头、左箭头、右箭头、页上移、页下移、和起始;以及按功能键。同时使用多个键(‘组合’)的命令包括按控制键-s、控制键-p、控制键-f、控制键-a、和控制键-z。本领域的普通技术人员将想到可用于用声音控制计算机用户界面的其他用户界面命令,并且所有这样的命令在用于用声音控制计算机用户界面的方法和系统中的使用都在本发明的范围之内。
[0046] 参考图5,进一步解释定义302音频范围304以及将每个音频范围与用户界面命令相关联306。图5阐明了一个示例性音频接口配置工具602的GUI显示的线图,根据本发明的实施例,该音频接口配置工具支持定义音频范围以及将用户界面命令与这些范围相关联。该音频接口配置工具602显示用来描述将音频范围与用户界面命令相关联的数据的文本框604、用于每个范围开始的以赫兹为单位的列620、用于每个范围结束的以赫兹为单位的列622、以及用于针对每个相关联的用户界面命令的标识符的列624。例如,显示在文本框604的数据可以从例如图4中参考符号309说明的表格得到或显示。
[0047] 文本框604包括处于用户编辑中的行606。用户选择以前存在的数据行来编辑,并接着通过鼠标点击音频接口配置工具的编辑按钮608来操作音频接口配置工具,或者用户通过鼠标点击工具的添加按钮610创建新的数据行。然后用户键入值780赫兹作为音频范围的开始以及840赫兹作为该范围的结束。这些值表示从780赫兹延伸到840赫兹的频率范围。处于编辑中的行606的第三列显示了一个组合框614。当用户通过点击位于组合框右边的下键头来激活组合框614时,组合框呈现用户界面命令的列表。用户可以通过点击命令来从该列表选择一个命令,从而为处于编辑中的行完成数据项,从而将所选择的用户界面命令与所定义的音频范围相关联。
[0048] 再次参考图4:图4的方法包括从用户308接收314表示用来执行用户界面命令的指令的声音作为输入,该声音由频率和能量谱316表征。参考图6A、6B、和6C,进一步解释由频率和能量谱表征的声音。图6A描述了电子音频模拟信号的音频波形360,该电子音频模拟信号由从传声器的声音到具有在大约20赫兹和20,000赫兹之间的音频范围内的频率分量的电子信号的音频信号转换产生。图6A通过以伏特为单位的音频波形的幅度来表示音频波形,该音频波形的幅度是以秒为单位度量的时间的函数。
[0049] 图6B描述了在波形取样、从模拟形式到数字形式的波形转换以及从时域到频域变换之后的同一音频波形。图6B将该音频波形表示为以赫兹为单位度量的它的组成频率的以焦耳为单位度量的能量。这种按照波形的组成频率和它们的能量的波形表示有时称为‘功率谱’362或‘谱功率分布’。通过使用快速傅立叶变换(‘FFT’),Z变换、离散余弦变换(‘DCT’)、离散正弦变换(‘DST’)、离散哈特利变换(‘DHT’),以及通过使用本领域的普通技术人员将想到的其他变换(使用任何变换都是在本发明的范围之内),在根据本发明的实施例的用于用声音控制计算机用户界面的系统中,音频接口模块(图2和3上的112)可以将模拟波形的数字化形式从时域变换到频域。
[0050] 如所说明的,图6B描述了具有基频440赫兹(中D上的A)以及若干谐波或泛音的组合的音频信号,该若干谐波或泛音的组合表征了衍生出该音频信号的声音。泛音的频率和能量给出了原始声音的特征,它听起来是否像口哨、语音、竖笛或喇叭。因为基调即第一调谐波通常具有最大的能量,因此本发明的实施例通常聚焦在那。
[0051] 图6C描述了经过取样、模-数转换和从时域变换到频域之后的同一音频波形。然而,图6C不是以图形方式表示波形,而是将音频波形表示为数据结构中的值,在该实例中是在表364中的功率谱,该表364具有用于组成频率的以焦耳为单位度量的能量的一列,同时组成频率示出在另一列中并且以赫兹为单位度量。
[0052] 进一步参考图4:图4的方法还包括依据频率和能量谱316、所定义的音频范围304以及与范围相关联的用户界面命令307来识别318将要执行的用户界面命令324。在图
4的方法中,识别318命令324进一步包括在接收谱中识别320具有最高能量的频率330,以及识别322所定义的音频范围304中包含接收谱中的具有最高能量的频率的一个范围。
[0053] 可以通过在功率谱表的记录中查找一个具有其能量列中的最高能量的记录来在接收谱中识别320具有最高能量的频率330,该功率谱表的纪录表示用于表示从用户接收的声音的波形的功率谱的能量和频率,即该功率谱是例如在图6C中参考符号364处说明的表。然后通过从该功率谱表的相同记录的频率列中读取频率,来在接收谱中识别320具有最高能量的频率330。
[0054] 在图4的方法中,识别318命令324进一步包括识别322所定义的音频范围304中包含接收谱中具有最高能量的频率的一个范围。可以通过在将音频范围与用户界面命令相关联的表中,例如图4的表309中,一个定义包括接收谱中具有最高能量的频率的频率范围的记录,来识别322定义的包含接收谱中具有最高能量的频率的音频范围328。然后通过读取这样查找到的记录的命令标识符307列中的值,来识别318命令324。
[0055] 图4的方法进一步包括执行326识别出的命令324。在图4的实例中,执行326识别出的用户界面命令324包括执行不涉及指针移动的用户界面命令405和执行依据接收谱中的频率和能量来移动指针的命令406。可以通过音频接口模块(图3上的112),例如通过向I/O驱动发送表示命令的驱动信号,其中如上面参考图3所描述的,该驱动依次向表示以各种方式实现命令的应用或其他软件模块的事件接收器注册I/O事件,来执行不涉及指针移动405的用户界面命令。下面参考图7进一步解释执行依据表示命令的声音的接收谱中的频率和能量来移动用户界面指针的命令406。
[0056] 为了进一步解释,例如,图7阐明了一个说明用于执行移动诸如鼠标指针之类的用户界面指针的用户界面命令的示例性方法的流程图。在图7的方法中,如下面更详细描述的,通过依据接收谱中的频率和能量移动用户界面指针,来执行移动用户界面指针的用户界面命令。图7的方法包括在表示用户界面命令(其在该实例中是移动用户界面指针的命令)的声音的频率和能量的接收谱中识别408具有最高能量的频率414,以及在接收谱中识别410具有最高能量的频率的能量416。如上面参考图4、5和6的描述,来实现在接收谱中识别408具有最高能量的频率414以及在该接收谱中识别410具有最高能量的频率的能量416。
[0057] 图7的方法还包括建立412表示用户界面指针的移动、速度和方向的向量418。在图7的实例中,由表示用户界面指针的移动方向的向量角421和表示用户界面指针的移动速度的向量幅度419来表征向量418。用幅度和角度表征的向量是被指定用于极坐标的向量。这样的向量也可以被指定用于直角坐标或笛卡尔坐标。参考图8,提供了这种向量的特性的进一步解释。
[0058] 为了进一步解释,图8阐明了可用于在根据本发明的实施例的用声音控制计算机用户界面的系统中表示用户界面指针移动的示例性向量802的线图。向量802在图8中表示为在极坐标角θ805方向上的幅度r 804。向量802也可以表示为直角或笛卡尔x-y分量(806、808)。给定极向量幅度r和角度θ,可以根据:x=r cos θ,y=r sin θ将向量的表示从极坐标表示转换或‘分解’为笛卡尔分量x、y。
[0059] 进一步参考图7:图7的方法包括将接收谱中具有最高能量的频率的能量416映射420为向量418的向量幅度419。在图7的方法中,作为替代,将接收谱中具有最高能量的频率的能量映射420为向量幅度可以包括将能量映射为固定的配置参数。即,可以用存储在例如非易失性存储器中的系统参数来配置用声音控制计算机用户界面的系统。系统参数可以是在系统的显示屏上的表示预定义的用户界面指针的移动速度的常量。例如,这样的参数可以具有表示等于每秒移动1/10显示屏宽度的常速度的值。在这种方式下,不管在接收谱中具有最高能量的频率的能级,在这样的系统中用户界面指针的移动速度都将是相同的。只要接收到与移动指针命令相关联的范围内的具有最高能级的频率的声音,不管声音的响度,指针都将以同样的速度移动。
[0060] 在图7的方法中,通过根据映射函数将能量416映射为变量,可以进一步将具有最高能量的频率的能量416映射420为向量幅度。在这种方式下,通过改变该谱中具有最高能量的频率中的能量,即通过改变接收到的用以控制计算机用户界面的声音的响度,可以改变由向量幅度表示的用户界面指针的速度。
[0061] 图9A阐明了说明接收谱中具有最高能量的频率的能量到向量幅度的两种映射902的示图。在图9A的图形中,相对以焦耳为单位表示的能量,绘制了以某种距离比时间的度量表示的用户界面指针的速度。该距离比时间的度量可以是,例如,像每秒几像素、每秒几英寸、每秒几厘米或本领域的普通技术人员将想到的用于用户界面指针速度的距离比时间的任何度量。这样绘制的能量是在声音的接收谱中具有最高能量的频率的能量,其中该声音表示用来移动用户界面指针的用户界面命令。图9A的映射包括通过线性函数904的映射和通过指数函数906的映射。
[0062] 通过线性函数的映射提供了这样一种能量到速度的映射,其中速度随接收到的用以控制用户界面指针的速度的声音的能量或响度线性地变化。当声音的响度发生某个响度变化时,不管能量或响度的绝对等级,速度都变化某个量。
[0063] 通过非线性指数函数的映射提供了这样一种能量到速度的映射,其中速度随接收到的用以控制用户界面指针的速度的声音的能量或响度非线性地变化。当声音的响度在能量或响度的低级别上发生某个响度变化时,速度变化某个相对小的量。当声音的响度在能量或响度的较高级别上发生某个响度变化时,速度改变某个相对较大的量,依此类推。从而提供了可用于至少某些应用的较细粒度的控制。
[0064] 图9A呈现了将接收谱中具有最高能量的频率的能量映射为向量幅度的两种方式,其用于解释,而不是用于限制本发明。实际上,本领域的普通技术人员将想到将接收谱中具有最高能量的频率的能量映射为向量幅度的其他方式,并且所有这样的方式都处在本申请的范围之内。
[0065] 进一步参考图7:图7的方法包括将接收谱中具有最高能量的频率414映射424到向量418中的向量角421。在图7的方法中,通过根据映射函数将频率414映射为变量,可以将接收谱中具有最高能量的频率414映射424到向量418中的向量角421。在这种方式下,通过改变在该谱中具有最高能量的频率,即,通过改变接收到的用以控制计算机用户界面的声音的整个音调,可以改变由向量角表示的用户界面指针的移动方向。图9B阐明了说明接收谱中具有最高能量的频率到向量幅度的两种映射908的示图。在图9B的图形中,相对以赫兹为单位表示的频率,绘制了以度表示的用户界面指针的移动方向。这样绘制的频率是在声音的接收谱中具有最高能量的频率,其中该声音表示用来移动用户界面指针的用户界面命令。
[0066] 图9B的映射包括通过线性函数910的映射和通过指数函数912的映射。通过线性函数的映射提供了这样一种频率到方向的映射,其中方向随接收到的用以控制用户界面指针的方向的声音的频率或音调线性地变化。当声音的频率发生某个频率变化时,不管指定的频率或涉及的频率,指针的移动方向都改变某个量。
[0067] 通过非线性指数函数的映射提供了这样一种频率到方向的映射,其中方向随接收到的用以控制用户界面指针的移动方向的声音的频率或音调非线性地变化。当声音的音调在与移动指针的命令相关联的频率范围内的低点处发生某个音调变化时,方向变化某个相对小的量。当声音的音调在与移动指针的命令相关联的频率范围内的较高点处发生某个音调变化时,方向变化某个相对较大的量,依此类推。从而提供了可用于至少某些应用的较细粒度的控制。
[0068] 图9B呈现了将接收谱中具有最高能量的频率映射为向量角的两种方式,其用于解释,而不是限制本发明。实际上,本领域的普通技术人员将想到将接收谱中具有最高能量的频率映射为向量角的其他方式,并且所有这样的方式都在本发明应用的范围之内。
[0069] 进一步参考图7:图7的方法的一个备选结论是将其幅度表示速度并且其角度表示方向的向量418提供给诸如图3中的鼠标驱动155之类的驱动提供。并不是所有的影响用户界面指针移动的驱动都接受表示速度和方向的驱动信号。许多这样的驱动只接受表示一连串指针位置即x-y坐标序列的驱动信号。因此,图7的方法包括可选的附加步骤,即将向量418分解426为表示在x轴上的指针移动速度以及在y轴上的指针移动速度的笛卡尔分量428。如上面参考图8的描述,来执行426将向量418分解为笛卡尔分量428。即,给定向量幅度r和角度θ,可以根据:x=r cos θ,y=r sinθ将向量从其极表示分解为笛卡尔分量x和y。
[0070] 这样计算的笛卡尔分量实际上是速率向量的分量。每个分量表示沿着一个轴的速度。对于只接受表示为一连串指针位置的驱动信号的驱动,需要向其提供x-y坐标序列以仿真指针移动的速度和方向。因此,图7的方法还提供了附加的可选步骤,即依据笛卡尔分量428也就是速度向量的笛卡尔分量的值来计算430指针位置的变化。通过用x-y坐标序列的元素间的时间间隔Δt乘以x值和y值,可以实现依据笛卡尔分量x和y 428的值来计算430指针位置的变化,即,根据下式来实现:
[0071] xn=sxΔt+xn-l,
[0072] yn=syΔt+yn-l,
[0073] 其中,xn是在当前时间间隔Δt的末端将提供给驱动的x坐标,sx是速率向量沿x轴的速度分量,xn-l是在前一时间间隔Δt的末端提供给驱动的x坐标,yn是在当前时间间隔Δt的末端将提供给驱动的y坐标,sy是速率向量沿y轴的的速度分量,并且yn-是在前一时间间隔Δt的末端提供给驱动的y坐标。
[0074] 鉴于上面阐述的解释,读者将认识到根据本发明的实施例的GUI移动控制除了指针移动以外,可以包括通过滚动条、鼠标滑轮、GUI按钮和本领域的普通技术人员将想到的其他控制实现的滚动。这样的滚动控制可以被实现例如在以类似于上述产生表示指针移动的向量的方式产生一个向量来表示滚动移动之后,取向量的幅度作为滚动移动的速度,并且因为滚动可以是水平的、竖直的或z空间的(例如,缩放),因此可以使用多个音频子范围来指定上、下、右、左、放大、缩小等等。根据本发明的实施例的用向量角表示移动方向以及用向量幅度表示移动速度的方法同样可被用于实现GUI的任何显示移动。
[0075] 主要在用于用声音控制计算机用户界面的全功能计算机系统的环境中描述了本发明的示例性实施例。然而,本领域的普通技术人员读者将认识到本发明也可以包含在配置在用于与任何适当的数据处理系统一起使用的信号携带介质上的计算机程序产品中。这样的信号携带介质可以是用于可机读信息的传输介质或可记录介质,包括磁介质、光介质或其他的适当介质。可记录介质的实例包括硬盘驱动器或软盘中的磁盘、用于光驱动器的光盘、磁带以及本领域的普通技术人员将想到的其他介质。例如,传输介质的实例包括用于语音通信的电话网和数字数据通信网,例如EthernetsTM和用互联网协议通信的网络以及万维网。本领域的普通技术人员将立即认识到具有合适的编程装置的任何计算机系统将能够执行包含在程序产品中的本发明的方法的步骤。本领域的普通技术人员将立即认识到尽管在本说明书中描述的一些示例性实施例是面向在计算机硬件上安装并执行的软件,不过,作为固件或作为硬件实现的备选实施例都在本发明的范围之内。
[0076] 根据上述描述应该理解,在不偏离本发明的真实本质的情况下可以对本发明的各个实施例进行修改和变更。本说明书中的描述只是为了说明的目的,并且不应解释为限制性的。本发明的范围只由下面的权利要求的语言来限制。