控制分布式音频输出以实现语音输出的制作方法

文档序号:16369996发布日期:2018-12-22 08:39阅读:439来源:国知局
控制分布式音频输出以实现语音输出的制作方法

本申请要求2016年2月12日以steventoddrabuchin等人的名义提交的标题为“processingspokencommandstocontroldistributedaudiooutputs”的美国临时专利申请序列号62/294,926的优先权。上述临时申请通过引用整体并入本文。本申请还要求2016年3月29日以robertwilliams等人的名义提交的标题为“processingspokencommandstocontroldistributedaudiooutputs”的美国专利申请序列号15/083,902的优先权。上述专利申请通过引用整体并入本文。

背景技术

随着台式机、平板电脑、娱乐系统、扬声器和便携式通信设备等计算设备的普及,家庭的线路和连接越来越多。随着这些计算设备的发展,已经引入了许多不同的方式以允许用户与计算设备进行交互,例如通过机械设备(例如,键盘、鼠标等)、触摸屏、运动和手势。与计算设备进行交互的另一种方式是通过诸如语音输入的自然语言输入。

附图说明

为了更完整地理解本公开,现在参考以下结合附图进行的描述。

图1示出了根据本公开的实施方案的用于配置输入和输出设备以及向输出设备发送音频的系统。

图2是根据本公开的实施方案的语音处理的概念图。

图3a-3b示出了根据本公开的实施方案的输入设备的示例。

图4a-4d示出了根据本公开的实施方案的生成输出音频的示例。

图5a-5h示出了根据本公开的实施方案的输入设备和输出设备的配置的示例。

图6示出了根据本公开的实施方案的主关联表的示例。

图7a-7d示出了根据本公开的实施方案的控制输出设备的示例。

图8a-8f示出了根据本公开的实施方案的用于生成和控制输出音频的设备之间的通信和操作。

图9a-9b示出了根据本公开的实施方案的被发送到扬声器的数据的示例。

图10a-10b示出了根据本公开的实施方案的设备之间的用于确定正在接收语音命令并降低对应输出音频的音量的通信和操作。

图11a-11c示出了根据本公开的实施方案的设备之间的用于确定向其发送命令的输出设备的通信和操作。

图12示出了根据本公开的实施方案的设备之间的经由扬声器控制器降低音量和输出语音数据的通信和操作。

图13示出了根据本公开的实施方案的设备之间的经由扬声器控制器降低音量并经由输入设备输出语音数据的通信和操作。

图14a-14c示出了根据本公开的实施方案的设备之间的用于确定何时语音输出完成的通信和操作。

图15示出了根据本公开的实施方案的设备之间的用于响应于查询的通信和操作。

图16是概念性地示出了根据本公开的实施方案的设备的示例部件的框图。

图17是概念性地示出了根据本公开的实施方案的服务器的示例部件的框图。

图18示出了与所述系统一起使用的计算机网络的示例。

具体实施方式

环境可以包括许多不同的娱乐系统,包括独立扬声器、有线扬声器、无线扬声器等。然而,不同的娱乐系统可能是分开的,因为不同的设备是彼此分开控制的。此外,还可以使用诸如按钮、触摸板等机械输入来控制设备。

在一些情况中,环境包括一个或多个设备,其被配置为从用户接收语音命令,并致使执行经由这些语音命令请求的操作。这种可以被称为“语音控制设备”的设备可以包括一个或多个麦克风,用于生成表示来自环境的声音(包括用户的语音命令)或者以其他方式与实施所述声音相关联的音频信号。语音控制设备还可以被配置为对音频信号执行自动语音辨识(asr),或可以被配置为向用于对音频信号执行asr的另一设备(例如,远程服务设备)提供音频信号。在语音控制设备或另一设备识别用户的语音命令之后,语音控制设备或其他设备可以尝试执行所请求的操作。

提供了一种系统,其使用语音控制设备来接收输入语音命令,并与环境中的其他设备(例如娱乐系统和/或扬声器)进行交互,并至少部分地控制这些其他设备。这样,用户可以向语音控制设备发出与这些其他设备有关的语音命令。例如,用户可以向语音控制设备发出“在客厅中播放一些滚石乐队的歌曲”语音命令。语音控制设备或另一设备可以对生成的音频信号执行asr,以识别命令(“播放一些滚石乐队的歌曲”)以及引用的设备(位于“客厅”的扬声器)。用户可能先前已经指示环境内的特定扬声器将与客厅相关联,且因此,语音控制设备或另一设备可以确定在哪个设备上“播放音乐”。因此,使用本文所描述的技术,用户能够使用语音命令,方便地同时与多个娱乐系统/扬声器进行交互。另外或替代地,所述系统可以响应于语音命令而将音频数据直接发送到多个娱乐系统/扬声器。

图1示出了系统100,其被配置为接收和执行口头命令以控制由扬声器20生成的输出音频30。如图1所示,系统100可以包括:在用户10本地的一个或多个设备110;以及一个或多个网络199和跨网络199连接到设备110的一个或多个服务器112。服务器112可以能够执行如本文所述的传统语音处理(诸如asr和nlu)。单个服务器112可以能够执行所有语音处理,或者多个服务器112可以组合以执行语音处理。另外,某些语音检测或命令执行功能可以由设备110执行。

服务器112可以被配置为识别输入设备(例如,设备110)、识别输出设备(例如,扬声器20、扬声器控制器22、设备110)、确定输出区域(例如,选择输出设备的一部分以共同控制)、识别输入设备/输出设备的位置和昵称和/或配置用户10的偏好。例如,服务器112可以确定用于与输出设备进行通信的接口,确定与输出设备相关联的网络地址,基于接近度,将输入设备与输出设备相关联(例如,将客厅中的设备110与位于客厅中的扬声器20相关联),将输出设备分组在首选区域中(例如,选择位于客厅中的扬声器20作为第一区域),等等。为了配置输入设备/输出设备,服务器112可以经由设备110接收口头输入(例如,输入音频11)和/或可以使用在本地设备(未示出)(例如,智能手机、计算机等)上运行的伴随应用程序来显示图形用户界面(gui),并可以经由本地设备接收输入。

服务器112可以被配置为执行某些命令,诸如用户10所说出的命令。例如,用户10可以指示设备110/服务器112从音频源40播放音频(例如,音乐、无线电台等)、增大或降低音频音量、静音、选择用于播放音频的扬声器20和/或区域等。此外,当设备110检测到输入音频11时,服务器112可能生成语音覆盖命令以降低音频音量。响应于这些命令,服务器112可以识别从其流式传输音频数据的音频源40、可以识别向其流式传输音频数据的输出设备(例如,扬声器20)、可以生成统一资源标识符(uri)(例如,统一资源定位符(url)等),用于将音频数据发送到输出设备和/或可以向输出设备发送命令。

所述系统可以包括扬声器20,其可以使用各种接口接收通信。例如,第一扬声器20a可以使用有线连接(例如,音频输出线等)或无线连接(例如,wifi、蓝牙等)与网络控制器22进行通信,第二扬声器20b可以使用有线连接或无线连接与设备110进行通信,第三扬声器20c可以经由网络199与服务器112进行通信。因此,服务器112可以经由设备110和/或经由扬声器控制器22直接将音频数据发送到扬声器20。扬声器控制器22可以是服务器或其他类型的设备,其可以控制扬声器20并与系统中的其他设备进行通信,例如服务器112。例如,扬声器控制器22可以控制多个扬声器20,并且可以向多个扬声器20发送音频数据,使得多个扬声器20共同生成输出音频30。扬声器控制器22可以位于扬声器20附近(例如,在住宅中)或远离扬声器20(例如,经由互联网连接)。在一些示例中,服务器112可以指示扬声器控制器22选择音频源40,并且扬声器控制器22可以将音频数据发送到扬声器20。然而,本公开不限于此,并且服务器112可以选择音频源40,并将音频数据直接或经由扬声器控制器22发送到扬声器20。

如图1所示,服务器112可以确定(140)输入设备,例如设备110,包括确定配置信息,例如设备标识(id)(例如,与设备110相关联的唯一标识符)、物理位置(例如,楼上的卧室、楼下的客厅等)、网络地址(例如,互联网协议(ip)地址等)、输入设备的类型和/或类似物。服务器112可以经由用户10的口头输入、经由具有图形用户界面(gui)的伴随应用程序和/或类似物,直接从设备110接收配置信息。服务器112可以确定(142)输出设备,诸如扬声器20、扬声器控制器(22)和/或能够生成音频的设备110,包括确定与输出设备相关联的配置信息。配置信息可以包括设备id、物理位置、网络地址、输出设备的类型、与输出设备相关联的命令/特征和/或类似物。服务器112可以直接从扬声器20、扬声器控制器22或设备110,间接经由扬声器控制器22(例如,扬声器控制器22可以将与多个扬声器20相关联的配置信息发送到服务器112),间接经由设备110(例如,设备110可以发送与连接到设备110的扬声器20相关联的配置信息)、经由来自用户10的口头输入和/或具有gui的伴随应用程序,接收配置信息。

服务器112可以确定(144)输出区域,例如选择多个输出设备以共同生成输出音频30。例如,服务器112可以选择位于客厅中的第一扬声器20作为第一区域,选择位于卧室中的第二扬声器20作为第二区域,并选择第一扬声器20和第二扬声器20作为第三区域。因此,用户10可以指示服务器112在第一区域(例如,客厅)、第二区域(例如,卧室)和/或第三区域(例如,客厅和卧室)生成输出音频30。服务器112可以经由来自用户10的口头输入、经由具有gui的伴随应用程序和/或类似物来确定输出区域。服务器112可以基于先前的指令,经由来自用户10的口头输入,经由具有gui的伴随应用程序和/或类似物来配置(146)用户10的用户偏好。例如,用户偏好可以将输入设备与输出设备相关联(例如,将卧室中的设备110与位于卧室中的第二扬声器20相关联),可以识别首选的输出区域(例如,当用户10没有指定输出区域时,服务器112可以在每个输出区域、最频繁选择的输出区域或者与接收输入音频11的设备110相关联的输出区域生成输出音频30),可以确定输入设备、输出设备、输出区域和/或音频源40、与用户10相关联的账户等的昵称。

在一些示例中,扬声器控制器22可以具有不同扬声器20的预选配置。例如,一个或多个扬声器控制器22可以控制第一房间(例如,客厅)中的第一组扬声器20和第二房间(例如,厨房)中的第二组扬声器20。服务器112可以直接从各个扬声器20、间接从一个或多个扬声器控制器22和/或间接地从远程设备接收配置信息。例如,一个或多个扬声器控制器22可以与包括配置信息的远程服务器相关联,使得用户10能够经由远程服务器远程注册、组织和/或控制扬声器控制器22和/或扬声器20。因此,服务器112可以从远程服务器接收配置信息(而在一些示例中,额外信息)。

另外或替代地,扬声器控制器22和/或远程服务器可以具有与扬声器20相关联的预选输出区域。在一些示例中,服务器112可以从远程服务器和/或一个或多个扬声器控制器22接收关于预选输出区域的信息,使得服务器112能够基于预选输出区域来确定输出区域。因此,服务器112可以在对应的输出区域中包括单个扬声器20。然而,在其他示例中,服务器112可以不接收关于预选输出区域的信息,并且可以不在对应的输出区域中包括单个扬声器20。相反,服务器112可以将一个或多个扬声器控制器22视为单独的输出区域,并且可以将命令和/或音频数据发送到一个或多个扬声器控制器22以播放音频。服务器112可以单独地(例如,第一扬声器控制器22a对应于第一输出区域,而第二扬声器控制器22b对应于第二输出区域)和/或共同地(例如,一个或多个扬声器控制器22共同对应于第一输出区域)将命令和/或音频数据发送到一个或多个扬声器控制器22。另外,服务器112可以直接(例如,从服务器112到一个或多个扬声器控制器22)和/或间接地经由远程服务器(例如,从服务器112到远程服务器和从远程服务器到一个或多个扬声器控制器22)将命令和/或音频数据发送到一个或多个扬声器控制器22。

在一些示例中,由服务器112确定的输出区域可以不同于与扬声器20相关联的预选输出区域。例如,服务器112可以确定在第一输出区域(例如,客厅)播放音频,并可以向一个或多个扬声器控制器22发送命令以在第一输出区域播放音频。然而,一个或多个扬声器控制器22可以将位于客厅中的第一扬声器20与位于厨房中的第二扬声器20分组为第一预选输出区域(例如,客厅和厨房)的一部分。因此,扬声器控制器22可以在客厅和厨房中播放音频,而不是如服务器112所指示的那样在客厅中播放音频。

在运行时期间(例如,在配置完成之后),用户10可以向设备110说出包括命令的话语。设备110可以接收输入音频11,并将音频11转换为音频数据。然后,本地设备110可以将音频数据发送到服务器112。服务器112可以接收(150)对应于话语的音频数据,并可以对音频数据执行(152)自动语音辨识(asr)以获得文本。(或者,如果音频数据11没有准备好进行asr,则服务器112可以在执行asr之前对音频数据执行额外处理。)

然后,服务器112可以根据文本确定(154)命令。例如,服务器112可以对文本执行自然语言理解(nlu)处理,这将导致可以用于执行命令的一些nlu输出数据(诸如文本的语义表示)。命令可以指示服务器112从音频源40播放音频(例如,音乐、无线电台等)、停止播放音频、增大或降低音频音量、静音、选择用于播放音频的扬声器20和/或区域等。因此,服务器可以使用nlu输出来致使命令被执行。虽然服务器112可以自己执行命令,但是它也可以将nlu输出数据和/或命令传递给另一部件(例如扬声器控制器22)以执行命令。此外,在最终执行命令之前,服务器112和扬声器控制器22之间可以进行一些信息交换。例如,服务器112和扬声器控制器22可以在命令被实际执行之前交换执行命令所需的数据,例如识别扬声器20、与扬声器20相关联的配置信息(例如,网络地址等),和/或关于音频源40的信息(例如,服务器112可以指示扬声器控制器22选择音频源40并将音频数据发送到扬声器20)。

在一些示例中,服务器112可以基于音频数据在用户偏好和/或账户之间进行选择。例如,服务器112可以接收对应于第一用户10a的第一音频数据,并且可以识别第一用户10a、确定与第一用户10a相关联的第一用户偏好并基于第一用户偏好来确定命令。稍后,服务器112可以接收对应于第二用户10b的第二音频数据,并且可以识别第二用户10b、确定与第二用户10b相关联的第二用户偏好并基于第二用户偏好来确定命令。因此,类似的音频数据可以基于用户偏好,产生不同的命令。例如,第一用户偏好可以将扬声器分组在不同的输出区域,可以包括不同的音频源,可以具有首选的、频繁访问的或默认的输出区域和/或音频源,和/或可以具有与第二用户偏好不同的音乐偏好。

服务器112可以基于语音签名,请求类型和/或其他信息来区分第一用户10a和第二用户10b。例如,服务器112可以基于说话者行为和/或其标识来识别第一用户10a。在一些示例中,第一用户10a可以与第一账户相关联,而第二用户10b与第二账户相关联。因此,第一用户10a可以指示服务器112执行对第二用户10b不可用的命令。在第一示例中,第一账户可以具有比第二账户更大的访问和/或控制,例如由于父母控制等限制第二账户。另外或替代地,第一账户可以与第二账户不可访问的服务(例如对音乐流服务和/或视频流服务的付费订阅)相关联。因此,第一用户10a可以从对第二用户10b不可用的额外命令、音频源等中进行选择。

在一些示例中,服务器112可以将用户信息发送到扬声器控制器22。例如,当接收对应于第一用户10a的音频数据时,服务器112可以将与第一用户10a相关联的用户信息发送到扬声器控制器22。扬声器控制器22可以基于用户信息来解释命令,诸如选择输出区域、扬声器20、音频源等。在一些示例中,扬声器控制器22(或上面讨论的远程服务器)可以具有与第一用户10a相关联但不与第二用户10b相关联的第一账户和/或配置。因此,第一用户10a可以访问对第二用户10b不可用的额外命令和/或音频源。

在图1所示的示例中,命令可以指示服务器112从特定音频源生成音频数据,并将音频数据发送到选定的输出设备。因此,服务器112可以确定(156)音频源,例如选择音频源40中的一个。音频源40可以包括从远程位置(例如,互联网收音机等)接收到的流式音频数据和/或来自本地设备的音频数据(例如,am/fm无线电台、卫星无线电台、存储在可记录的计算机介质上或在非易失性存储装置中的数字音频数据,等等)。服务器112可以确定(158)要向其发送音频数据的输出设备。例如,服务器112可以识别在命令中指定的扬声器20和/或输出区域。如果命令没有明确指定扬声器20和/或输出区域,则服务器112可以基于用户偏好来确定输出设备。例如,服务器112可以选择每个扬声器20和/或输出区域、可以基于先前接收到的命令识别首选输出区域(例如,客厅)、可以识别与接收到输入音频11的设备110相关联的扬声器和/或输出区,等等。

服务器112可以将音频数据发送(160)到选定的输出设备。例如,服务器112可以生成统一资源标识符(uri)(例如,统一资源定位符(url)等,并使用uri来将音频数据发送到选定的输出设备。然而,本公开不限于此,并且服务器112可以经由扬声器控制器22和/或连接到输出设备的设备110,将uri发送到输出设备。另外或替代地,服务器112可以指示扬声器控制器22选择音频源40,并将音频数据发送到扬声器20。因此,代替服务器112生成uri,扬声器控制器22可以生成uri和/或直接将音频数据发送到扬声器20。

除了与音频源40相关联的音频数据(例如,音乐等)之外,服务器112还可以将与命令相关联的音频数据发送到输出设备以便在本地回放给用户10。例如,服务器112可以接收指示服务器112“播放滚石乐队的歌曲”的命令。响应于该命令,服务器112可以选择音频源40,并将第一音频数据发送到输出设备,并且输出设备可以使用第一音频数据,生成第一输出音频30a(例如,播放滚石乐队的音乐)。另外,服务器112可以将第二音频数据发送到输出设备,并且输出设备可以使用第二音频数据,来生成第二输出音频30b(例如,声明“播放滚石乐队的歌曲”的语音输出)。

如将在下面参考图9a-9b更详细地讨论的那样,服务器112可以使用单个uri来发送第一音频数据和第二音频数据(例如,同时,使得用户10以相同的音量听到音乐和语音输出,或顺序地,使得用户10听到语音输出,然后,听到音乐或使用多个uri(例如,使用第一uri来发送第一音频数据,使用第二uri来发送第二音频数据,使得用户10以第一音量听到语音输出,以第二、较低的音量听到音乐。为了发送第二音频数据,服务器112可以维持一致的连接(例如,第二uri是半永久性的,并用于多个语音输出)或使用临时连接(例如,生成特定于第二音频数据的uri,使得每个语音输出都与唯一uri相关联)。

如图1所示,系统100可以使用户10能够指示服务器112使用扬声器20的任何组合来生成输出音频30。因此,用户10可以使用口头命令来控制输出音频30(例如,选择音频源40、调节音量、停止输出音频30或使其静音等),控制生成输出音频30的输出设备(例如,在一个或多个输出区域中生成输出音频30)等。在一些示例中,设备110可以位于房屋中,并且系统100可以在房屋的一个或多个房间中生成输出音频30。例如,房屋可以包括未连接到设备110的多个扬声器系统(例如,扬声器20),并且系统100可以响应于语音命令(例如,输入音频11)来控制多个扬声器系统播放来自音频源的音乐。另外或替代地,系统100可以控制多个扬声器系统播放对应于视频源的音频,例如通过扬声器20播放输出音频30,同时在电视机上显示输出视频。在另一示例中,设备110可以是位于汽车中的便携式设备,并且系统100可以使用在汽车中安装(例如,硬连线)的扬声器20来生成输出音频30。

尽管图1和下图/讨论以特定顺序示出了系统的操作,但是所描述的步骤可以不同的顺序执行(以及可以移除或添加某些步骤),而不背离本公开的意图。

在讨论了图2的整个语音处理系统之后,下面将解释nlu的进一步细节。参考图1描述的nlu可以由结合了如图2中描述的各种语音处理部件的系统来操作。图2是传统上如何处理说出的话语的概念图,允许系统捕获和执行用户说出的命令,例如可以跟随唤醒词(wakeword)的口头命令。所示的各种部件可以位于相同或不同的物理设备上。图2中所示的各种部件之间的通信可以直接发生或跨网络199发生。诸如设备110的麦克风的音频捕获部件捕获对应于说出的话语的音频11。设备110使用唤醒词检测模块220,然后处理音频或对应于音频的音频数据,以确定是否在音频中检测到关键词(例如唤醒词)。在检测到唤醒词之后,设备将对应于话语的音频数据111发送到包括asr模块250的服务器112。可以在传输之前从位于设备110上的声学前端(afe)256输出音频数据111。或者音频数据111可以是由远程afe256处理的不同形式。

唤醒词检测模块220与设备的其他部件(例如麦克风(未示出))一起工作以检测音频11中的关键词。例如,设备110可以将音频11转换为音频数据,并利用唤醒词检测模块220来处理音频数据,以确定是否检测到语音,如果检测到,则确定包括语音的音频数据是否与对应于特定关键词的音频签名和/或模型匹配。

设备110可以使用各种技术来确定音频数据是否包括语音。一些实施方案可以应用语音活动检测(vad)技术。这些技术可以基于音频输入的各种定量方面,例如音频输入的一个或多个帧之间的频谱斜率;一个或多个谱带中音频输入的能量水平;一个或多个谱带中音频输入的信噪比;或其他定量方面,来确定音频输入中是否存在语音。在其他实施方案中,设备110可以实现有限分类器,其被配置为将语音与背景噪声区分开。分类器可以通过诸如线性分类器、支持向量机和决策树的技术来实现。在其他实施方案中,可以应用隐马尔可夫模型(hmm)或高斯混合模型(gmm)技术来将音频输入与语音存储装置中的一个或多个声学模型进行比较,这些声学模型可以包括对应于语音、噪声的模型(例如环境噪声或背景噪声)或静音的模型。还可以使用其他技术来确定音频输入中是否存在语音。

一旦在由设备110接收到的音频中检测到语音(或者与语音检测分开),设备110可以使用唤醒词检测模块220来执行唤醒词检测,以确定用户何时打算向设备110说出命令。该过程也可以称为关键词检测,其中唤醒词是关键词的具体示例。具体地,通常在不执行语言分析、文本分析或语义分析的情况下执行关键词检测。相反,分析输入音频(或音频数据)以确定音频的特定特征是否匹配预先配置的声学波形、音频签名或其他数据,以确定输入音频是否“匹配”对应于关键词的存储音频数据。

因此,唤醒词检测模块220可以将音频数据与存储的模型或数据进行比较,以检测唤醒词。用于唤醒词检测的一种方法应用通用大词汇量连续语音辨识(lvcsr)系统来解码音频信号,在所得到的格子或混淆网络中进行唤醒词搜索。lvcsr解码可能需要相对较高的计算资源。唤醒词定位的另一种方法分别为每个关键的唤醒词字和非唤醒词语音信号构建隐马尔可夫模型(hmm)。非唤醒词语音包括其他口语词、背景噪声等。可以存在一个或多个hmm,用于对非唤醒词语音特征进行建模,这些hmm被称为填充模型。维特比解码用于搜索解码图中的最佳路径,并且进一步处理解码输出以做出关键词存在的决定。通过结合混合dnn-hmm解码框架,该方法可以扩展到包括判别信息。在另一实施方案中,唤醒词定位系统可以直接建立在深度神经网络(dnn)/递归神经网络(rnn)结构上,而不涉及hmm。这样的系统可以通过在dnn的上下文窗口内堆叠帧或使用rnn来估计具有上下文信息的唤醒词的后验。后续后验阈值调整或平滑应用于决策制定。也可以使用其他技术,例如本领域已知的技术,来进行唤醒词检测。

一旦检测到唤醒词,本地设备110就可以“醒来”,并开始将对应于输入音频11的音频数据111发送到服务器112以进行语音处理。对应于该音频的音频数据可以被发送到服务器112以便路由到接收设备,或者可以被发送到服务器,以进行语音处理,以解释所包括的语音(为了实现语音通信和/或为了执行语音中的命令)。音频数据111可以包括对应于唤醒词的数据,或者可以在发送之前由本地设备110移除音频数据的对应于唤醒词的部分。此外,本地设备110可以在检测到高于阈值的语音/说出的音频时“醒来”,如本文所述。在由服务器112接收到时,asr模块250可以将音频数据111转换为文本。asr将音频数据转录成表示包含在音频数据中的语音的词的文本数据。然后,文本数据可以由其他部件用于各种目的,例如执行系统命令、输入数据等。音频数据中的说出话语被输入到被配置为执行asr的处理器,asr然后基于话语和存储在asr模型知识库(asr模型存储装置252)中的预先建立的语言模型254之间的相似性来解释话语。例如,asr过程可以将输入音频数据与声音和声音序列模型(例如,子词单元或音素)进行比较,以识别与音频数据的话语中所说出的声音序列匹配的词。

可以为可以解释说出的话语的不同方式(即,不同的假设)中的每一个分配概率或置信度分数,概率或置信度分数表示特定词组与话语中说出的词组匹配的可能性。置信度分数可以基于多个因素,包括例如话语中的声音与语言声音的模型(例如,存储在asr模型存储装置252中的声学模型253)的相似性,以及匹配声音的特定词将被包括句子中的特定位置的可能性(例如,使用语言或语法模型)。因此,对说出的话语的每个潜在的文本解释(假设)与置信度分数相关联。基于所考虑的因素和所分配的置信度分数,asr过程250输出在音频数据中辨识的最可能的文本。asr过程还可以格子或n最佳列表的形式输出多个假设,其中每个假设都对应于置信度分数或其他分数(例如概率分数等)。

执行asr处理的一个或多个设备可以包括语音辨识引擎258。语音辨识引擎258将输入音频数据(诸如由afe256创建并发送到服务器112的音频数据)与声学模型253、语言模型254以及用于辨识音频数据中传送的语音的其他数据模型和信息进行比较。afe可以减少音频数据中的噪声,并将数字化的音频数据分成表示时间间隔的帧,对于该时间间隔,afe确定表示音频数据质量的多个值(称为特征),以及表示帧内音频数据的特征/质量的一组值(称为特征向量)。如本领域中已知的,可以确定许多不同的特征,并且每个特征都表示可以用于asr处理的一些音频质量。afe可以使用多种方法来处理音频数据,例如梅尔频率倒频谱系数(mfcc)、感知线性预测(plp)技术、神经网络特征向量技术、线性判别分析、半束缚协方差矩阵或本领域技术人员已知的其他方法。

语音辨识引擎258可以参考存储在语音/模型存储装置中的信息来处理音频数据(252)。或者,执行asr处理的设备可以从除内部afe之外的另一个源接收前端处理后的数据(例如特征向量)。例如,设备110可以将音频数据处理成特征向量,并跨网络199将该信息发送到服务器以进行asr处理。特征向量可以在到达服务器时是经过编码的,在这种情况下,它们可以在执行语音辨识引擎258的处理器处理之前被解码。

语音辨识引擎258尝试将所接收到的特征向量与存储的声学模型253和语言模型254中已知的语言音素和词进行匹配。语音辨识引擎258基于声学信息和语言信息来计算特征向量的辨识分数。声学信息用于计算声学分数,该声学分数表示由一组特征向量表示的预期声音与语言音素匹配的可能性。语言信息用于通过考虑在彼此的上下文中使用什么声音和/或词来调整声学分数,从而提高asr过程将输出语法上有意义的语音结果的可能性。

语音辨识引擎258可以使用多种技术来将特征向量与音素匹配,例如使用隐马尔可夫模型(hmm)来确定特征向量可以匹配音素的概率。接收到的声音可以表示为hmm的状态之间的路径,而多个路径可以表示针对相同声音的多个可能的文本匹配。

在asr处理之后,asr结果可以由语音辨识引擎258发送到其他处理部件,这些处理部件可以是执行asr的设备本地和/或跨网络199分布。例如,asr结果是以语音的单个文本表示形式、包括多个假设和相应的分数的n最佳列表、格子等的形式,其可以被发送到服务器,例如服务器112,用于自然语言理解(nlu)处理,例如由设备110、服务器112或另一设备(例如运行特定应用程序(如搜索引擎等)的服务器)将文本转换成命令以执行。

执行nlu处理260的设备(例如,服务器112)可以包括各种部件,包括可能专用处理器、存储器、存储装置等。被配置用于nlu处理的设备可以包括一个或多个命名实体辨识(ner)模块262、一个或多个意图分类(ic)模块264、一个或多个结果排序和分发模块(未示出),以及一个或多个知识库(未示出)。nlu过程还可以利用存储在实体库存储装置(未示出)中的地名词典信息。地名词典信息可以用于实体解析,例如将asr结果与不同的实体(例如歌名、联系人姓名等)匹配。地名词典可以链接到用户(例如,特定地名词典可以与特定用户的音乐收藏相关联),可以链接到某些域(例如购物),可以链接到特定应用程序,或者可以成各种各样的其他方式组织。

nlu过程接受文本输入(例如经过asr250基于话语11处理的),并尝试对文本进行语义解释。也就是说,nlu过程基于各个词来确定文本背后的含义,然后实现该含义或将该含义的指示(例如语义标记的文本等)传递给不同的部件(例如命令处理器290)以供执行。nlu处理260解释文本串,以导出用户的意图或期望的动作以及文本中允许设备(例如,设备110)完成该动作的相关信息。例如,如果使用asr250处理说出的话语并输出文本“呼叫妈妈”,则nlu过程可以确定用户打算在他/她的设备中激活电话,并发起与匹配实体“妈妈”的联系人的呼叫。

nlu可以处理与同一话语相关的若干文本输入。例如,如果asr250输出n个文本段(作为由asr模块250输出的n最佳列表的一部分),则nlu可以处理所有n个输出以获得nlu结果。nlu过程可以被配置为作为nlu处理的一部分,对asr结果进行解析和标记,以对文本进行注释。例如,对于文本“呼叫妈妈”,可以将“呼叫”标记为命令(用于执行电话呼叫),而可以将“妈妈”标记为特定实体和命令的目标(并且可以将对应于存储在联系人列表中的“妈妈”的实体的电话号码包括在已注释的结果中)。

为了正确地对语音输入执行nlu处理,nlu过程260可以被配置为确定话语的“域”,以便确定由端点设备(例如,服务器112或设备110)提供的哪些服务可能是相关的,并缩小其范围。例如,端点设备可能提供与电话服务、联系人列表服务、日历/日程安排服务、音乐播放器服务等的交互相关的服务。单个文本查询中的词可能涉及多个服务,并且一些服务可以是功能链接的(例如,电话服务和日历服务都可以利用来自联系人列表的数据)。

因此,作为nlu管道的一部分,nlu模块260可以包括nlu路由器280。下面进一步讨论的nlu路由器280可以被配置为对由asr部件250输出的话语文本进行操作。nlu路由器280还可以被配置为对可以帮助路由nlu请求的其他数据(例如地理数据、时间数据、用户配置文件信息、用户历史等)进行操作。nlu路由器280获取其输入,例如话语文本,并将应用程序与文本和/或话语相关联。为此,路由器可以使用路由器存储装置282中的信息。例如,nlu路由器280可以使用一个或多个路由器规则286来解析文本,以识别例如文本中的可以预期应用程序名称或功能的部分。因此,nlu路由器280可以识别那些标识所需应用程序的文本,并可以将所需应用程序与文本相关联。然后,nlu模块260可以使用相关联的应用程序来识别在nlu处理期间使用的nlu模型274,还可以使用相关联的应用程序来识别要向其发送nlu输出的应用程序的目的地命令处理器290。因此,nlu路由器可以将文本“路由”到期望的应用程序。

nlu路由器280还可以使用经过训练的模型288来将应用程序与命令/文本相关联。经过训练的模型288可以包括经过训练的机器学习模型,其也可以识别期望的应用程序。如果规则286不能以足够的置信度确定期望的应用程序,则除了规则286之外,还可以使用经过训练的模型288作为补充这些规则的方式。或者,模型288可以单独用于特定配置中。

在一些示例中,一旦应用程序与文本相关联,nlu模块260就可以在nlu模型存储装置272中识别对应于特定应用程序的nlu模型274。例如,如果应用程序b通过nlu路由器与文本相关联,则nlu模型b274b可以由nlu模块260识别。然后,nlu模块260可以使用应用程序特定的nlu模型来执行nlu处理,例如ner、ic、语义标记或诸如下面描述的那些任务。

命名实体辨识模块262接收asr结果形式的查询,并尝试识别可用于解释含义的相关语法和词汇信息。为此,命名实体辨识模块262可以通过识别可能与所接收到的查询相关的潜在域开始,或者可以使用由nlu路由器280确定的相关联的应用程序。nlu知识库可以包括识别与特定设备相关联的域的设备的数据库。例如,设备110可以与用于不同应用程序(例如音乐、电话、日历、联系人列表和设备特定通信)的域相关联。此外,实体库还可以包括关于特定设备上的特定服务的数据库条目,这些条目由应用程序id、设备id、用户id或家庭id,或者一些其他指示符索引。

域可以表示具有共同主题(诸如“购物”、“音乐”、“日历”等)的离散活动集。域还可以特定于特定应用程序。每个域都可以与特定语言模型和/或语法数据库、特定意图/动作集和特定个性化词典相关联。每个地名词典都可以包括与特定用户和/或设备相关联的域索引词汇信息。例如,一个地名词典可以包括域索引词汇信息。例如,用户的音乐域词汇信息可以包括专辑标题、艺术家姓名和歌曲名称,而用户的联系人列表词汇信息可以包括联系人的姓名。由于每个用户的音乐收藏和联系人列表可能不同,因此这种个性化信息可改进实体解析。

使用适用于每个已识别的域的规则、模型和信息来处理查询。例如,如果查询可能涉及通信和音乐,则将使用用于通信的语法模型和词汇信息对查询进行nlu处理,并将使用用于音乐的语法模型和词汇信息对其进行处理。对基于由每组模型产生的查询的响应评分(下面进一步讨论),通常选择来自所有应用域的总体最高排名结果作为正确结果。

意图分类(ic)模块264解析查询,以确定每个识别的域的一个或多个意图,其中意图对应于响应于查询的要执行的动作。每个域都可以与链接到意图的词的数据库相关联。例如,音乐意图数据库可以将诸如“安静”、“音量关闭”和“静音”的词和短语链接到“静音”意图。ic模块264通过将查询中的词与意图数据库中的词和短语进行比较来识别每个已识别的域的潜在意图。

为了生成特定的已解释的响应,ner262应用与相应域相关联的语法模型和词汇信息。每个语法模型都包括在关于特定域的语音中常见的实体的名称(即,名词)(即,通用术语),而来自地名词典的词汇信息是针对用户、设备和/或应用程序个性化的。例如,与购物域相关联的语法模型可以包括当人们讨论购物时常用的词数据库。

由ic模块264识别的意图链接到特定于域的语法框架,其中“槽”或“字段”将被填充。例如,如果“播放音乐”是已识别的意图,则一个或多个语法框架可以对应于这样的句子结构,诸如“播放{艺术家姓名}”、“播放{专辑名称}”、“播放{歌曲名称}”,“播放{艺术家姓名}的{歌曲名称}”,等等。然而,为了使辨识更灵活,这些框架通常不会被构造为句子,而是基于将槽与语法标记相关联。

例如,在识别命名实体之前,ner模块262可以解析查询,以基于语法规则和模型,将词辨识为主语、宾语、动词、介词等。所识别的动词可以由ic模块264用于识别意图,然后由ner模块262使用该意图来识别框架。用于“播放”意图的框架可以指定适用于播放所识别的“对象”和任何对象修饰词(例如,介词短语),例如{艺术家姓名}、{专辑名称}、{歌曲名称}等的槽/字段列表。然后,ner模块262搜索特定于域的和个性化词典中的对应字段,试图将查询中标记为语法对象或对象修饰词的词和短语与数据库中所识别的那些词和短语进行匹配。

该过程可以包括语义标记,这是根据词的类型/语义含义来标记词或词组合。可以使用启发式语法规则来执行解析,或者可以使用诸如隐马尔可夫模型、最大熵模型、对数线性模型、条件随机场(crf)的技术来构建ner模型。可以根据命令调用的应用程序来以不同的方式配置语义标记。因此,某些语义标记可以特定于特定应用程序。

例如,可以解析查询{动词}的“播放滚石乐队的母亲的小帮手”,并将其标记为:“播放”、{对象}:“母亲的小帮手”、{对象介词}:“通过”和{对象修饰词}:“滚石乐队”。在该过程中此时,基于与音乐域相关联的词数据库,将“播放”识别为动词,ic模块264将确定该动词对应于“播放音乐”意图。没有确定“母亲的小帮手”和“滚石乐队”的含义,但是基于语法规则和模型,确定这些短语与查询的语法对象有关。

然后,使用链接到意图的框架来确定应搜索哪些数据库字段以确定这些短语的含义,例如搜索用户的地名词典,以寻找与框架槽的相似性。因此,“播放音乐意图”的框架可指示尝试基于{艺术家姓名}、{专辑名称}和{歌曲名称}来解析所识别的对象,并且同一意图的另一个框架可能指示尝试基于{艺术家姓名}来解析对象修饰符,并根据链接到所识别的{艺术家姓名}的{专辑名称}和{歌曲名称}来解析对象。如果对地名词典的搜索没有使用地名词典信息来解析槽/字段,则ner模块262可以搜索与该域相关联的通用词的数据库(在nlu的知识库中)。因此,例如,如果查询是“播放滚石乐队的歌曲”,则在未能确定“滚石乐队”的名为“歌曲”的专辑名称或歌曲名称之后,ner262可以在域词汇表中搜索词“歌曲”。在替代方案中,可以在地名词典信息之前检查通用词,或者可以尝试两者,可能会产生两种不同的结果。

ner模块262所使用的比较过程可以分类(即,评分)数据库条目与标记的查询词或短语相比有多接近、查询的语法结构有多接近地对应于应用的语法框架,以及基于数据库是否指示条目和被识别为填充框架的其他槽的信息之间的关系。

ner模块262还可以使用上下文操作规则来填充槽。例如,如果用户先前请求暂停特定歌曲并且此后请求语音控制设备“请取消暂停我的音乐”,则ner模块262可以应用基于推断的规则来填充与用户当前希望播放的歌曲的名称相关联的槽,即用户请求暂停音乐时正在播放的歌曲。

可以标记nlu处理的结果,以将含义赋予查询。因此,举例来说,“播放滚石乐队的歌曲“母亲的小帮手”可能会产生以下结果:{域}音乐、{意图}播放音乐、{艺术家姓名}“滚石乐队”、{媒体类型}歌曲,以及{歌名}“母亲的小帮手。”,另一个例子,“播放滚石乐队的歌曲”可能会产生:{域}音乐、{意图}播放音乐、{艺术家姓名}“滚石乐队”和{媒体类型}歌曲。

然后,可以将nlu处理的输出(其可以包括标记的文本、命令等)发送到命令处理器290,命令处理器可以作为系统100的一部分位于相同或单独的服务器112上,或者可以位于其他部件上。例如,多个命令处理器(290a、290b、290c......)可用于系统100。可以基于nlu输出和/或用户偏好来确定目的地命令处理器290。例如,如果nlu输出包括播放音乐的命令,则目的地命令处理器290可以是音乐播放应用程序,例如位于设备110或音乐播放设备中的音乐播放应用程序,其被配置为执行音乐播放命令。如果nlu输出包括搜索请求,则目的地命令处理器290可以包括搜索引擎处理器,诸如位于搜索服务器上的搜索引擎处理器,其被配置为执行搜索命令。还可以基于由nlu路由器280确定的预期应用程序,来确定目的地命令处理器290。例如,如果nlu路由器280确定输入命令与应用程序a相关联,则除了调用nlu模型a之外,系统还可以将输入命令与应用程序a相关联,以便将nlu结果发送到与应用程序a相关联的命令处理器(例如,命令处理器a,290a)。因此,每个命令处理器都可以类似于每个nlu模型与特定应用程序相关联的方式与特定应用程序相关联。

如上所述,命令处理器290可以位于服务器112和/或设备110上。因此,系统100可以使用设备110接收输入音频11、可以将对应的音频数据111发送到服务器112,并且服务器112可以将nlu输出发送到位于设备110上的第一命令处理器290a和/或位于服务器112上的第二命令处理器290b。另外或替代地,在不脱离本公开的情况下,命令处理器290可以与服务器112分开定位,例如位于扬声器控制器22上。例如,系统100可以将nlu输出(或从nlu输出生成的指令)发送到位于第一扬声器控制器22上的第三命令处理器290c。

在一些示例中,第三方开发者可以开发被配置为在输入受限环境(例如,使用语音输入控制的系统)中操作的应用程序。因此,除了识别命令处理器290之外,系统100还可以充当命令处理器290和用户10之间的中介。例如,系统100可以从用户10接收输入音频11,并且可以确定要发送到与应用程序相关联的部件(例如特定命令处理器290)的输入数据(例如,nlu输出)。响应于输入数据,应用程序可以生成要通过系统发送回用户的输出数据。例如,应用程序可以生成要经由系统100(例如,设备110和/或扬声器20)回放给用户10的音频数据。在一些示例中,应用(例如,命令处理器290)可以向扬声器控制器22和/或扬声器20发送命令和/或控制它们。在另一示例中,应用程序可以生成文本数据,文本数据可以由服务器112使用文本到语音操作来处理,以通过本地设备110将音频数据输出到用户10。

图3a-3b示出了根据本公开的实施方案的输入设备的示例。如图3a所示,服务器112可以从第一设备110a和/或第二设备110b接收输入音频11。为了捕获输入音频11,第一设备110a和第二设备110b可以包括麦克风阵列。另外,第一设备110a和第二设备110b还可以包括一个或多个扬声器以生成到用户10的语音输出。例如,服务器112可以从设备110a/110b接收对应于输入音频11的音频数据、可以确定包括在音频数据中的命令、可以执行该命令并且可以向设备110a/110b发送语音输出,以向用户10指示该命令已经执行。因此,当用户10指示服务器112“播放滚石乐队的歌曲”时,设备110a/110b可以生成声明“播放滚石乐队的歌曲”的语音输出。尽管第一设备110a和第二设备110b两者都可以包括扬声器,但是包括在第一设备110a中的扬声器的质量可以比包括在第二设备110b中的扬声器的质量更高。另外或替代地,第二设备110b可以不包括扬声器。如图3b所示,房屋340可以包括房间1中的设备110a、房间2中的设备110b-1和房间3中的设备110b-2,它们经由网络199连接到服务器112。因此,服务器112可以经由设备110从房屋340的房间1、房间2和/或房间3中的用户10接收输入音频11。

图4a-4d示出了根据本公开的实施方案的生成输出音频的示例。如图4a所示,扬声器控制器22可以使用无线连接411(例如,wifi、蓝牙等)与第一扬声器20a进行通信(例如,向其发送音频数据),和/或可以使用有线连接412(例如,音频输出线路等)与第二扬声器20b通信(例如,向其发送音频数据)。扬声器控制器22可以使用无线连接411和/或有线连接412与单个扬声器20或多个扬声器20进行通信。

如图4b所示,在一些示例中,设备110(例如,设备110b)可以使用无线连接413(例如,wifi、蓝牙等)与第一扬声器20a进行通信和/或可以使用有线连接414(例如,音频线路输出等)与第二扬声器20b进行通信。例如,设备110可以使用无线连接413和/或有线连接414与一个或多个扬声器20配对。

如图4c所示,服务器112可以使用第三方接口420,经由扬声器控制器22与第一扬声器20a进行通信,可以使用第一方接口422,经由设备110b与第二扬声器20b进行通信和/或可以使用直接接口424直接与第三扬声器20c进行通信。因此,服务器112可以使用第三方接口420、第一方接口422和/或直接接口424指示扬声器20a-20c生成输出音频30。

如上所述,服务器112可以从音频源40发送音频数据,其可以包括从远程位置(例如,互联网收音机等)接收到的流式音频数据和/或来自本地设备的音频数据。(例如,am/fm无线电台、卫星无线电台、存储在可记录计算机介质上或存储在非易失性存储装置中的数字音频数据等)。例如,服务器112可以将流式音频数据发送到扬声器控制器22、设备110b和/或扬声器20c。在一些示例中,服务器112可以指示扬声器控制器22播放来自音频源40的音频。

如图4d所示,房屋440可以包括输入设备,例如房间1中的设备110a、房间1中的设备110c(例如,电视机)、房间2中的设备110b-1和房间3中的设备110b-2,它们经由网络199连接到服务器112。因此,服务器112可以经由设备110从房屋440的房间1、房间2和/或房间3中的用户10接收输入音频11。另外,房屋440还可以包括输出设备,例如房间1中的扬声器控制器22、房间1中的扬声器20a-1和扬声器20a-2、房间1中的设备110c(例如,电视机)、房间3中的扬声器20b、房间4中的扬声器20c,它们经由网络199连接到服务器112。因此,服务器112可以使用房屋440的房间1、房间3和/或房间4中的扬声器20a-1/20a-2/20b/20c和/或设备110c来生成输出音频30。如上所述,设备110c(例如,电视机)可以充当输入设备(例如,包括被配置为接收输入音频11的麦克风阵列),并充当输出设备(例如,包括被配置为生成输出音频的扬声器30)。虽然设备110a、110b-1和110b-2是作为输入设备包括的,但是它们可以生成输出音频30,而不会脱离本公开。

为了使服务器112从扬声器20/扬声器控制器22接收信息和/或向扬声器20/扬声器控制器22发送信息或命令,服务器112可以使用被配置为在服务器112和扬声器20/扬声器控制器22之间交换信息和/或转换命令的应用程序编程接口(api)。因此,api可以用于枚举扬声器、输出区域和其他配置信息和/或传送流url,以在扬声器20/扬声器控制器22上播放输出音频。例如,服务器112可以从扬声器20/扬声器控制器22请求配置信息,例如设备id、网络地址、输出区域、与扬声器20/扬声器控制器22相关联的命令/特征和/或其他信息,api可以将请求从第一格式(与服务器112相关联)转换为第二格式(与扬声器20/扬声器控制器22相关联)。此外,api还可以将对请求的响应从第二格式转换为第一格式。类似地,api可以将命令(例如,播放音频、增大音量、降低音量、选择源等)从第一格式转换为第二格式,使得服务器112可以将指令传送到扬声器20/扬声器控制器22。例如,api可以确定与设备110和/或服务器112相关联的第一格式的第一命令(例如,音量放大命令)对应于与扬声器20和/或扬声器控制器22相关联的第二格式的第二命令(例如,命令11)。

因此,api可以在设备110/服务器112和扬声器20/扬声器控制器22之间交换命令和/或数据,使得在设备110/服务器112上运行的第一应用程序可以与在扬声器20/扬声器控制器22上运行的第二应用程序进行通信。api可以包括本领域技术人员已知的一组例程、协议和工具,包括与第一应用程序和/或第二应用程序相关联的操作(例如,命令)、输入、输出和/或其他功能。如本文所使用的,当设备110/服务器112向扬声器20/扬声器控制器22发送命令/信息和/或扬声器20/扬声器控制器22向设备110/服务器112发送命令/信息时,可以使用api转换或请求命令/信息。

在一些示例中,如上文参考图2所讨论的,系统100可以使用应用程序来控制扬声器20和/或扬声器控制器22,而不是生成与设备110和/或服务器112相关联的第一格式的第一命令,并将第一命令转换成与扬声器20和/或扬声器控制器22相关联的第二格式的第二命令。例如,应用程序可以从系统100接收输入(例如,音频输入数据、nlu输出等),并且可以生成第二格式的输出(例如,命令)。

图5a-5h示出了根据本公开的实施方案的输入设备和输出设备的配置的示例。图5a示出了位于房屋540a中的输出设备,例如房间1中的设备110a、房间1中的扬声器20a-1和扬声器20a-2、房间1中的设备110c(例如,电视机)、房间3中的扬声器20b和房间4中的扬声器20c。服务器112可以接收配置信息,诸如设备标识(id)(例如,唯一标识符)、物理位置(例如,楼上卧室、楼下客厅等)、网络地址(例如,互联网协议(ip)地址等)、输出设备的类型、与输出设备相关联的命令/特征和/或类似物。服务器112可以直接从设备110和/或扬声器20、间接经由扬声器控制器22(例如,扬声器控制器22可以将与扬声器20a相关联的配置信息发送到服务器112)、间接经由设备110(设备110b-2可以发送与连接到设备110b-2的扬声器20b相关联的配置信息)、经由来自用户10的口头输入、经由具有图形用户界面(gui)的伴随应用程序和/或类似物,接收配置信息。

图5b示出了界面510的示例,其示出了输出设备和对应的物理位置。用户10可以使用界面510来选择多个输出设备和/或执行其他功能。虽然图5b将界面510示为图形用户界面(gui),但是本公开不限于此,并且用户10可以经由口头命令和/或语音输出与服务器112进行通信,而会不脱离本公开。

如图5c所示,用户10和/或服务器112可以选择输出设备并生成输出区域。例如,如图5d所示的界面520所示,图5c所示的房屋540b包括区域1中的设备110a、设备110c和扬声器20a、区域2中的扬声器20b和区域4中的扬声器20c。如上所述,尽管图5d将界面520示为gui,但是本公开不限于此,并且用户10可以经由口头命令和/或语音输出与服务器112进行通信,而不会脱离本公开。虽然图5c-5d示出了对应于单个房间的输出区域,但是本公开不限于此,并且输出区域可以包括多个房间中的输出设备。另外或替代地,虽然图5c-5d示出了与单个输出区域相关联的每个输出设备,但是本公开不限于此,并且一些输出设备可以不与输出区域相关联和/或可以与多个输出区域相关联。例如,区域5(未示出)可以包括区域1、区域2、区域3和区域4,并且可以用于在整个房屋540b内生成输出音频30。

图5e示出了位于房屋540c中的输入设备,例如房间1中的设备110a、房间1中的设备110c(例如,电视机)、房间2中的设备110b-1和房间3中的设备110b-2。服务器112可以接收配置信息,诸如设备标识(id)(例如,唯一标识符)、物理位置(如楼上卧室、楼下客厅等)、网络地址(例如,互联网协议(ip)地址等)、输入设备的类型和/或类似物。服务器112可以经由用户10的口头输入、经由具有gui的伴随应用程序和/或类似物,直接从设备110接收配置信息。

图5f示出了界面530的示例,其示出了输入设备和对应的物理位置。用户10可以使用界面530来将输入设备与输出区域相关联和/或执行其他功能。虽然图5f将界面530示为gui,但是本公开不限于此,并且用户10可以经由口头命令和/或语音输出与服务器112进行通信,而不会脱离本公开。

图5g示出了房屋540d中的输入设备、输出设备和对应的输入/输出关联。图5h示出了界面550的示例,其示出了与每个输出区域相关联的输入设备和输出设备。例如,区域1包括设备110a、设备110c和扬声器20a,区域2包括设备110b-2和扬声器20b,区域3包括扬声器20c,区域4包括设备110b-1。如图5g-5h所示,输出区域可以与输入设备和输出设备(例如,区域1和区域2)、与输出设备(例如,区域3)和/或与输入设备(例如,区域4)相关联,而不会脱离本公开。虽然图5g-5h示出了对应于单个房间的输出区域,但是本公开不限于此,并且输出区域可以包括多个房间中的输入设备和输出设备。另外或替代地,虽然图5g-5h示出了与单个输出区域相关联的每个输入设备和/或输出设备,但是本公开不限于此,并且一些输入设备/输出设备可以不与输出区域相关联和/或可以与多个输出区域相关联。例如,区域5(未示出)可以包括区域1、区域2、区域3和区域4,并且可以用于在整个房屋540d内生成输出音频30。

在一些示例中,扬声器20、输出区域和/或输入/输出关联可以是服务器112和扬声器控制器22两者都知道的。作为第一示例,扬声器20(例如,第一扬声器20a-1)可以具有由服务器112和扬声器控制器22两者使用的标识(例如,唯一名称)、位置(例如,特定位置)和/或地址(例如,网络地址)。作为第二示例,服务器112和扬声器控制器22可以将扬声器20a-1和20a-2两者分组在第一输出区域(例如,区域1)中,并且第一输出区域可以具有由服务器112和扬声器控制器22使用的标识(例如,唯一名称)、位置(例如,特定房间或位置)和/或地址(例如,网络地址)。作为第三示例,服务器112和扬声器控制器22两者都可以在第一关联中将扬声器20a-1和20a-2与输入设备110a和110c相关联,并且第一关联可以具有由服务器112和扬声器控制器22两者使用的标识(例如,唯一名称)、位置(例如,特定房间或位置)和/或地址(例如,网络地址)。服务器112和扬声器控制器22可以存储与第一输出区域和/或第一关联相关联的所有输入设备和/或输出设备的标识、位置和/或地址。因此,服务器112可以向扬声器控制器22发送指令(例如,使用标识、位置、地址和/或其组合),指示特定的扬声器20、输出区域、位置、输入设备、输入/输出关联和/或类似物,并且扬声器控制器22可以响应于该指令来控制对应的扬声器20。

在一些示例中,服务器112已知的第一输出区域可以包括所有输出设备,扬声器控制器22已知的第二输出区域可以包括第一输出区域中包括的输出设备的子集。例如,服务器112可以具有第一输出区域,其包括设备110a、设备110c、第一扬声器20a-1和第二扬声器20a-2,并且扬声器控制器22具有第二输出区域,其仅包括第一扬声器20a-1和第二个扬声器20a-2。因此,扬声器控制器22已知的第二输出区域对应于服务器112已知的第一输出区域,但仅包括由扬声器控制器22控制的输出设备。然而,如上所述,服务器112可以向扬声器控制器22发送指示第一输出区域的指令,并且扬声器控制器22可以响应于该指令来控制对应的扬声器20。

相反,在一些示例中,扬声器20、输出区域和/或输入/输出关联在服务器112和扬声器控制器22之间可以是不同的,并且服务器112和/或扬声器控制器22可能需要将指令从第一识别系统(例如,由服务器112使用)转换成第二识别系统(例如,由扬声器控制器22使用)。因此,服务器112可以向扬声器控制器22发送指令,指示第一识别系统中的特定扬声器20、输出区域、输入设备、输入设备的位置和/或类似物,并且扬声器控制器22可以识别第二识别系统中的对应于指令的扬声器20,并相应地控制扬声器20。作为第一示例,服务器112可以使用第一标识、第一位置和/或第一地址来引用第一扬声器20a-1,并且扬声器控制器22可以使用第二标识、第二位置和/或第二地址来识别第一扬声器20a-1。作为第二示例,服务器112可以引用第一输出区域,并且扬声器控制器22可以识别包括对应于第一输出区域的扬声器20的第二输出区域。作为第三示例,服务器112可以引用输入设备110、输入设备110的位置、第一输入/输出关联等,并且扬声器控制器22可以识别第二输入/输出关联和/或包括对应的扬声器20的输出区域。因此,服务器112可以向扬声器控制器22发送指令,指示使用第一识别系统和/或没有特异性的输出设备,并且扬声器控制器22可以使用第二识别系统来识别对应的扬声器22。

在一些示例中,扬声器控制器22可以将指令从第一识别系统转换到第二识别系统,并控制在指令中未指示的额外扬声器20。因此,服务器112可以发送控制第一扬声器20a的指令,并且扬声器控制器22可以控制包括第一扬声器20a的一组扬声器20。作为第一示例,指令可以引用第一扬声器20a,并且扬声器控制器22可以识别包括第一扬声器20a(以及扬声器20b和20c)的输出区域,并根据指令来控制输出区域。作为第二示例,服务器112可以引用第一输出区域,并且扬声器控制器22可以识别包括对应于第一输出区域的扬声器20以及额外扬声器20的第二输出区域。例如,服务器112可以发送指令以控制第一识别系统中的第一输出区域(例如,位于房间1中的第一扬声器20a-1和第二扬声器20a-2),并且扬声器控制器22可以将第一输出区域转换成第二识别系统中的第二输出区域(例如,位于房间1中的第一扬声器20a-1和第二扬声器20a-2以及位于房间4中的扬声器20c)。因此,在不脱离本公开的情况下,扬声器控制器22可以控制未由服务器112指定的额外扬声器20。

图6示出了根据本公开的实施方案的主关联表的示例。如图6所示,主关联表602可以包括关于输入设备、输出设备、输出区域、输入/输出关联和其他信息的数据。主关联表602可以位于服务器112中或者位于系统100中的其他位置。各种数据可以存储在主关联表602中。对于本说明,如图6所示,主关联表602可以包括不同设备的设备标识符(id)和互联网协议(ip)地址信息以及用户可以用来引用设备的名称。还可以列出描述设备的其他限定符以及设备的对象类型和输出区域的描述。

在一些示例中,主关联表602可以包括与和系统进行交互的各个用户、家庭、账户等相关联的信息。该信息可以包括与各个用户、家庭、账户等相关联的设备(例如,设备110、扬声器20和/或扬声器控制器22)。例如,主关联表602可以是用户配置文件的一部分,输入设备/输出设备可以链接到用户标识等。因此,服务器112可以从用户配置文件和/或与用户配置文件相关联的输入设备/输出设备可用的音频源40中进行选择。另外,主关联表602还可以包括不同的用户偏好或(例如首选的输出设备、首选的音频源等)与其相关联。如上面参考图1所讨论的那样,服务器112可以基于语音签名、请求类型和/或其他信息来区分用户10、执行说话者识别、行为识别等。用户10可以与单个账户和/或用户偏好相关联,使得系统100能够不同地解释命令和/或基于用户10讲话来执行额外功能。

通过使用主关联表602,系统100可以使用一个或多个输出设备,诸如设备110a、扬声器20、扬声器控制器22等,来生成音频。因此,单个输入可以控制多个输出设备。在一些示例中,一个设备可以与主关联表602中的多个条目相关联。例如,设备110a可以作为输入设备(例如,麦克风)和输出设备(例如,扬声器)被包括在主关联表602中。

图7a-7d示出了根据本公开的实施方案的控制输出设备的示例。如图7a所示,设备110a可以从房间1中的用户10接收输入音频712,并且服务器112可以确定选定的输出设备710包括房间1中的扬声器20a、房间3中的扬声器20b和房间4中的扬声器20c。因此,服务器112可以将音频数据发送到选定的输出设备710,并且选定的输出设备710可以在多个房间(例如,房间1、房间3和房间4)中生成输出音频714。

如图7b所示,设备110a可以从房间1中的用户10接收输入音频722,并且服务器112可以确定选定的输出设备720包括房间1中的扬声器20a。因此,服务器112可以将音频数据发送到选定的输出设备720,并且选定的输出设备720可以在与输入音频722相同的输出区域中生成输出音频724。

如图7c所示,设备110b-2可以从房间3中的用户10接收输入音频732,并且服务器112可以确定选定的输出设备730包括房间3中的扬声器20b。因此,服务器112可以将音频数据发送到选定的输出设备730,并可以使用连接到接收输入音频732的设备110b-2的扬声器20b来生成输出音频734。

如图7d所示,设备110b-2可以从房间2中的用户10接收输入音频742,并且服务器112可以确定选定的输出设备740包括房间1中的扬声器20a。因此,服务器112可以将音频数据发送到选定的输出设备740,并且选定的输出设备740可以在与接收输入音频742的位置不同的输出区域中生成输出音频744。

虽然图7a-7d示出了服务器112确定选定的输出设备,但是本公开不限于此,并且扬声器控制器22也可以确定选定的输出设备。因此,服务器112可以向扬声器控制器22发送指令,指示输入设备110、输出设备、位置、输出区域等,并且扬声器控制器22可以确定对应于该指令的选定的输出设备。例如,服务器112可以从房间1中的输入设备110a接收输入音频数据,并且可以向扬声器控制器22指示输入设备110a、位置(例如,房间1)等。作为响应,扬声器控制器22可以经由整个房屋中的扬声器20(例如,选定的输出设备710)、房间1中的扬声器20a(例如,选定的输出设备720)和/或单个扬声器(例如,比较靠近输入设备110a的第一扬声器20a-1)来播放音频。

图8a-8e示出了根据本公开的实施方案的用于生成和控制输出音频的设备之间的通信和操作。图8a示出了服务器112经由设备110b向扬声器20发送音频数据的示例。如图8a所示,设备110可以接收(810)对应于说出的话语(例如播放音乐的命令)的输入音频。设备110可以将对应于输入音频的音频数据发送(812)到服务器112。如上面参考图1所讨论的那样,然后,服务器112可以对音频数据执行(814)asr以获得文本,并可以根据文本确定(816)命令。例如,服务器112可以对文本执行自然语言理解(nlu)处理,这将导致可以用于执行命令的一些nlu输出数据(诸如文本的语义表示)。命令可以指示服务器112从音频源40播放音频(例如,音乐、无线电台等)、停止播放音频、增大或降低音频音量、静音、选择用于播放音频的扬声器20和/或区域等。因此,服务器112可以使用nlu输出来致使命令被执行。

在图8a所示的示例中,命令可以指示服务器112播放输出音频。因此,服务器112可以确定(818)音频源,例如选择音频源40中的一个。音频源40可以包括从远程位置(例如,互联网收音机等)接收到的流式音频数据和/或来自本地设备的音频数据(例如,am/fm无线电台、卫星无线电台、存储在可记录的计算机介质上或存储在非易失性存储装置中的数字音频数据,等等)。服务器112可以生成(820)音频源的url,并且可以将url发送(822)到设备110b。设备110b可以使用url来流式传输(824)音频数据,并且可以将音频数据发送(826)到扬声器20。扬声器20可以使用音频数据来播放(828)输出音频。虽然图8a示出了设备110b使用url来流式传输音频数据并将音频数据发送到扬声器20,但是本公开不限于此,并且设备110b可以将url发送到扬声器20,且扬声器20可以使用url来流式传输音频数据。

除了与音频源40相关联的音频数据(例如,音乐等)之外,服务器112还可以将与命令相关联的音频数据发送到扬声器20。例如,服务器112可以接收指示服务器112“播放滚石乐队的歌曲”的命令。响应于该命令,服务器112可以选择音频源40,并将第一音频数据发送到扬声器20,并且扬声器20可以使用第一音频数据,来播放第一音频(例如,播放滚石乐队的音乐)。另外,服务器112可以将第二音频数据发送到扬声器20,并且扬声器20可以使用第二音频数据来播放第二音频(例如,声明“播放滚石乐队的歌曲”的语音输出)。

图8b示出了服务器112直接向扬声器20发送音频数据的示例。如图8b所示,系统100可以执行如参考图8a所描述的步骤810-820。然而,服务器112可以将url直接发送(830)到扬声器20,并且扬声器20可以播放(832)输出音频。例如,扬声器20可以使用url来流式传输音频数据。如上所述,除了与音频源40相关联的音频数据(例如,音乐等)之外,服务器112还可以将与命令相关联的音频数据发送到扬声器20。

图8c示出了服务器112经由扬声器控制器22将音频数据发送到扬声器20的示例。如图8c所示,系统100可以执行如参考图8a所描述的步骤810-820。然而,服务器112可以将url发送(840)到扬声器控制器22。扬声器控制器22可以使用url来流式传输(842)音频数据,并且可以将音频数据发送(844)到扬声器20。扬声器20可以使用音频数据来播放(846)输出音频。如上所述,除了与音频源40相关联的音频数据(例如,音乐等)之外,服务器112还可以将与命令相关联的音频数据发送到扬声器20。

虽然图8a-8c示出了服务器112基于根据文本确定的命令来确定音频源,但是本公开不限于此,并且服务器112可以基于额外输入(例如,来自扬声器控制器22)来确定音频源,和/或可以向远程设备(例如,扬声器控制器22)发送命令以确定音频源。例如,扬声器控制器22可以直接访问音频源,并且服务器112可以向扬声器控制器22发送指令以确定音频源、从音频源接收音频数据,并将音频数据发送到扬声器20。在一些示例中,扬声器控制器22可以访问服务器112不能访问的音频源,例如对音频源的付费订阅等。图8d示出了服务器112向扬声器控制器22发送指令以确定音频源并直接从音频源接收音频数据的示例。另外或替代地,扬声器控制器22可以向服务器112提供额外输入,诸如音频源列表等。图8e示出了扬声器控制器22发送关于音频源(例如,音频源列表)和/或扬声器(例如,扬声器20的列表、与扬声器20相关联的地址等等)的额外信息的示例。

图8d示出了服务器112指示扬声器控制器22将音频数据发送到扬声器20的示例。在一些示例中,扬声器控制器22可以直接从远程音频源(例如在线音乐服务等)接收音频数据。在其他示例中,扬声器控制器22可以直接从直接或经由局域网连接到扬声器控制器22的本地音频源,例如网络设备(例如,硬盘、计算机、服务器、智能手机等),接收音频数据。如图8d所示,系统100可以执行如参考图8a所描述的步骤810-816。然而,服务器112可以向扬声器控制器22发送(850)命令,并且扬声器控制器22可以确定(852)音频源、接收(854)音频数据,并向扬声器20发送(856)音频数据。扬声器20可以使用音频数据来播放(858)输出音频。如上所述,除了与音频源40相关联的音频数据(例如,音乐等)之外,服务器112还可以将与命令相关联的音频数据发送到扬声器20。

在一些示例中,服务器112可以在服务器112将音频数据发送到扬声器20之前从扬声器控制器22接收额外输入数据。例如,扬声器控制器22可以向服务器112提供额外输入,诸如音频源列表、扬声器列表20、与扬声器20相关联的地址等。图8e示出了服务器112从扬声器控制器22接收信息并将音频数据直接发送到扬声器20的示例。如图8e所示,系统100可以执行如参考图8a所描述的步骤810-816。然而,服务器112可以向扬声器控制器22发送(860)对关于音频源和/或扬声器的信息(例如,网络地址或与扬声器相关联的其他配置信息)的请求,并且扬声器控制器22可以确定(862)音频源和/或扬声器,并将音频源和/或扬声器发送(864)到服务器112。通过使用由扬声器控制器22提供的信息,服务器112可以生成(866)音频源的url,并将url发送(868)到扬声器20。扬声器可以使用url来流式传输音频数据,并可以使用音频数据来播放(870)输出音频。如上所述,除了与音频源40相关联的音频数据(例如,音乐等)之外,服务器112还可以将与命令相关联的音频数据发送到扬声器20。

在一些示例中,服务器112可以确定音频源是设备110b本地的。例如,音频源可以是直接(例如,经由通用串行总线(usb)、蓝牙等)或经由局域网连接到设备110b的网络设备,诸如硬盘驱动器、计算机、服务器、智能手机等。图8f示出了设备110b从本地音频源接收音频数据的示例。如图8f所示,系统100可以执行如参考图8a所描述的步骤810-818。然而,服务器112可以向设备110b发送(880)命令,并且设备110b可以从本地音频源(例如,网络设备)接收(882)音频数据,并向扬声器20发送(884)音频数据,使得扬声器20可以使用音频数据来播放(886)输出音频。因此,服务器112可以接收对应于语音命令的输入音频数据,并可以指示设备110b将输出音频数据从本地音频源发送到扬声器20。

图9a-9b示出了根据本公开的实施方案的被发送到扬声器的数据的示例。如图9a所示,服务器112可以将数据910发送到扬声器20以生成输出音频920,例如音乐。例如,服务器112可以将对应于音乐(例如,滚石乐队的音乐)的第一音频数据流式传输到扬声器20。数据920可以包括这样的信息,诸如与扬声器20相关联的设备id和ip地址、与第一音频数据相关联的第一url地址(例如,音乐url)以及指示扬声器20执行动作(例如,播放经由第一url地址流式传输的第一音频数据)的命令(例如,“播放音频”)。

图9a所示的第一示例对应于包括音乐的输出音频920,而图9b示出了输出音频960包括音乐和语音输出的第二示例。如图9b所示,设备110b可以从用户10接收包括命令的输入音频940,并且设备110b可以将对应于输入音频940的音频数据发送到服务器112。服务器112可以确定命令,并可以将数据950发送到扬声器20以生成输出音频960,其包括音乐和语音输出。例如,命令可以指示服务器112使输出音频静音,调整音频的音量或类似功能。响应于一些命令,服务器112可以生成语音输出,向用户10指示,执行了命令。例如,语音输出可以声明“音频静音”、“增大音量”、“降低音量”等。因此,输出音频960可以包括以第一音量播放的音乐和以高于第一音量的第二音量播放的语音输出。

数据950可以包括这样的信息:诸如与扬声器20相关联的设备id和ip地址、与第一音频数据相关联的第一url地址(例如,音乐url)、与第二音频数据(例如,语音输出)相关联的第二url地址(例如,语音url)和指示扬声器20执行动作的命令(例如,“静音”、“音量放大”、“音量降低”、“语音覆盖”等)。虽然图9a-9b示出了若干命令,但是本公开不限于此,并且数据910/950可以包括本领域技术人员已知的任何命令。

当由扬声器20附近的设备110接收到输入音频时,语音覆盖命令可以指示扬声器20降低第一音频数据(例如,音乐)的音量。例如,当第一房间中的设备110检测到来自用户10的输入音频时,扬声器20可能正在第一房间中生成输出音频。如果扬声器20继续生成输出音频,则除了输入音频之外,设备110还可以接收输出音频,并可以降低服务器112正确解释输入音频的可能性。为了提高服务器112正确解释输入音频的可能性和/或减少与确定包括在输入音频中的命令相关联的处理消耗,系统100可以指示扬声器20降低输出音频的音量,或使输出音频静音。

图10a-10b示出了根据本公开的实施方案的设备之间的用于确定正在接收语音命令并降低对应输出音频的音量的通信和操作。图10a示出了服务器112在接收语音命令时直接向扬声器20发送输出音频数据的示例。如图10a所示,服务器112可以将输出音频数据发送(1006)到扬声器20,并且扬声器20可以使用输出音频数据来播放(1008)输出音频。当扬声器20正在播放输出音频时,设备110可以接收(1010)输入音频并且可以将输入音频的指示符发送(1012)到服务器112。在一些示例中,设备110可以识别输入音频中的唤醒词,所述唤醒词是指示设备110使用跟随唤醒词的输入音频来处理命令的特定字。然而,本公开不限于此,并且设备110可以将输入音频的指示符发送到服务器112,而不需要在输入音频中存在唤醒词。服务器112可以确定(1014)输入音频的位置(例如,设备110的位置和/或用户10的精确位置,并可以确定(1016)对应于该位置的输出设备。例如,服务器112可以确定设备110在第一房间中,并可以识别第一房间中的多个扬声器20。服务器112可以生成(1018)降低输出音频的音量的命令,并可以将命令发送(1020)给扬声器20。响应于接收到命令,扬声器20可以降低输出音频的音量和/或完全使输出音频静音。因此,设备110可以在没有输出音频干扰的情况下接收额外输入音频。

虽然图10a示出了服务器112直接将输出音频数据发送到扬声器20的示例,但是在一些示例中,系统100可以确定正在接收语音命令,并降低不是由服务器112发送的输出音频的音量。例如,图10b示出了当设备110接收到语音命令时扬声器控制器22将输出音频数据发送到扬声器20的示例。如图10b所示,扬声器控制器22可以将输出音频数据发送(1050)到扬声器20,并且扬声器20可以使用输出音频数据来播放(1052)输出音频。当扬声器20正在播放输出音频时,设备110可以接收(1010)输入音频并且可以将输入音频的指示符发送(1012)到服务器112。服务器112可以确定(1014)输入音频的位置(例如,设备110的位置和/或用户10的精确位置,并可以确定(1016)对应于该位置的输出设备。例如,服务器112可以确定设备110在第一房间中,并可以识别第一房间中的多个扬声器20。服务器112可以生成(1018)降低输出音频的音量的命令,并可以将命令发送(1020)到扬声器控制器22。响应于接收到命令,扬声器控制器22可以确定(1054)对应于命令的输出设备,并可以向扬声器20发送(1056)第二命令。响应于接收到第二命令,扬声器20可以降低(1058)输出音频的音量和/或完全使输出音频静音。因此,设备110可以在没有输出音频干扰的情况下接收额外输入音频。

在图10a-10b所示的示例中,用户10可能不在请求调低输出音频的音量。相反,用户10可能正在指示服务器112执行不同的命令,例如增大输出音频的音量。然而,为了提高服务器112正确解释输入音频的可能性和/或减少与确定包括在输入音频中的命令相关联的处理消耗,系统100可以识别接近用户的输出设备10,并指示输出设备降低输出音频的音量或使输出音频静音。

系统100可以至少在系统100接收输入音频的持续时间内降低输出音频的音量和/或使输出音频静音。例如,系统100可以在用户10说话时降低输出音频的音量。在一些示例中,系统100可以在更长的时间段内降低输出音频的音量,包括当系统100正在处理输入音频数据时、确定命令并执行命令时。例如,系统100可以在用户10说话时降低输出音频的音量,并直到系统100正确地解释并执行对应的命令为止。因此,系统100可以执行命令并恢复输出音频的先前音量。

在一些示例中,用户10可能位于房屋中,并且系统100可能在房屋的一个或多个房间内生成输出音频。例如,房屋可以包括未连接到设备110的多个扬声器系统(例如,扬声器20),并且系统100可以控制多个扬声器系统以响应于语音命令来播放来自音频源的音乐。当系统100接收输入音频时,系统100可以控制用户10附近的(多个扬声器系统中的)一个或多个扬声器20以降低输出音频的音量。另外或替代地,系统100可以控制多个扬声器系统播放对应于视频源的音频,例如通过扬声器20播放输出音频,同时在电视机上显示输出视频。当系统100接收输入音频时,系统100可以控制扬声器20降低输出音频的音量,同时在电视机上暂停输出视频。在另一示例中,用户10可能位于汽车中,系统100可以使用在汽车中安装(例如,硬连线)的扬声器20来生成输出音频30。当系统100接收输入音频时,系统100可以控制扬声器20以降低输出音频的音量。

虽然上面示出的示例描述了设备110捕获输入音频数据,但是本公开不限于此。相反,在一些示例中,系统100可以从单独的设备接收输入音频数据。例如,遥控器可以连接到设备110,并且设备110可以经由网络199连接到服务器112。因此,遥控器可以使用麦克风捕获输入音频数据,并且可以经由设备110将输入音频数据发送到服务器112。

在一些示例中,单独的设备(例如,遥控器)和/或设备110可以包括物理按钮并且可以具有“即按即说”或“敲击即说”功能,其中用户10可以按下按钮、说话,然后,松开按钮。单独的设备和/或设备110可以在按钮被按下时捕获输入音频数据,并可以将输入音频数据发送到服务器112以进行语音处理。在一些示例中,除了将输入音频数据发送到服务器112之外,单独的设备/设备110可以向扬声器20和/或电视机发送指令以降低输出音频的音量级和/或暂停视频。例如,当用户10按下遥控器上的按钮时,遥控器可以捕获输入音频数据,经由设备110将输入音频数据发送到服务器112,并且向扬声器20/电视机发送指令以降低输出音频的音量级并暂停视频。另外或替代地,服务器112可以从单独的设备/设备110接收输入音频数据,并可以将指令发送到扬声器20和/或电视机以降低输出音频的音量级和/或暂停视频。

在一些示例中,系统100可以确定从近场设备接收输入音频数据,并可以不调低音量级。例如,设备110可以是远场设备(例如,使用被配置为检测大范围内(例如房间)的音频的第一麦克风来捕获输入音频数据),而单独的设备可以是近场设备(例如,使用被配置为检测小范围内(例如0-3英尺)的音频的第二麦克风来捕获输入音频)。因此,当系统100接收从设备110捕获(例如,使用第一麦克风)的第一输入音频数据时,系统100可以向扬声器20发送指令以降低输出音频的音量级,因为输出音频可能会干扰捕获第一输入音频数据。然而,当系统100接收从单独设备捕获(例如,使用第二麦克风)的第二输入音频数据时,系统100可以不将指令发送到扬声器20,因为输出音频不干扰捕获第二输入音频数据。虽然以上示例将设备110描述为远场设备,但是本公开不限于此,并且设备110可以是远场设备、近场设备或其组合。例如,设备110可以包含一个物理按钮,当按钮未被按下时,可以作为远场设备运行,而当按钮被按下时,可以作为近场设备运行,而不会脱离本公开。

在一些示例中,系统100可以在捕获输入音频数据时不降低输出音频的音量,但是如果系统100不能以高于最小精度阈值的精度来解释输入音频数据,则可以降低输出音频的音量级。例如,系统100可以在扬声器20以第一音量级生成输出音频时捕获第一输入音频数据。至少部分地由于输出音频,系统100可能会生成具有低于最低精度阈值的置信级的第一命令,指示系统100无法正确解释第一输入音频数据。系统100可以向扬声器20发送指令,将输出音频的音量从第一音量级降低到第二音量级,并可以捕获第二输入音频数据。由于输出音频是以第二音量级生成的,系统100可以生成具有高于最小精度阈值的置信级的第二命令。在一些示例中,系统100可以生成请求用户10重复命令的语音输出数据。例如,在生成置信级低于最小精度阈值的第一命令之后,系统100可以生成语音输出数据,可以向扬声器20发送指令以降低输出音频的音量,并可以向扬声器20发送语音输出数据,以进行重放。因此,扬声器20可以降低输出音频的音量、生成请求用户10重复命令的语音输出并且系统100可以捕获第二输入音频数据。

虽然图10a-10b示出了服务器112在步骤1016中确定对应于位置的输出设备,但是本公开不限于此。相反,如上面参考图5a-5h和/或7a-7d中所讨论的那样,在一些示例中,扬声器控制器22可以确定输出设备。因此,服务器112可以发送命令,指示输入设备110、输入设备110的位置、输出设备、输出区域、位置等,并且扬声器控制器22可以确定对应于该命令的输出设备。例如,服务器112可以从房间1中的输入设备110a接收输入音频数据,并可以向扬声器控制器22发送命令,指示输入设备110a、位置(例如,房间1)和/或额外数据。作为响应,扬声器控制器22可以降低由整个房屋中的扬声器20、房间1中的扬声器20和/或单个扬声器20(例如,最靠近输入设备110a的第一扬声器20a-1)生成的音频音量。

图11a-11c示出了根据本公开的实施方案的设备之间的用于确定向其发送命令的输出设备的通信和操作。图11a-11c示出了服务器112可以与第一命令(未示出)一起发送到扬声器控制器22的信息,以及扬声器控制器22如何确定对应于第一命令的输出设备(例如,扬声器20)的不同示例。例如,图11a-11c所示的步骤可以作为图10a-10b的步骤1016-1022和/或1054-1058的一部分或代替它们来执行。

图11a示出了服务器112具体识别要向其发送命令的输出设备的第一示例。如图11a所示,服务器112可以确定(1110)输出设备,并向扬声器控制器22发送(1112)输出设备的指示。扬声器控制器22可以确定(1114)输出设备,并向输出设备(包括扬声器20)发送(1116)第二命令。扬声器20可以接收第二命令,并可以降低(1118)输出音频的音量。因此,服务器112可以识别特定输出设备,并且扬声器控制器22可以将命令转发到所识别的输出设备。在一些示例中,服务器112可以使用第一标识系统来识别输出设备,并且扬声器控制器22可以使用第二标识系统来识别输出设备。

图11b示出了服务器112指示输出区域并且扬声器控制器22确定对应于该输出区域的输出设备的第二示例。如图11b所示,服务器112可以确定(1130)输出区域,并向扬声器控制器22发送(1132)输出区域的指示。扬声器控制器22可以确定(1134)位于输出区域中的输出设备,并向输出设备(包括扬声器20)发送(1136)命令。扬声器20可以接收命令,并可以降低(1138)输出音频的音量。因此,服务器112可以识别输出区域,并且扬声器控制器22可以确定输出区域中包括的输出设备。

图11c示出了服务器112指示输入设备110和/或输入设备110的位置并且扬声器控制器22确定对应于输入设备/位置的输出设备的的第三示例。如图11c所示,服务器112可以确定(1150)输入音频的位置,诸如输入设备110的位置,并且可以发送(1152)该位置的指示。该指示可以指定位置本身和/或接收输入音频的输入设备110。扬声器控制器22可以确定(1154)对应于该位置的输出设备,并可以向输出设备(包括扬声器20)发送(1156)第二命令。扬声器20可以接收第二命令,并可以降低(1158)输出音频的音量。因此,服务器112可以识别输入设备110和/或与输入音频相关联的位置,并且扬声器控制器22可以确定与输入设备110和/或位置相关联的输出设备。

在一些示例中,扬声器20、输出区域和/或输入/输出关联可以是服务器112和扬声器控制器22两者都知道的。作为第一示例,扬声器20(例如,第一扬声器20a-1)可以具有由服务器112和扬声器控制器22两者使用的标识(例如,唯一名称)、位置(例如,特定位置)和/或地址(例如,网络地址)。作为第二示例,服务器112和扬声器控制器22两者都可以将扬声器20a-1和20a-2分组在第一输出区域(例如,区域1)中,并且第一输出区域可以具有由服务器112和扬声器控制器22使用的标识(例如,唯一名称)、位置(例如,特定房间或位置)和/或地址(例如,网络地址)。作为第三示例,服务器112和扬声器控制器22两者都可以在第一关联中将扬声器20a-1和20a-2与输入设备110a和110c相关联,并且第一关联可以具有由服务器112和扬声器控制器22使用的标识(例如,唯一名称)、位置(例如,特定房间或位置)和/或地址(例如,网络地址)。服务器112和扬声器控制器22可以存储与第一输出区域和/或第一关联相关联的所有输入设备和/或输出设备的标识、位置和/或地址。因此,服务器112可以向扬声器控制器22发送指令(例如,使用标识、位置、地址和/或其组合),指示特定的扬声器20、输出区域、位置、输入设备、输入/输出关联和/或类似物,并且扬声器控制器22可以响应于该指令来控制对应的扬声器20。

在一些示例中,服务器112已知的第一输出区域可以包括所有输出设备,扬声器控制器22已知的第二输出区域可以包括第一输出区域中包括的输出设备的子集。例如,服务器112可以具有第一输出区域,其包括设备110a、设备110c、第一扬声器20a-1和第二扬声器20a-2,并且扬声器控制器22具有第二输出区域,其仅包括第一扬声器20a-1和第二个扬声器20a-2。因此,扬声器控制器22已知的第二输出区域对应于服务器112已知的第一输出区域,但仅包括由扬声器控制器22控制的输出设备。然而,如上所述,服务器112可以向扬声器控制器22发送指示第一输出区域的指令,并且扬声器控制器22可以响应于该指令来控制对应的扬声器20。

相反,在一些示例中,扬声器20、输出区域和/或输入/输出关联在服务器112和扬声器控制器22之间可以是不同的,并且服务器112和/或扬声器控制器22可能需要将指令从第一识别系统(例如,由服务器112使用)转换到第二识别系统(例如,由扬声器控制器22使用)。因此,服务器112可以向扬声器控制器22发送指令,指示第一识别系统中的特定扬声器20、输出区域、输入设备、输入设备的位置和/或类似物,并且扬声器控制器22可以识别第二识别系统中的对应于指令的扬声器20,并相应地控制扬声器20。作为第一示例,服务器112可以使用第一标识、第一位置和/或第一地址来引用第一扬声器20a-1,并且扬声器控制器22可以使用第二标识、第二位置和/或第二地址来识别第一扬声器20a-1。作为第二示例,服务器112可以引用第一输出区域,并且扬声器控制器22可以识别包括对应于第一输出区域的扬声器20的第二输出区域。作为第三示例,服务器112可以引用输入设备110、输入设备110的位置、第一输入/输出关联等,并且扬声器控制器22可以识别第二输入/输出关联和/或包括对应的扬声器20的输出区域。因此,服务器112可以向扬声器控制器22发送指令,指示使用第一识别系统和/或没有特异性的输出设备,并且扬声器控制器22可以使用第二识别系统来识别对应的扬声器22。

在一些示例中,扬声器控制器22可以将指令从第一识别系统转换到第二识别系统,并控制在指令中未指示的额外扬声器20。因此,服务器112可以发送控制第一扬声器20a的指令,并且扬声器控制器22可以控制包括第一扬声器20a的一组扬声器20。作为第一示例,指令可以引用第一扬声器20a,并且扬声器控制器22可以识别包括第一扬声器20a(以及扬声器20b和20c)的输出区域,并根据指令来控制输出区域。作为第二示例,服务器112可以引用第一输出区域,并且扬声器控制器22可以识别包括对应于第一输出区域的扬声器20以及额外的扬声器20的第二输出区域。例如,服务器112可以发送指令以控制第一识别系统中的第一输出区域(例如,位于房间1中的第一扬声器20a-1和第二扬声器20a-2),并且扬声器控制器22可以将第一输出区域转换成第二识别系统中的第二输出区域(例如,位于房间1中的第一扬声器20a-1和第二扬声器20a-2以及位于房间4中的扬声器20c)。因此,扬声器控制器22可以控制未由服务器112指定的额外扬声器20,而不会脱离本公开。

在一些示例中,系统100在捕获输入音频数据时不降低输出音频的音量级,而是在由扬声器20生成语音输出时降低输出音频的音量级。例如,当设备110捕获输入音频数据,指示系统选择特定的音乐轨道进行回放时,扬声器20可能正在生成输出音频。当设备110捕获输入音频数据时,扬声器20可以第一音量级生成输出音频。在系统100解释来自输入音频数据的命令之后,系统100可以生成语音输出数据,并将语音输出数据发送到扬声器20。扬声器20可以在生成语音输出的同时将输出音频的音量从第一音量级降低到第二音量级,然后,将输出音频的音量从第二音量级增大到第一音量级。

图12示出了根据本公开的实施方案的设备之间的经由扬声器控制器降低音量和输出语音数据的通信和操作。如图12所示,扬声器控制器22可以将输出音频数据发送(1210)到扬声器20,并且扬声器20可以使用输出音频数据来播放(1212)输出音频。当扬声器20正在播放输出音频时,输入设备110可以接收(1214)输入音频,并将输入音频数据发送(1216)到服务器112。服务器112可以根据输入音频数据来确定(1218)第一命令。第一命令可以与输出音频(例如,改变音频源、选择或推进歌曲轨道、升高或降低音量等的命令)相关联,但是本公开不限于此,并且第一命令也可以不与输出音频(例如,向服务器112发送通用命令、向服务器112请求信息、向服务器112输入信息等)相关联。服务器112可以生成(1220)对应于第一命令的语音输出数据、可以生成(1222)第二命令以降低输出数据的音量并可以向扬声器控制器22发送(1224)第二命令和语音输出数据。

扬声器控制器22可以确定(1226)输出设备,如上面参考图11a-11c所讨论的,并且可以向扬声器20发送(1228)第二命令和语音输出数据。扬声器20可以将输出音频的音量从第一音量级降低(1230)到第二音量级、使用语音输出数据来播放(1232)语音输出并将输出音频的音量从第二个音量级升高(1234)到第一个音量级。因此,服务器112可以指示扬声器20在播放语音输出时降低输出音频的音量。例如,第一命令可以是查询(例如,“今天是几号?”),扬声器20可以降低输出音频(例如,正在播放的音乐)的音量,响应于查询,播放输出音频(例如,“今天是3月23日”),并升高输出音频的音量。

另外或替代地,当设备110生成语音输出时,系统100可以降低输出音频的音量级。例如,当设备110捕获从服务器112请求信息的输入音频数据时,扬声器20可能正在生成输出音频。当设备110捕获输入音频数据时,扬声器20可以第一音量级生成输出音频。在系统100解释来自输入音频数据的命令之后,系统100可以生成语音输出数据,并将语音输出数据发送到设备110。系统100还可以生成命令以将输出音频的音量从第一音量级降低到第二音量级,并将命令发送到扬声器20。当设备110生成语音输出时,扬声器20可以将输出音频的音量从第一音量级降低到第二音量级。在生成语音输出之后,扬声器20可以将输出音频的音量从第二音量级增大到第一音量级。

图13示出了根据本公开的实施方案的设备之间的经由扬声器控制器降低音量并经由输入设备输出语音数据的通信和操作。如图13所示,扬声器控制器22可以将输出音频数据发送(1310)到扬声器20,并且扬声器20可以使用输出音频数据来播放(1312)输出音频。当扬声器20正在播放输出音频时,输入设备110可以接收(1314)输入音频,并将输入音频数据发送(1316)到服务器112。服务器112可以根据输入音频数据来确定(1318)第一命令。第一命令可以与输出音频(例如,改变音频源、选择或推进歌曲轨道、升高或降低音量等的命令)相关联,但是本公开不限于此,并且第一命令也可以不与输出音频(例如,向服务器112发送通用命令、向服务器112请求信息、向服务器112输入信息等)相关联。服务器112可以生成(1320)对应于第一命令的语音输出数据,可以生成(1322)第二命令以降低输出数据的音量,并可以向扬声器控制器22发送(1324)第二命令。

扬声器控制器22可以确定(1326)输出设备,如上面参考图11a-11c所讨论的,并且可以向扬声器20发送(1328)第二命令。扬声器20可以将输出音频的音量从第一音量级降低(1330)到第二音量级。当音量降低时,服务器112可以向设备110发送(1332)语音输出数据,并且设备110可以使用语音输出数据来播放(1334)语音输出。因此,服务器112可以指示扬声器20在设备110播放语音输出时降低输出音频的音量。例如,第一命令可以是查询(例如,“今天是几号?”),并且扬声器20可以降低输出音频(例如,正在播放的音乐)的音量,使得设备110可以响应于查询,播放语音输出(例如,“今天是3月23日”)。

在图12所示的示例中,系统100向输出设备(例如,扬声器20)发送单个命令来降低输出音频的音量、播放语音输出,并升高输出音频的音量。因此,系统100不需要知道语音输出何时完成以便升高音量。然而,在图13所示的示例中,系统100向第一设备(例如,扬声器20)发送一个命令来降低输出音频的音量,并向第二设备(例如,设备110)发送另一个命令来播放语音输出。因此,系统100必须确定语音输出何时完成(例如,设备110已经完成播放语音输出),并通过扬声器20来升高输出音频的音量。

图14a-14c示出了根据本公开的实施方案的设备之间的用于确定何时语音输出完成的通信和操作。图14a示出了服务器112确定与语音输出相关联的持续时间并且在发送给扬声器20的第二命令中包括该持续时间,从而使得扬声器20能够在持续时间过去之后升高输出音频的音量的第一示例。如图14a所示,服务器112可以为第一命令生成(1320)语音输出数据确定(1410)与语音输出数据相关联的持续时间生成(1412)第二命令以在该持续时间内降低输出音频的音量并且向扬声器控制器22发送(1324)第二命令。扬声器控制器22可确定(1326)输出设备,并将第二命令发送(1328)到扬声器20。扬声器20可以降低(1330)输出音频的音量。服务器112可以将语音输出数据发送(1332)到设备110,并且设备110可以使用语音输出数据来播放(1334)语音输出。扬声器20可以确定(1414)时间持续时间已经过去,并升高(1416)输出音频的音量。

图14b示出了服务器112确定与语音输出相关联的持续时间、确定持续时间何时已经过去以及向扬声器20发送第三命令以升高输出音频的音量的第二示例。如图14b所示,服务器112可以为第一命令生成(1320)语音输出数据、确定(1410)与语音输出数据相关联的持续时间、生成(1322)第二命令以降低输出音频的音量并且向扬声器控制器22发送(1324)第二命令。扬声器控制器22可确定(1326)输出设备,并将第二命令发送(1328)到扬声器20。扬声器20可以降低(1330)输出音频的音量。服务器112可以将语音输出数据发送(1332)到设备110,并且设备110可以使用语音输出数据来播放(1334)语音输出。服务器112可以确定(1430)持续时间已经过去,生成(1432)第三命令以升高输出音频的音量,并将第三命令发送(1434)到扬声器控制器22。扬声器控制器22可确定(1436)输出设备,并将第三命令发送(1438)到扬声器20。扬声器20可以接收第三命令,并升高(1440)输出音频的音量。

图14c示出了服务器112在语音输出完成之后从设备110接收输入并且向扬声器20发送第三命令以升高输出音频的音量的第三示例。如图14c所示,服务器112可以为第一命令生成(1320)语音输出数据、生成(1322)第二命令以降低输出音频的音量并且向扬声器控制器22发送(1324)第二命令。扬声器控制器22可确定(1326)输出设备,并将第二命令发送(1328)到扬声器20。扬声器20可以降低(1330)输出音频的音量。服务器112可以将语音输出数据发送(1332)到设备110,并且设备110可以使用语音输出数据来播放(1334)语音输出,并向服务器112发送(1450)完成的指示。服务器112可以生成(1452)第三命令以升高输出音频的音量,并将第三命令发送(1454)到扬声器控制器22。扬声器控制器22可确定(1456)输出设备,并将第三命令发送(1458)到扬声器20。扬声器20可以接收第三命令,并升高(1460)输出音频的音量。

虽然图14a-14c示出了确定何时完成语音输出的三个示例,但是本公开不限于此,并且系统100可以使用类似的技术来确定语音输出完成并升高输出音频的音量,而不会脱离本公开。因此,系统100可以在通过第二输出设备(例如,设备110)输出语音输出的同时,降低经由第一输出设备(例如,扬声器20)播放的输出音频的音量。

图15示出了根据本公开的实施方案的设备之间的用于响应查询的通信和操作。在一些示例中,用户10可以向服务器112询问问题或发出命令,这需要来自扬声器控制器22的信息。例如,扬声器控制器22可能正在向扬声器20发送音频,并且用户10可以询问正在播放什么歌曲。由于服务器112不参与发送音频数据,为了回答问题,服务器112可能需要与扬声器控制器22进行双向通信,使得服务器112能够知道和/或请求歌名。

如图15所示,扬声器控制器22可以向扬声器20发送(1510)输出音频数据,并与服务器112共享(1512)数据(例如,歌曲内的位置、歌名、艺术家姓名、专辑名称、音频源等)。当扬声器20使用输出音频数据播放(1514)输出音频时,设备110可以接收(1516)输入音频,并可以将输入音频数据发送(1518)到服务器112。虽然在图15中未示出,但是系统100可以使用图10a-10b中示出的步骤来在设备110接收输入音频的同时降低输出音频的音量。

服务器112可以确定(1520)输入音频数据对应于“正在播放什么”的查询,该查询是指示服务器112通知用户10输出音频中当前正在播放什么歌曲和艺术家姓名的命令。服务器112可以使用来自扬声器控制器22的共享数据来确定(1522)正在播放什么歌曲。例如,服务器112可以根据先前共享的数据,来确定与输出音频相关联的艺术家姓名和歌名。然而,本公开不限于此,并且服务器112可以响应于输入音频数据,向扬声器控制器22发送对额外数据的请求。

服务器112可以生成(1524)语音输出的url,并且可以将url发送(1526)到扬声器控制器22。扬声器控制器22可以将url发送(1528)到扬声器20。扬声器20可以可选地降低(1530)输出音频的音量(由虚线表示),并可以播放(1532)对应于使用url接收到的语音输出数据的语音输出。然而,本公开不限于此,在一些示例中,扬声器控制器22可以使用url来接收语音输出数据,并可以将语音输出数据发送到扬声器20。

因此,服务器112可以从扬声器控制器22接收共享的数据,并可以使用共享数据来生成到用户10的语音输出。虽然图15示出了服务器112响应“正在播放什么”的查询的示例,但是本公开不限于此,并可以使用类似的技术来响应设备110从用户10接收到的多个查询/命令。另外或替代地,虽然图15示出了扬声器20播放语音输出,但是本公开不限于此,并且语音输出可以由其他设备(例如,设备110)播放,而不会脱离本公开。

图16是概念性地示出了可以与所描述的系统一起使用的本地设备110的框图。图17是概念性地示出了远程设备(诸如可以辅助asr、nlu处理或命令处理的远程服务器112)的示例部件的框图。多个这样的服务器112可以包括在系统中,诸如用于asr的一台服务器112、用于nlu的一台服务器112等。在操作中,这些设备中的每一台都可以包括驻留在相应设备(110/112)上的计算机可读和计算机可执行指令,如下面将进一步讨论的。

这些设备(110/112)中的每一台都可以包括一个或多个控制器/处理器(1604/1704),它们中每一个都可以包括用于处理数据和计算机可读指令的中央处理单元(cpu),以及用于存储相应的设备的数据和指令的存储器(1606/1706)。存储器(1606/1706)可以分别包括易失性随机存取存储器(ram)、非易失性只读存储器(rom)、非易失性磁阻(mram)和/或其他类型的存储器。每台设备都还可以包括数据存储部件(1608/1708),用于存储数据和控制器/处理器可执行指令。每个数据存储部件都可以分别包含一个或多个非易失性存储类型,如磁性存储装置、光学存储装置、固态存储装置等。每台设备还可以通过相应的输入/输出设备接口(1602/1702)连接到可移除的或外部非易失性存储器和/或存储装置(如可移除存储卡、存储器密钥驱动器、网络存储装置等)。

用于操作每台设备(110/112)及其各种部件的计算机指令可以由相应设备的控制器/处理器(1604/1704)执行,在运行时,使用存储器(1606/1706)作为临时“工作”存储。设备的计算机指令可以非暂时方式存储在非易失性存储器(1606/1706)、存储装置(1608/1708)或外部设备中。或者,除了软件之外或代替软件,一些或所有可执行指令可以嵌入在相应设备上的硬件或固件中。

每台设备(110/112)都包括输入/输出设备接口(1602/1702)。可以通过输入/输出设备接口连接各种部件,如下面将进一步讨论的。另外,每台设备(110/112)都可以包括地址/数据总线(1624/1724),用于在相应设备的部件之间传送数据。除了(或代替)跨总线(1624/1724)连接到其他部件之外,设备(110/112)内的每个部件还可以直接连接到其他部件。

参考图16的设备110,设备110可以包括显示器(未示出),其可以包括触摸界面。或者设备110可以是“无头的”,并可以主要依赖于口头命令来进行输入。作为向用户指示与另一设备之间的连接已经断开的方式,设备110可以被配置有可视指示器,例如led或类似部件(未示出),其可以改变颜色、闪烁或以其他方式通过设备110提供视觉指示。设备110还可以包括输入/输出设备接口1602,其连接到各种部件,诸如音频输出部件,诸如扬声器1660、有线耳机或无线耳机(未示出)或能够输出音频的其他部件。设备110还可以包括音频捕获部件。音频捕获部件可以是例如麦克风1650或麦克风阵列、有线耳机或无线耳机(未示出)等。麦克风1650可以被配置为捕获音频。如果包括麦克风阵列,则可以基于由阵列的不同麦克风捕获的声音之间的时间和幅度差异来对声音原点的近似距离执行声音定位。设备110(使用麦克风1650、唤醒词检测模块220、asr模块250等)可以被配置为确定对应于检测到的音频数据的音频数据。设备110(使用输入/输出设备接口1602、天线1614等)还可以被配置为将音频数据发送到服务器112以进一步处理,或使用诸如唤醒词检测模块220的内部部件来处理数据。

例如,经由天线,输入/输出设备接口1602可以经由无线局域网(wlan)(例如wifi)无线电、蓝牙和/或无线网络无线电(例如,能够与诸如长期演进(lte)网络、wimax网络、3g网络等进行无线通信的无线电)连接到一个或多个网络199。也可以支持诸如以太网的有线连接。通过网络199,语音处理系统可以跨网络环境分布。

设备110和/或服务器112可以包括asr模块250。设备110中的asr模块可以具有有限的或扩展的能力。asr模块250可以包括存储在asr模型存储部件252中的语言模型254,以及执行自动语音辨识过程的asr模块250。如果包括有限语音辨识,则asr模块250可以被配置为识别有限数量的词,例如由设备检测到的关键词,而扩展语音辨识可以被配置为辨识更大范围的词。

设备110和/或服务器112可以包括有限或扩展的nlu模块260。设备110中的nlu模块可以具有有限的或扩展的能力。nlu模块260可以包括命名实体辨识模块262、意图分类模块264和/或其他部件。nlu模块260还可以包括存储的知识库和/或实体库,或者那些存储装置可以分开定位。

设备110和/或服务器112还可以包括命令处理器290,如上所述,其被配置为执行与口头命令相关联的命令/功能。

设备110可以包括唤醒词检测模块220,其可以是单独的部件或者可以包括在asr模块250中。唤醒词检测模块220接收音频信号,并检测音频中特定表达(例如配置的关键词)的出现。这可以包括检测特定时间段内的频率变化,其中频率的变化导致系统辨识为对应于关键词的特定音频签名。关键词检测可以包括分析单个定向音频信号,例如在适用的情况下经过波束成形后处理的那些。也可以使用关键词检测领域已知的其他技术(也称为关键词定位)。在一些实施方案中,设备110可以被共同配置为识别一组定向音频信号,在该组定向音频信号中检测到唤醒表达或者唤醒表达可能已经发生。

唤醒词检测模块220接收捕获的音频并处理音频(例如,使用模型232),以确定音频是否对应于设备110和/或系统100可辨识的特定关键词。存储装置1608可以存储与关键词和功能有关的数据,以使唤醒词检测模块220能够执行上述算法和方法。在设备110被配置为由用户访问网络之前,可以基于已知信息,预先配置本地存储的语音模型。例如,模型可以是特定于用户设备被销往或预测要被使用的地区的语言和/或口音,或者基于用户配置文件等,可以是特定于用户他/她自己的语言和/或口音。在一方面,模型可以是使用来自另一设备的用户的语音或音频数据来预先训练的。例如,用户可能拥有用户经由口头命令操作的另一用户设备,此语音数据可以与用户配置文件相关联。然后,在用户设备110被递送给用户或被配置为由用户访问网络之前,可以利用来自其他用户设备的语音数据来训练设备110的本地存储的语音模型。唤醒词检测模块220可以访问存储装置1608,并使用音频比较、模式辨识、关键词定位、音频签名和/或其他音频处理技术,将捕获的音频与存储的模型和音频序列进行比较。

设备110可以与用户配置文件相关联。例如,如图6所示,设备可以与用户配置文件相关联(其中用户配置文件可以跨多台设备相同或不同)。例如,设备可以与用户标识(id)号或将设备链接到用户账户的其他配置文件信息相关联。所述系统可以使用用户账户/id/配置文件来执行语音控制命令(例如,上面参考图2讨论的命令)。用户账户/id/配置文件可以与特定模型或用于识别接收到的音频、分类接收到的音频(例如,非环境声音、人类生成的声音和/或语音)等的其他信息相关联。不同的用户配置文件可以是链接的(例如在家庭成员的情况下),也可以是独立的。

服务器112可以包括模型训练部件1770。可以使用各种机器学习技术来执行上述各种步骤,例如路由nlu请求、确定会话是否结束等。可以根据各种机器学习技术来对模型进行训练和操作。这些技术可以包括,例如,神经网络(例如深度神经网络和/或递归神经网络)、推理引擎,经训练的分类器等。经训练的分类器的示例包括支持向量机(svm)、神经网络、决策树、与决策树相结合的adaboost(“自适应提升”的缩写)以及随机森林。以svm为例,svm是一种监督学习模型,具有相关联的学习算法,这些算法可以分析数据,并辨识数据中的模式,并且通常用于分类和回归分析。给定一组训练示例,每个示例都被标记为属于两个类别之一,svm训练算法构建一个模型,该模型将新示例分配到一个类别或另一个类别,使其成为非概率性二元线性分类器。可以使用识别两个以上类别的训练集来构建更复杂的svm模型,svm确定哪个类别与输入数据最相似。可以映射svm模型,以便通过明确的间隙划分单独类别的示例。然后将新的示例映射到该同一空间,并根据它们落在间隙的哪一侧来预测属于哪一个类别。分类器可以给出“分数”,表示数据最匹配哪一个类别。分数可以提供数据与该类别匹配程度的指示。

为了应用机器学习技术,需要训练机器学习过程本身。训练机器学习部件(例如,在这种情况下,第一或第二模型之一)需要为训练示例建立“基础事实”。在机器学习中,术语“基础事实”是指训练集的分类对监督学习技术的准确性。可以使用各种技术来训练模型,包括反向传播、统计学习、监督学习、半监督学习、随机学习或其他已知技术。在训练期间,可以使用许多不同的训练示例话语,以例如训练将由nlu路由器280使用的机器学习模型等。

如上所述,可以在单个语音处理系统中采用多个设备。在这样的多设备系统中,每台设备都可以包括用于执行语音处理的不同方面的不同部件。多个设备可以包括重叠部件。如图16和17所示的设备110和服务器112的部件是示例性的,并可以作为独立的设备存在,或者可以全部或部分地被包括为更大设备或系统的部件。

如图18所示,多个设备(20、22、110a-110f、112)可以包含系统100的部件,并且这些设备可以通过网络199连接。网络199可以包括本地或专用网络,或者可以包括诸如因特网的广域网。设备可以通过有线或无线连接来连接到网络199。例如,语音控制设备110a、语音控制设备110b、电视机110c、冰箱110d、智能手表110e,智能手机110f和/或车辆110g可以通过无线服务提供商、通过wifi或蜂窝网络连接等,连接到网络199。包括其他设备作为联网的支持设备,诸如服务器112、扬声器控制器22或其他。支持设备可以通过有线连接或无线连接来连接到网络199。联网设备110可以使用一个或多个内置或连接的麦克风1650或音频捕获设备来捕获音频,由相同设备或经由网络199连接的另一设备的asr、nlu或其他部件(例如,一个或多个服务器112的asr250、nlu260等)执行处理。

本文公开的概念可以应用于许多不同的设备和计算机系统中,包括例如通用计算系统、语音处理系统和分布式计算环境。

本公开的上述方面意为说明性的。选择它们是为了解释本公开的原理和应用,并非旨在穷举或限制本公开。所公开方面的许多修改和变化对于本领域技术人员来说是显而易见的。计算机和语音处理领域的普通技术人员应认识到,本文所描述的部件和处理步骤可以与其他部件或步骤或者部件或步骤的组合互换,并且仍然实现本公开的益处和优点。此外,对于本领域技术人员来说显而易见的是,可以在没有本文所公开的一些或所有具体细节和步骤的情况下实施本公开。

通过阅读以下条款,也可以更好地理解上文:

1.一种用于使用输入设备来控制扬声器系统的计算机实现的方法,所述方法包括:

确定输入设备的第一位置;

确定可由联网设备控制的第一无线扬声器的第二位置;

确定所述第一位置接近所述第二位置;

将所述输入设备与所述第一无线扬声器相关联;

从所述输入设备接收对应于话语的输入音频数据;

确定所述第一无线扬声器与所述输入设备相关联;

确定所述第一无线扬声器正在输出第一音频;

生成指示所述联网设备使所述第一音频的音量级降低的第一命令,所述第一命令可至少部分地由所述联网设备执行;

向所述联网设备发送第一指令以执行所述第一命令;

对所述输入音频数据执行语音处理,以确定语音处理输出;

确定所述语音处理输出指示所述第一无线扬声器;

确定所述语音处理输出指示输出第二音频的第二命令,所述第二命令可至少部分地由所述联网设备执行;

确定所述语音处理输出指示从其生成所述第二音频的音频源;

使用与所述输出音频数据相关联的地址标识符,发送对应于所述音频源的输出音频数据;

向所述联网设备发送所述地址标识符;以及

向所述联网设备发送第二指令以执行所述第二命令,所述第二命令指示所述联网设备使用所述地址标识符来获得所述输出音频数据,并使用所述第一无线扬声器,从所述输出音频数据生成所述第二音频。

2.根据条款1所述的计算机实现的方法,其还包括:

生成第二输出音频数据,其包括指示正在执行所述第二命令的合成语音;

使用第二地址标识符来发送所述第二输出音频数据;以及

将所述第二地址标识符发送到所述联网设备,

其中所述第二命令指示所述联网设备:

使用所述地址标识符来获得所述输出音频数据,

以第一音量级,经由所述第一无线扬声器从所述输出音频数据生成所述第二音频,

使用第二地址标识符来获得所述第二输出音频数据,以及

以第二音量级,经由所述第一无线扬声器从所述第二输出音频数据生成所述第三音频。

3.根据条款1所述的计算机实现的方法,其还包括:

确定所述语音处理输出指示第三命令,所述第三命令具有与服务器设备相关联的第一格式;

向应用程序编程接口发送请求以将所述第三命令从所述第一格式转换为与所述联网设备相关联的第二格式;以及

从所述应用程序编程接口接收所述第二命令,所述第二命令具有所述第二格式。

4.根据条款1所述的计算机实现的方法,其还包括:

从所述联网设备接收音频元数据,所述音频元数据对应于从所述联网设备发送到所述第一无线扬声器的第二输出音频数据;

从所述输入设备接收对应于第二话语的第二输入音频数据;

确定所述第二输入音频数据对应于对所述第二输出音频数据的歌名的请求;

使用所述音频元数据来确定所述歌名;

生成第三输出音频数据,其包括指示所述歌名的合成语音;

将所述第三输出音频数据发送到所述联网设备;

生成第三命令,指示所述联网设备使用所述第一无线扬声器,从所述第三输出音频数据生成第三音频;以及

向所述联网设备发送第三指令以执行所述第三命令。

5.一种由至少一台服务器设备实现的计算机实现的方法,其包括:

从输入设备接收对应于话语的输入音频数据;

确定与所述输入设备相关联的第一输出设备,所述第一输出设备可由联网设备控制;

确定所述第一输出设备正在输出第一音频;

生成指示所述联网设备使所述第一音频的音量级降低的第一命令,所述第一命令可至少部分地由所述联网设备执行;

向所述联网设备发送第一指令以执行所述第一命令;

对所述输入音频数据执行语音处理,以确定语音处理输出;

确定所述语音处理输出指示可至少部分地由所述联网设备执行的第二命令;

确定所述语音处理输出指示可由所述联网设备控制的所述第一输出设备;以及

向所述联网设备发送第二指令以执行所述第二命令并将命令输出发送到所述第一输出设备。

6.根据条款5所述的计算机实现的方法,其还包括:

确定所述第二命令指示所述联网设备使用所述第一输出设备来生成第二音频;

确定所述语音处理输出指示从其生成所述第二音频的音频源;

使用与所述输出音频数据相关联的地址标识符,发送对应于所述音频源的输出音频数据;以及

将所述地址标识符发送到所述联网设备,

其中所述第二命令指示所述联网设备使用所述地址标识符来获得所述输出音频数据,并使用所述第一输出设备,从所述输出音频数据生成所述第二音频。

7.根据条款6所述的计算机实现的方法,其还包括:

生成第二输出音频数据,其包括对应于所述第二命令的合成语音;

使用第二地址标识符来发送所述第二输出音频数据;以及

将所述第二地址标识符发送到所述联网设备,

其中所述第二命令指示所述联网设备:

使用所述地址标识符来获得所述输出音频数据,

以第一音量级,经由所述第一输出设备从所述输出音频数据生成所述第二音频,

使用第二地址标识符来获得所述第二输出音频数据,以及

以第二音量级,经由所述第一输出设备从所述第二输出音频数据生成第三音频。

8.根据条款5所述的计算机实现的方法,其还包括:

确定所述语音处理输出指示第三命令,所述第二命令具有与至少一台服务器设备相关联的第一格式;

向应用程序编程接口发送请求以将所述第三命令从所述第一格式转换为与所述联网设备相关联的第二格式;以及

从所述应用程序编程接口接收所述第二命令,所述第二命令具有所述第二格式。

9.根据条款5所述的计算机实现的方法,其还包括:

确定所述输入设备的第一位置;

确定对应于所述第一位置的多个输出设备;以及

确定所述第一输出设备与所述输入设备相关联,因为所述第一输出设备被包括在所述多个输出设备中。

10.根据条款5所述的计算机实现的方法,其还包括:

确定所述输入音频数据包括唤醒词,所述唤醒词指示命令的开始;

生成所述第一命令,指示所述联网设备使所述第一音频的所述音量级从第一级降低到第二级;

向所述联网设备发送所述第一指令以执行所述第一命令;

确定所述第二命令;

将所述第二指令发送到所述联网设备以执行所述第二命令;

生成第三命令,指示所述联网设备使所述第一音频的所述音量级从所述第二级增大到所述第一级;以及

向所述联网设备发送第三指令以执行所述第三命令。

11.根据条款5所述的计算机实现的方法,其还包括:

从多个输入设备接收第一标识数据,所述多个输入设备包括所述输入设备;

接收所述输入设备的第一位置;

从多个输出设备接收第二标识数据,所述多个输出设备包括所述第一输出设备和第二输出设备;

接收与所述第一输出设备相关联的第二位置;

接收与所述第二输出设备相关联的第三位置;

确定所述第二位置接近所述第三位置;

生成包括所述第一输出设备和所述第二输出设备的第一输出区域;

确定所述第一位置接近所述第二位置和所述第三位置;以及

将所述输入设备与所述第一输出区域相关联。

12.根据条款5所述的计算机实现的方法,其还包括:

从所述联网设备接收元数据,所述元数据识别从所述联网设备发送到所述第一输出设备的第二输出音频数据;

从所述输入设备接收对应于第二话语的第二输入音频数据;

确定所述第二输入音频数据对应于对关于所述第二输出音频数据的第一信息的请求;

使用所述元数据来确定所述第一信息;

生成第三输出音频数据,其包括对应于所述第一信息的合成语音;

将所述第三输出音频数据发送到所述联网设备;

生成第三命令,指示所述联网设备使用所述第一输出设备从所述第三输出音频数据生成第三音频;以及

向所述联网设备发送第三指令以执行所述第三命令。

13.一种设备,其包括:

至少一个处理器;

包括指令的存储器设备,所述指令可操作以由所述至少一个处理器执行以将所述设备配置为:

从输入设备接收对应于话语的输入音频数据;

确定与所述输入设备相关联的第一输出设备,所述第一输出设备可由联网设备控制;

确定所述第一输出设备正在输出第一音频;

生成指示所述联网设备使所述第一音频的音量级降低的第一命令,所述第一命令可至少部分地由所述联网设备执行;

向所述联网设备发送第一指令以执行所述第一命令;

对所述输入音频数据执行语音处理,以确定语音处理输出;

确定所述语音处理输出指示可至少部分地由所述联网设备执行的第二命令;

确定所述语音处理输出指示可由所述联网设备控制的所述第一输出设备;以及

向所述联网设备发送第二指令以执行所述第二命令并将命令输出发送到所述第一输出设备。

14.根据条款13所述的设备,其中所述指令还将所述设备配置为:

确定所述第二命令指示所述联网设备使用所述第一输出设备来生成第二音频;

确定所述语音处理输出指示从其生成所述第二音频的音频源;

使用与所述输出音频数据相关联的地址标识符,发送对应于所述音频源的输出音频数据;以及

将所述地址标识符发送到所述联网设备,

其中所述第二命令指示所述联网设备使用所述地址标识符来获得所述输出音频数据,并使用所述第一输出设备,从所述输出音频数据生成所述第二音频。

15.根据条款14所述的设备,其中所述指令还将所述设备配置为:

生成第二输出音频数据,其包括对应于所述第二命令的合成语音;

使用第二地址标识符来发送所述第二输出音频数据;以及

将所述第二地址标识符发送到所述联网设备,

其中所述第二命令指示所述联网设备:

使用所述地址标识符来获得所述输出音频数据,

以第一音量级,经由所述第一输出设备从所述输出音频数据生成所述第二音频,

使用第二地址标识符来获得所述第二输出音频数据,以及

以第二音量级,经由所述第一输出设备从所述第二输出音频数据生成第三音频。

16.根据条款13所述的设备,其中所述指令还将所述设备配置为:

确定所述语音处理输出指示第三命令,所述第二命令具有与至少一台服务器设备相关联的第一格式;

向应用程序编程接口发送请求以将所述第三命令从所述第一格式转换为与所述联网设备相关联的第二格式;以及

从所述应用程序编程接口接收所述第二命令,所述第二命令具有所述第二格式。

17.根据条款13所述的设备,其中所述指令还将所述设备配置为:

确定所述输入设备的第一位置;

确定对应于所述第一位置的多个输出设备;以及

确定所述第一输出设备与所述输入设备相关联,因为所述第一输出设备被包括在所述多个输出设备中。

18.根据条款13所述的设备,其中所述指令还将所述设备配置为:

确定所述输入音频数据包括唤醒词,所述唤醒词指示命令的开始:

生成所述第一命令,指示所述联网设备使所述第一音频的所述音量级从第一级降低到第二级;

向所述联网设备发送所述第一指令以执行所述第一命令;

确定所述第二命令;

将所述第二指令发送到所述联网设备以执行所述第二命令;

生成第三命令,指示所述联网设备使所述第一音频的所述音量级从所述第二级增大到所述第一级;以及

向所述联网设备发送第三指令以执行所述第三命令。

19.根据条款13所述的设备,其中所述指令还将所述设备配置为:

从多个输入设备接收第一标识数据,所述多个输入设备包括所述输入设备;

接收所述输入设备的第一位置;

从多个输出设备接收第二标识数据,所述多个输出设备包括所述第一输出设备和第二输出设备;

接收与所述第一输出设备相关联的第二位置;

接收与所述第二输出设备相关联的第三位置;

确定所述第二位置接近所述第三位置;

生成包括所述第一输出设备和所述第二输出设备的第一输出区域;

确定所述第一位置接近所述第二位置和所述第三位置;以及

将所述输入设备与所述第一输出区域相关联。

20.根据条款13所述的设备,其中所述指令还将所述设备配置为:

从所述联网设备接收元数据,所述元数据识别从所述联网设备发送到所述第一输出设备的第二输出音频数据;

从所述输入设备接收对应于第二话语的第二输入音频数据;

确定所述第二输入音频数据对应于对关于所述第二输出音频数据的第一信息的请求;

使用所述元数据来确定所述第一信息;

生成第三输出音频数据,其包括对应于所述第一信息的合成语音;

将所述第三输出音频数据发送到所述联网设备;

生成第三命令,指示所述联网设备使用所述第一输出设备从所述第三输出音频数据生成第三音频;以及

向所述联网设备发送第三指令以执行所述第三命令。

21.一种用于使用输入设备来控制扬声器系统的计算机实现的方法,所述方法包括:

确定音频设备的第一位置;

确定可由联网设备控制的第一无线扬声器的第二位置;

确定所述第一位置接近所述第二位置;

将所述音频设备与所述第一个无线扬声器相关联;

从所述音频设备接收对应于话语的输入音频数据;

对所述输入音频数据执行语音处理以确定第一指令;

生成语音输出音频数据,其包括对应于所述第一指令的合成语音;

确定所述第一无线扬声器与所述音频设备相关联;

确定所述第一无线扬声器正在输出第一音频;

向所述联网设备发送第二指令,以使所述联网设备将所述第一音频的音量级从第一级降低到第二级;以及

将所述语音输出音频数据发送到所述音频设备,以使所述音频设备使用扬声器来生成第二音频。

22.根据条款21所述的计算机实现的方法,其还包括:

确定所述音频设备已经使用所述扬声器完成了所述第二音频的生成;

向所述联网设备发送第三指令,以使所述联网设备将所述第一音频的所述音量级从所述第二级增大到所述第一级。

23.根据条款21所述的计算机实现的方法,其还包括:

确定与所述音频设备相关联的输出区域,所述输出区域至少包括所述第一无线扬声器;以及

发送所述第二指令,所述第二指令指示所述输出区域,并使所述联网设备:

确定对应于所述输出区域的一个或多个无线扬声器,所述一个或多个无线扬声器包括所述第一无线扬声器,以及

由所述一个或多个无线扬声器使所述第一音频的所述音量级从所述第一级降低到所述第二级。

24.根据条款21所述的计算机实现的方法,其还包括:

确定所述音频设备的第一位置;以及

发送所述第二指令,所述第二指令指示所述第一位置,并使所述联网设备:

确定对应于所述第一位置的一个或多个无线扬声器,以及

由所述一个或多个无线扬声器使所述第一音频的所述音量级从所述第一级降低到所述第二级。

25.一种由至少一台服务器设备实现的计算机实现的方法,其包括:

从音频设备接收对应于话语的输入音频数据;

对所述输入音频数据执行语音处理以确定第一指令;

生成语音输出音频数据,其包括对应于所述第一指令的合成语音;

确定与所述音频设备相关联的第一输出设备,所述第一输出设备可由联网设备控制;

确定所述第一输出设备正在输出第一音频;

向所述联网设备发送第二指令,以使所述联网设备降低所述第一音频的音量级。

26.根据条款25所述的计算机实现的方法,其还包括将所述语音输出音频数据发送到所述音频设备,以使所述音频设备从所述语音输出音频数据生成第二音频。

27.根据条款26所述的计算机实现的方法,其还包括:

发送所述第二指令,所述第二指令使所述联网设备将所述第一音频的所述音量级从第一级降低到第二级;

确定所述音频设备已完成所述第二音频的生成;

向所述联网设备发送第三指令,以使所述联网设备将所述第一音频的所述音量级从所述第二级增大到所述第一级。

28.根据条款25所述的计算机实现的方法,其还包括:

生成与所述语音输出音频数据相关联的地址标识符;

向所述联网设备发送所述地址标识符;以及

向所述联网设备发送第三指令,所述第三指令使所述联网设备:

由所述第一输出设备使所述第一音频的音量级从第一级降低到第二级,

使用所述地址标识符来获得所述语音输出音频数据,

以所述第一音量级,经由所述第一输出设备从所述输出音频数据生成所述第二音频,以及

由所述第一输出设备使所述第一音频的所述音量级从所述第二级增大到所述第一级。

29.根据条款25所述的计算机实现的方法,其还包括:

确定与所述音频设备相关联的第一位置;

确定接近所述第一位置的一个或多个输出设备,所述一个或多个输出设备包括所述第一输出设备;以及

将所述一个或多个输出设备与所述音频设备相关联。

30.根据条款25所述的计算机实现的方法,其还包括:

确定与所述音频设备相关联的输出区域,所述输出区域至少包括所述第一输出设备;以及

发送所述第二指令,所述第二指令指示所述输出区域,并使所述联网设备:

确定对应于所述输出区域的一个或多个输出设备,所述一个或多个输出设备包括所述第一输出设备,以及

由所述一个或多个输出设备使所述第一音频的所述音量级从第一级降低到第二级。

31.根据条款25所述的计算机实现的方法,其还包括:

确定与所述音频设备相关联的第一位置;

发送所述第二指令,所述第二指令指示所述第一位置,并使所述联网设备:

确定接近所述第一位置的一个或多个输出设备,所述一个或多个输出设备包括所述第一输出设备,以及

由所述一个或多个输出设备使所述第一音频的所述音量级从第一级降低到第二级。

32.根据条款25所述的计算机实现的方法,其还包括:

生成具有与所述至少一台服务器设备相关联的第一格式的第三指令;

向应用程序编程接口发送请求以将所述第三指令从所述第一格式转换为与所述联网设备相关联的第二格式;以及

从所述应用程序编程接口接收所述第二指令,所述第二指令具有所述第二格式。

33.一种系统,其包括:

至少一个处理器;

包括指令的存储器设备,所述指令可操作以由所述至少一个处理器执行以将所述设备配置为:

从音频设备接收对应于话语的输入音频数据;

对所述输入音频数据执行语音处理以确定第一指令;

生成语音输出音频数据,其包括对应于所述第一指令的合成语音;

确定与所述音频设备相关联的第一输出设备,所述第一输出设备可由联网设备控制;

确定所述第一输出设备正在输出第一音频;

向所述联网设备发送第二指令,以使所述联网设备降低所述第一音频的音量级。

34.根据条款33所述的系统,其中所述指令还配置所述系统将所述语音输出音频数据发送到所述音频设备,以使所述音频设备从所述语音输出音频数据生成第二音频。

35.根据条款33所述的系统,其中所述指令还将所述系统配置为:

发送所述第二指令,所述第二指令使所述联网设备将所述第一音频的所述音量级从第一级降低到第二级;

确定所述音频设备已完成所述第二音频的生成;

向所述联网设备发送第三指令,以使所述联网设备将所述第一音频的所述音量级从所述第二级增大到所述第一级。

36.根据条款33所述的系统,其中所述指令还将所述系统配置为:

生成与所述语音输出音频数据相关联的地址标识符;

将所述地址标识符发送到所述联网设备;以及

向所述联网设备发送第三指令,所述第三指令使所述联网设备:

由所述第一输出设备使所述第一音频的音量级从第一级降低到第二级,

使用所述地址标识符来获得所述语音输出音频数据,

以所述第一音量级,经由所述第一输出设备从所述输出音频数据生成所述第二音频,以及

由所述第一输出设备使所述第一音频的所述音量级从所述第二级增大到所述第一级。

37.根据条款33所述的系统,其中所述指令还将所述系统配置为:

确定与所述音频设备相关联的第一位置;

确定接近所述第一位置的一个或多个输出设备,所述一个或多个输出设备包括所述第一输出设备;以及

将所述一个或多个输出设备与所述音频设备相关联。

38.根据条款33所述的系统,其中所述指令还将所述系统配置为:

确定与所述音频设备相关联的输出区域,所述输出区域至少包括所述第一输出设备;以及

发送所述第二指令,所述第二指令指示所述输出区域,并使所述联网设备:

确定对应于所述输出区域的一个或多个输出设备,所述一个或多个输出设备包括所述第一输出设备,以及

由所述一个或多个输出设备使所述第一音频的所述音量级从第一级降低到第二级。

39.根据条款33所述的系统,其中所述指令还将所述系统配置为:

确定与所述音频设备相关联的第一位置;

发送所述第二指令,所述第二指令指示所述第一位置,并使所述联网设备:

确定接近所述第一位置的一个或多个输出设备,所述一个或多个输出设备包括所述第一输出设备,以及

由所述一个或多个输出设备使所述第一音频的所述音量级从第一级降低到第二级。

40.根据条款33所述的系统,其中所述指令还将所述系统配置为:

生成具有与所述至少一台服务器设备相关联的第一格式的第三指令;

向应用程序编程接口发送请求以将所述第三指令从所述第一格式转换为与所述联网设备相关联的第二格式;以及

从所述应用程序编程接口接收所述第二指令,所述第二指令具有所述第二格式。

所公开系统的各方面可以实现为计算机方法或诸如存储器设备或非暂时性计算机可读存储介质的制品。计算机可读存储介质可以是计算机可读的,并且可以包括用于使计算机或其他设备执行本公开中描述的过程的指令。计算机可读存储介质可以由易失性计算机存储器、非易失性计算机存储器、硬盘驱动器、固态存储器、闪存驱动器、可移除磁盘和/或其他介质实现。此外,一个或多个模块和引擎的部件可以实现为固件或硬件,其包括(除了别的之外)模拟和/或数字滤波器(例如,配置为数字信号处理器(dsp)固件的滤波器)。

如在本公开中使用的,除非另外特别说明,否则术语“一个(a)”或“一个(one)”可以包括一个或多个项目。此外,除非另外特别说明,否则短语“基于”旨在表示“至少部分地基于”。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1