CN113711625A - 用于分布式语音处理的设备、系统和方法 - Google Patents

用于分布式语音处理的设备、系统和方法 Download PDF

Info

Publication number
CN113711625A
CN113711625A CN202080026535.XA CN202080026535A CN113711625A CN 113711625 A CN113711625 A CN 113711625A CN 202080026535 A CN202080026535 A CN 202080026535A CN 113711625 A CN113711625 A CN 113711625A
Authority
CN
China
Prior art keywords
playback device
playback
wake word
sound
detected sound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202080026535.XA
Other languages
English (en)
Other versions
CN113711625B (zh
Inventor
康纳·克里斯托弗·史密斯
约翰·托洛梅伊
贝蒂·李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sonos Inc
Original Assignee
Sonos Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/271,550 external-priority patent/US11315556B2/en
Priority claimed from US16/271,560 external-priority patent/US10867604B2/en
Application filed by Sonos Inc filed Critical Sonos Inc
Publication of CN113711625A publication Critical patent/CN113711625A/zh
Application granted granted Critical
Publication of CN113711625B publication Critical patent/CN113711625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/40Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers
    • H04R1/406Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R27/00Public address systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2227/00Details of public address [PA] systems covered by H04R27/00 but not provided for in any of its subgroups
    • H04R2227/005Audio distribution systems for home, i.e. multi-room use

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Otolaryngology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

本文公开了用于分布式语音处理的系统和方法。在一个示例中,该方法包括经由第一回放设备的麦克风阵列检测声音,以及经由第一回放设备的第一唤醒词引擎分析所检测到的声音。第一回放设备可以通过局域网将与所检测到的声音相关联的数据发送给第二回放设备。第二回放设备的第二唤醒词引擎可以分析与所检测到的声音相关联的所发送数据。该方法还可以包括分别基于经由第一唤醒词引擎和第二唤醒词引擎的分析来识别所检测到的声音包含第一唤醒词或第二唤醒词。基于该识别,与所检测到的声音相对应的声音数据可以通过广域网发送给与特定语音助手服务相关联的远程计算设备。

Description

用于分布式语音处理的设备、系统和方法
相关申请的交叉引用
本申请要求于2019年2月8日提交的美国专利申请No.16/271,550和于2019年2月8日提交的美国专利申请No.16/271,560的优先权,其全部内容以引用方式并入本文。
技术领域
本技术涉及消费品,并且更具体地,涉及针对语音可控媒体回放系统或其一些方面的方法、系统、产品、特征、服务和其他元素。
背景技术
访问和收听外放设置的数字音频的选项是有限的,直到2003年SONOS公司申请了其首批专利申请中的一件题为“Method for Synchronizing Audio Playback betweenMultiple Networked Devices”的专利申请,并在2005年开始出售媒体回放系统为止。SONOS无线高保真(HiFi)系统使人们可以通过一个或多个联网回放设备体验来自许多源的音乐。通过安装在智能电话、平板计算机或计算机上的软件控制应用,人们能够在具有联网回放设备的任何房间中播放他或她期望的内容。另外,使用控制器,例如,能够将不同的歌曲流式传输到具有回放设备的每个房间,能够将房间组合在一起进行同步回放,或者可以在所有房间中同步收听相同的歌曲。
鉴于对数字媒体的兴趣日益增长,仍然需要开发一种消费者易于使用的技术以进一步增强收听体验。
附图说明
参考以下说明书、所附权利要求和附图,可以更好地理解所公开的技术的特征、方面和优点,在附图中:
图1A是具有根据所公开技术的各方面配置的媒体回放系统的环境的局部剖视图;
图1B是图1A的媒体回放系统和一个或多个网络的示意图;
图2A是示例回放设备的功能框图;
图2B是图2A的回放设备的示例外壳的立体图;
图3A-3E是示出了根据本公开的各方面的示例回放设备配置的图;
图4A是根据本公开的各方面的示例控制器设备的功能框图;
图4B和图4C是根据本公开的各方面的控制器接口;
图5是根据本公开的各方面的示例回放设备的特定组件的功能框图;
图6A是示例语音输入的图;
图6B是描绘了根据本公开的各方面的示例声音样本的图;
图7A是根据本公开的各方面的示例网络配置;
图7B是根据本公开的各方面的示例网络配置;
图7C是根据本公开的各方面的示例网络配置;
图7D是根据本公开的各方面的示例网络配置;
图7E是根据本公开的各方面的示例网络配置;
图8是根据本公开的各方面的示例方法;
图9是根据本公开的各方面的示例方法;
图10A和图10B是示例语音输入的时间线;
图11是根据本公开的各方面的示例方法;
图12是根据本公开的各方面的示例网络配置。
附图是出于说明示例实施例的目的,但是应当理解的是,本发明不限于附图中所示的布置和手段。在附图中,相同的附图标记识别至少大致相似的元件。为了促进对任何特定元件的讨论,任何参考数字中的一个或多个最高有效位指的是首次引入该元件的附图。例如,首先参照图1A介绍和讨论元件103a。
具体实施方式
I.概述
在“智能”家居中,语音控制可能是有益的,该“智能”家居包括连接到通信网络的智能应用和设备(例如,无线音频回放设备、照明设备和家庭自动化设备(例如,恒温器、门锁等))。在一些实施方式中,网络麦克风设备可以用于控制智能家居设备。
网络麦克风设备(“NMD”)是一种联网计算设备,通常包括麦克风的布置(例如,麦克风阵列),该麦克风的布置被配置为检测NMD环境中存在的声音。检测到的声音可以包括与背景噪声(例如,回放设备输出的音乐或其他环境噪声)混合在一起的人的语音。实际上,NMD通常会过滤检测到的声音,以从人的语音中消除背景噪声,从而促进识别该语音是否包含表示语音控制的语音输入。如果是这样,则NMD可以基于这种语音输入来采取行动。
NMD通常采用唤醒词引擎(通常在NMD上搭载)来识别该NMD检测到的声音是否包含包括特定唤醒词的语音输入。唤醒词引擎是一种语音输入识别引擎,其被配置为使用一个或多个识别算法(例如使用自然语言理解(NLU)、机器学习和/或其他合适的算法)来识别(即,“定位”)特定关键词(例如,唤醒词)。在实践中,为了帮助促进关键词定位,NMD可以缓冲NMD的麦克风检测到的声音,然后使用唤醒词引擎来处理该缓冲的声音以确定是否存在唤醒词。
当唤醒词引擎在检测到的声音中定位唤醒词时,NMD可以确定发生了唤醒词事件(即,“唤醒词触发”),这表明NMD已检测到包括潜在语音输入的声音。唤醒词事件的发生通常会使NMD执行涉及检测到的声音的附加过程。在一些实施方式中,除其他可能的附加过程之外,这些附加过程可以包括:输出指示已经识别出唤醒词的警报(例如,可听见的铃声和/或光指示器),以及从缓冲器提取检测到的声音数据。提取检测到的声音可以包括:根据特定格式读出并封装检测到的声音的流,并向适当的VAS发送该封装的声音数据以用于解释。
继而,与由唤醒词引擎识别的唤醒词相对应的VAS通过通信网络从NMD接收发送的声音数据。传统上,VAS采用远程服务的形式,该远程服务是使用一个或多个配置为处理语音输入的云服务器(例如,AMAZON的ALEXA、APPLE的SIRI、MICROSOFT的CORTANA、GOOGLE的ASSISTANT等)来实施的。在某些情况下,VAS的某些组件和功能可能分布在本地设备和远程设备上。附加地或备选地,VAS可以采用在NMD或包括NMD的媒体回放系统处实现的本地服务的形式,使得语音输入或某些类型的语音输入(例如,基本命令)在本地处理而无需来自远程VAS干预。
在任何情况下,当VAS接收到所检测到的声音数据时,该VAS通常会处理该数据,这涉及识别语音输入并确定在该语音输入中捕获的单词的意图。然后,VAS可以根据该确定的意图使用某指令将响应提供回NMD。基于该指令,NMD可以使一个或多个智能设备执行操作。例如,在其他示例中,根据来自VAS的指令,NMD可以使回放设备播放特定歌曲,或者使照明设备打开/关闭。在一些情况下,NMD或具有NMD的媒体系统(例如,具有配备有NMD的回放设备的媒体回放系统)可以被配置为与多个VAS交互。实际上,NMD可以基于在NMD检测到的声音中识别的特定唤醒词,选择一个VAS而不是另一个。
在一些实施方式中,被配置为网络媒体回放系统的一部分的回放设备可以包括NMD的组件和功能(即,回放设备是“配备有NMD的”)。在这方面,这种回放设备可以包括麦克风,该麦克风被配置为检测存在于该回放设备环境中的声音(例如,人们说话、该回放设备本身或附近的另一回放设备正在输出的音频或其他环境噪声),还可以包括用于缓冲检测到的声音以促进唤醒词识别的组件。
一些配备有NMD的回放设备可以包括内部电源(例如,可充电电池),该内部电源允许该回放设备在未物理连接至墙壁电源插座等的情况下进行操作。就这一点而言,这种回放设备在本文中可以被称为“便携式回放设备”。另一方面,被配置为依赖于来自墙壁电源插座等的电力的回放设备在本文中可以被称为“固定回放设备”,尽管这样的设备实际上可以在家庭或其他环境中移动。在实践中,人们可能经常携带便携式回放设备往返于家庭或其他环境,在所述家庭或其他环境中保留有一个或多个固定回放设备。
在一些情况下,为NMD或NMD系统(例如,回放设备的媒体回放系统)配置了多个语音服务。可以在设置过程中配置一个或多个服务,并且稍后可以为该系统配置附加语音服务。这样,NMD充当与多个语音服务的接口,也许减轻了从每个语音服务中获取NMD以便与相应语音服务进行交互的需求。此外,NMD可以与家庭中存在的服务特定的NMD协同操作,以处理给定的语音命令。
在为NMD配置两个或多个语音服务的情况下,可以通过说出与特定语音服务相对应的唤醒词来调用该特定语音服务。例如,在查询AMAZON时,用户可以说出唤醒词“Alexa”,然后再说出语音命令。其他示例包括“Ok,Google”(用于查询GOOGLE)和“Hey,Siri”(用于查询APPLE)。
在一些情况下,通用唤醒词可以用于指示向NMD输入的语音。在一些情况下,这是制造商特定的唤醒词,而不是绑定到任何特定语音服务的唤醒词(例如,“Hey,Sonos”,其中,NMD是SONOS回放设备)。给定这样的唤醒词,NMD可以识别特定的语音服务以处理请求。例如,如果在唤醒词之后的语音输入与特定类型的命令(例如,音乐回放)相关,则向与该类型的命令相关联的特定语音服务(例如,具有语音命令能力的流音乐服务)发送该语音输入。
管理具有一个或多个相应的VAS的各种回放设备之间的关联可能很困难。例如,尽管用户可能希望在其家中使用多个VAS,但将单个回放设备与多于一个VAS相关联可能是不可能的或非优选的。这可能是由于在单个设备上执行多个唤醒词检测算法所需的处理能力和内存的限制,或者可能是由于一个或多个VAS施加的限制。因此,对于任何特定回放设备,用户可能需要仅选择单个VAS以排除任何其他VAS。
在一些情况下,可以购买带有预先关联的VAS的回放设备。在这种情况下,用户可能希望用用户选择的不同VAS替换预先关联的VAS。另外,一些支持语音的回放设备可能在没有任何预先关联的VAS的情况下出售,在这种情况下,用户可能希望管理特定VAS与回放设备的选择和关联。
本文详述的系统和方法解决了上述管理一个或多个回放设备与一个或多个VAS之间的关联的挑战。具体地,提供了用于跨多个回放设备分发唤醒词检测(和其他语音处理功能)的系统和方法。如下文更详细描述的,在一些情况下,媒体回放系统可以包括回放设备,该回放设备被配置为检测不同唤醒词,并与不同VAS进行通信。例如,媒体回放系统可以包括第一回放设备和第二回放设备,第一回放设备具有唤醒词引擎,该唤醒词引擎与第一VAS(例如,AMAZON的ALEXA)相关联,并被配置为检测相关联的第一唤醒词(例如,“Alexa”),第二回放设备具有第二唤醒词引擎,该第二唤醒词引擎与第二、不同的VAS(例如,GOOGLE的ASSISTANT)相关联,并被配置为检测第二、不同的唤醒词(例如,“OK,Google”)。在该技术的一些方面,第二回放设备依赖于由第一回放设备检测到的声音来检测第二唤醒词,从而利用第二回放设备的现有语音处理能力(例如,唤醒词检测),即使在第二回放设备不包括任何其自己的麦克风的情况下也是如此。利用第一回放设备的唤醒词引擎分配与唤醒词检测相关联的处理时间和功率,从而释放第一回放设备和第二回放设备上的计算资源(与具有两个唤醒词引擎的单个回放设备相比)。此外,分布式唤醒词检测还可以允许用户实现多个VAS的益处,每个VAS可以在不同方面表现出色,而不是要求用户将其交互限制在单个VAS以排除任何其他VAS。
尽管本文所述的一些实施例可以涉及由给定的行动者(例如,“用户”和/或其他实体)执行的功能,但是应当理解的是,该描述仅出于解释的目的。除非权利要求本身的语言明确要求,否则不应将权利要求解释为要求任何此类示例行动者进行动作。
II.示例操作环境
图1A和1B示出了媒体回放系统100(或“MPS 100”)的示例配置,在媒体回放系统100中可以实现本文公开的一个或多个实施例。首先参考图1A,所示的MPS 100与具有多个房间和空间的示例家居环境相关联,其可以被统称为“家居环境”、“智能家居”或“环境101”。环境101包括具有若干个房间、空间和/或回放区的家庭,包括主浴室101a、主卧室101b(在本文中被称为“尼克的房间”)、第二卧室101c、家庭房或书房101d、办公室101e、客厅101f、餐厅101g、厨房101h和室外露台101i。尽管下文在家居环境的上下文中描述了某些实施例和示例,但是本文所述的技术可以在其他类型的环境中实现。在一些实施例中,例如,MPS 100可以在一个或多个商业设置(例如,餐厅、购物中心、机场、酒店、零售店或其他商店)、一个或多个交通工具(例如,运动型多功能车、巴士、汽车、轮船、轮船、飞机)、多个环境(例如,家庭和交通工具环境的组合)和/或可能需要多区音频的其他合适环境中实现。
在这些房间和空间中,MPS 100包括一个或多个计算设备。一起参考图1A和1B,这样的计算设备可以包括:回放设备102(分别识别为回放设备102a-102o)、网络麦克风设备103(分别识别为“NMD”103a-102i)以及控制器设备104a和104b(统称为“控制器设备104”)。参照图1B,家居环境可以包括附加和/或其他计算设备,包括本地网络设备,例如,一个或多个智能照明设备108(图1B)、智能恒温器110和本地计算设备105(图1A)。在下文所述的实施例中,各种回放设备102中的一个或多个可以被配置为便携式回放设备,而其他回放设备可以被配置为固定回放设备。例如,耳机102o(图1B)是便携式回放设备,而书架上的回放设备102d可以是固定设备。作为另一示例,露台上的回放设备102c可以是电池供电的设备,允许其在未插入墙壁插座时被运输到环境101内以及环境101外部的各个区域。
仍参考图1B,MPS 100的各种回放、网络麦克风和控制器设备102-104和/或其他网络设备可以通过点对点连接和/或通过其他连接彼此耦合,该其他连接可以通过包括网络路由器109的LAN 111进行有线和/或无线连接。例如,可以被指定为“左”设备的书房101d(图1A)中的回放设备102j可以与回放设备102a具有点对点连接,该回放设备102a也在Den101d中并且可以被指定为“右”设备。在相关实施例中,左回放设备102j可以通过点对点连接和/或通过经由LAN 111的其他连接与其他网络设备(例如,回放设备102b)通信,该其他网络设备可以被指定为“前”设备。
如图1B进一步所示,MPS 100可以通过广域网(“WAN”)107耦合到一个或多个远程计算设备106。在一些实施例中,每个远程计算设备106可以采取一个或多个云服务器的形式。远程计算设备106可以被配置为以各种方式与环境101中的计算设备进行交互。例如,远程计算设备106可以被配置为在家居环境101中促进流传输和/或控制媒体内容(例如,音频)的回放。
在一些实施方式中,各种回放设备、NMD和/或控制器设备102-104可以通信地耦合到与VAS相关联的至少一个远程计算设备和与媒体内容服务(“MCS”)相关联的至少一个远程计算设备。例如,在图1B的所示示例中,远程计算设备106a与VAS 190相关联,并且远程计算设备106b与MCS 192相关联。尽管为了清楚起见在图1B的示例中仅示出了单个VAS 190和单个MCS 192,但是MPS 100可以耦合到多个不同的VAS和/或MCS。在一些实施方式中,VAS可以由AMAZON、GOOGLE、APPLE、MICROSOFT、SONOS或其他语音助手提供商中的一个或多个来操作。在一些实施方式中,MCS可以由SPOTIFY、PANDORA、AMAZON MUSIC或其他媒体内容服务中的一个或多个来操作。
如图1B进一步所示,远程计算设备106还包括远程计算设备106c,该远程计算设备106c被配置为执行某些操作,例如,远程促进媒体回放功能、管理设备和系统状态信息、指导MPS 100的设备与一个或多个VAS和/或MCS之间的通信,以及其他操作。在一个示例中,远程计算设备106c为一个或多个SONOS无线HiFi系统提供云服务器。
在各种实施方式中,一个或多个回放设备102可以采用或包括板载(例如,集成的)网络麦克风设备的形式。例如,回放设备102a-e分别包括或配备有对应的NMD 103a-e。除非在说明书中另外指出,否则包括或以其他方式配备有NMD的回放设备在本文中可以互换地被称为回放设备或NMD。在一些情况下,一个或多个NMD 103可以是独立设备。例如,NMD103f和103g可以是独立设备。独立NMD可以省略通常包括在回放设备(例如,扬声器或相关电子设备)中的组件和/或功能。例如,在这种情况下,独立NMD可能不会产生音频输出或可能会产生有限的音频输出(例如,相对低质量的音频输出)。
MPS 100的各种回放和网络麦克风设备102和103可以各自与唯一名称相关联,该唯一名称可以例如在设置这些设备中的一个或多个期间由用户分配给各个设备。例如,如图1B的所示示例所示,用户可以将名称“书架”分配给回放设备102d,因为它实际上位于书架上。类似地,可以将名称“岛”分配给NMD 103f,因为它实际上位于厨房101h(图1A)中的岛台面上。可以根据区或房间为一些回放设备分配名称,例如,回放设备102e、1021、102m和102n,它们分别被命名为“卧室”、“餐厅”、“客厅”和“办公室”。此外,某些回放设备可以具有功能描述性名称。例如,回放设备102a和102b分别被分配了名称“右”和“前”,因为这两个设备被配置为在书房101d(图1A)的区中媒体回放期间提供特定的音频声道。露台中的回放设备102c可以命名为便携式设备,因为它是电池供电的和/或易于运输到环境101的不同区域。其他命名约定也是可能的。
如上所述,NMD可以检测和处理来自其周围环境的声音,例如,包括背景噪声的声音,该背景噪声与该NMD附近的人说出的语音混合。例如,当NMD在环境中检测到声音时,该NMD可以处理检测到的声音以确定该声音是否包括语音,该语音包含用于该NMD并最终用于特定VAS的语音输入。例如,NMD可以识别语音是否包括与特定VAS相关联的唤醒词。
在图1B的所示示例中,NMD 103被配置为经由LAN 111和路由器109通过网络与VAS190交互。例如,当NMD在检测到的声音中识别出潜在唤醒词时,可以发起与VAS 190的交互。该识别导致唤醒词事件,这又导致NMD开始向VAS 190发送检测到的声音数据。在一些实施方式中,MPS 100的各种本地网络设备102-105(图1A)和/或远程计算设备106c可以与远程计算设备交换各种反馈、信息、指令和/或相关数据,该远程计算设备与所选择的VAS相关联。这样的交换可以与包含语音输入的发送消息有关或独立于该消息。在一些实施例中,一个或多个远程计算设备和媒体回放系统100可以通过如本文所述的通信路径和/或使用如在2017年2月21日提交的美国申请No.15/438,749中所述的元数据交换信道来交换数据,该美国申请题为“Voice Control of a Media Playback System(媒体回放系统的语音控制)”,其全部内容通过引用并入本文。
在接收到声音数据流之后,VAS 190确定来自NMD的流数据中是否存在语音输入,如果存在,则VAS 190还将确定该语音输入中的潜在意图。VAS 190接下来可以将响应发送回MPS 100,这可以包括直接向导致唤醒词事件的NMD发送该响应。该响应通常基于VAS 190确定的存在于语音输入中的意图。作为示例,响应于VAS 190接收到语音提示为“播放披头士乐队的Hey Jude”的语音输入,VAS 190可以确定该语音输入的基本意图是发起回放,并进一步确定该语音输入的意图是播放特定歌曲“Hey Jude”。在这些确定之后,VAS 190可以向特定MCS 192发送命令以检索内容(即,歌曲“Hey Jude”),并且随后,该MCS 192直接向MPS 100提供(例如,流)这个内容或间接通过VAS 190提供。在一些实施方式中,VAS 190可以向MPS 100发送命令,该命令使MPS 100本身从MCS 192检索内容。
在某些实施方式中,当在由彼此相邻的两个或多个NMD检测到的语音中识别出语音输入时,NMD可以促进彼此之间的仲裁。例如,环境101(图1A)中配备有NMD的回放设备102d与配备有NMD的客厅回放设备102m相对接近,并且设备102d和102m都可以至少有时检测到相同的声音。在这种情况下,这可能需要仲裁,以确定最终由哪个设备负责向远程VAS提供检测到的声音数据。例如,可以在先前引用的美国申请No.15/38,749中找到在NMD之间进行仲裁的示例。
在某些实施方式中,NMD可以被分配给可能不包含NMD的指定的或默认的回放设备,或与该回放设备相关联。例如,可以将厨房101h(图1A)中的岛NMD 103f分配给离该岛NMD 103f相对较近的餐厅回放设备1021。在实践中,响应于远程VAS接收到来自NMD的语音输入以播放音频,NMD可以指示分配的回放设备播放音频,该NMD可能已经响应于用户说出的命令而向该VAS发送语音输入以播放特定的歌曲、专辑、播放列表等。例如,在先前引用的美国专利申请No.15/438,749中可以找到关于将NMD和回放设备分配为指定设备或默认设备的附加细节。
可以在以下部分中找到与示例MPS 100的不同组件以及不同组件如何交互以向用户提供媒体体验有关的其他方面。尽管本文的讨论通常可以参考示例MPS 100,但本文所述的技术不仅限于除其他以外的上述家居环境中的应用。例如,本文所述的技术在其他家居环境配置中可能是有用的,该其他家居环境配置包括更多或更少的回放、网络麦克风和/或控制器设备102-104中的任何一个。例如,本文的技术可以在具有单个回放设备102和/或单个NMD 103的环境中使用。在这种情况的一些示例中,LAN 111(图1B)可以被去除,并且单个回放设备102和/或单个NMD 103可以直接地与远程计算设备106a-d通信。在一些实施例中,电信网络(例如,LTE网络、5G网络等)可以独立于LAN与各种回放、网络麦克风和/或控制器设备102-104通信。
a.示例回放和网络麦克风设备
图2A是示出了图1A和图1B的MPS 100的回放设备102之一的某些方面的功能框图。如图所示,回放设备102包括各种组件,下文进一步详细时论每个组件,并且回放设备102的各种组件可以通过系统总线、通信网络或某个其他连接机制可操作地彼此耦合。在图2A的所示示例中,回放设备102可以被称为“配备有NMD”的回放设备,因为它包括支持NMD功能的组件,例如,图1A中所示的NMD 103之一。
如图所示,回放设备102包括至少一个处理器212,该处理器212可以是时钟驱动的计算组件,该计算组件被配置为根据存储在存储器213中的指令来处理输入数据。存储器213可以是有形的、非暂时性的计算机可读介质,其被配置为存储可由处理器212执行的指令。例如,存储器213可以是数据存储设备,其可以加载有可由处理器212执行以实现某些功能的软件代码214。
在一个示例中,这些功能可以涉及回放设备102从音频源获取音频数据,该音频源可以是另一回放设备。在另一示例中,该功能可以涉及回放设备102经由至少一个网络接口224向网络上的另一设备发送音频数据、检测到的声音数据(例如,对应于语音输入)和/或其他信息。在又一示例中,该功能可以涉及回放设备102使一个或多个其他回放设备与回放设备102同步地回放音频。在又一示例中,该功能可以涉及回放设备102促进与一个或多个其他回放设备配对或以其他方式绑定以创建多声道音频环境。许多其他示例功能也是可能的,下面讨论其中一些功能。
如刚刚提到的,某些功能可以涉及回放设备102与一个或多个其他回放设备同步回放音频内容。在同步回放期间,听众可能无法感知同步回放设备在音频内容回放之间的时间延迟差异。通过引用整体并入本文的2004年4月4日提交的题为“System and methodfor synchronizing operations among a plurality of independently clockeddigital data processing devices(用于同步多个独立时钟控制的数字数据处理设备之间操作的系统和方法)”的美国专利No.8,234,395,更详细地提供了回放设备之间的音频回放同步的一些示例。
为了促进音频回放,回放设备102包括音频处理组件216,该音频处理组件216通常被配置为在回放设备102呈现音频之前处理该音频。在这方面,音频处理组件216可以包括一个或多个数模转换器(“DAC”)、一个或多个音频预处理组件、一个或多个音频增强组件、一个或多个数字信号处理器(“DSP”)等。在一些实施方式中,一个或多个音频处理组件216可以是处理器212的子组件。在操作中,音频处理组件216接收模拟和/或数字音频,并且处理和/或有意更改音频以产生音频信号进行播放。
然后,可以向一个或多个音频放大器217提供产生的音频信号,以通过可操作地耦合到放大器217的一个或多个扬声器218进行放大和回放。音频放大器217可以包括被配置为将音频信号放大到用于驱动一个或多个扬声器218的电平的组件。
扬声器218中的每一个可以包括单独的传感器(例如,“驱动器”),或者扬声器218可以包括完整的扬声器系统,该扬声器系统包括具有一个或多个驱动器的外壳。扬声器218的特定驱动器可以包括例如超低音扬声器(例如,用于低频)、中音驱动器(例如,用于中频)和/或高音扬声器(例如,用于高频)。在一些情况下,传感器可以由音频放大器217的各个对应的音频放大器驱动。在一些实施方式中,回放设备可以不包括扬声器218,而是可以包括用于将该回放设备连接到外部扬声器的扬声器接口。在某些实施例中,回放设备可以既不包括扬声器218也不包括音频放大器217,而是可以包括用于将该回放设备连接到外部音频放大器或视听接收机的音频接口(未示出)。
除了产生用于由回放设备102回放的音频信号之外,音频处理组件216可以被配置为处理要通过网络接口224向一个或多个其他回放设备发送以进行回放的音频。在示例场景中,如下所述,可以例如通过回放设备102(未示出)的音频线路输入接口(例如,自动检测3.5mm音频线路输入连接)或通过网络接口224从外部源接收要由回放设备102处理和/或回放的音频内容。
如图所示,至少一个网络接口224可以采取一个或多个无线接口225和/或一个或多个有线接口226的形式。无线接口可以为回放设备102提供网络接口功能,以根据通信协议(例如,任何无线标准,包括IEEE 802.11a、802.11b、802.11g、802.11n、802.11ac、802.15、4G移动通信标准等)与其他设备(例如,其他回放设备、NMD和/或控制器设备)无线通信。有线接口可以为回放设备102提供网络接口功能,以根据通信协议(例如,IEEE802.3)通过有线连接与其他设备进行通信。尽管图2A中所示的网络接口224包括有线接口和无线接口,但是在一些实施方式中,回放设备102可以仅包括无线接口或仅包括有线接口。
通常,网络接口224促进回放设备102与数据网络上的一个或多个其他设备之间的数据流。例如,回放设备102可以被配置为通过数据网络从一个或多个其他回放设备、LAN内的网络设备和/或WAN(例如,互联网)上的音频内容源接收音频内容。在一个示例中,回放设备102发送和接收的音频内容和其他信号可以以数字分组数据的形式来发送,该数字分组数据包括基于互联网协议(IP)的源地址和基于IP的目的地地址。在这种情况下,网络接口224可以被配置为解析数字分组数据,使得去往回放设备102的数据被回放设备102正确地接收和处理。
如图2A所示,回放设备102还包括可操作地耦合到一个或多个麦克风222的语音处理组件220。麦克风222被配置为检测回放设备102的环境中的声音(即,声波),然后将其提供给语音处理组件220。更具体地,每个麦克风222被配置为检测声音并将该声音转换成表示检测到的声音的数字或模拟信号,然后这可以使语音处理组件220基于检测到的声音执行各种功能,如下文更详细地描述。在一个实施方式中,麦克风222被布置为麦克风阵列(例如,六个麦克风的阵列)。在一些实施方式中,回放设备102包括六个以上麦克风(例如,八个麦克风或十二个麦克风)或少于六个麦克风(例如,四个麦克风、两个麦克风或单个麦克风)。
在操作中,语音处理组件220通常被配置为检测和处理通过麦克风222接收到的声音,识别检测到的声音中潜在的语音输入,并提取检测到的声音数据以启用VAS(例如,VAS190(图1B)),以处理在检测到的声音数据中识别的语音输入。语音处理组件220可以包括一个或多个模数转换器、回声消除器(“AEC”)、空间处理器(例如,一个或多个多声道维纳滤波器、一个或多个其他滤波器和/或一个或多个波束形成器组件)、一个或多个缓冲器(例如,一个或多个循环缓冲器)、一个或多个唤醒词引擎、一个或多个语音提取器和/或一个或多个语音处理组件(例如,被配置为识别与家庭相关联的特定用户或特定用户组的语音的组件)以及其他示例语音处理组件。在示例实施方式中,语音处理组件220可以包括或者采取一个或多个DSP或一个或多个DSP模块的形式。在这方面,某些语音处理组件220可以被配置有特定参数(例如,增益和/或频谱参数),该特定参数可以被修改或被调谐以实现特定功能。在一些实施方式中,一个或多个语音处理组件220可以是处理器212的子组件。
在一些实施方式中,语音处理组件220可以检测并存储用户语音配置文件,该用户语音配置文件可以与MPS 100的用户帐户相关联。例如,语音配置文件可以被存储为和/或与存储在一组命令信息或数据表中的变量进行比较。语音配置文件可以包括用户语音的音调或频率方面和/或用户语音的其他独特方面,例如,先前引用的美国专利申请No.15/438,749中所述的那些。
如图2A进一步所示,回放设备102还包括电源组件227。电源组件227至少包括外部电源接口228,该外部电源接口228可以通过将回放设备102物理地连接至电源插座或某个其他外部电源的电缆等耦合到电源(未示出)。其他电源组件可以包括例如变压器、转换器以及被配置为格式化电源的类似组件。
在一些实施方式中,回放设备102的电源组件227可以附加地包括内部电源229(例如,一个或多个电池),该内部电源229被配置为在未物理连接到外部电源的情况下为回放设备102供电。当配备有内部电源229时,回放设备102可以独立于外部电源进行操作。在一些这样的实施方式中,外部电源接口228可以被配置为促进对内部电源229的充电。如之前所讨论的,包括内部电源的回放设备在本文中可以被称为“便携式回放设备”。另一方面,使用外部电源操作的回放设备在本文中可以被称为“固定回放设备”,尽管这种设备实际上可以在家居或其他环境中移动。
回放设备102还包括用户界面240,该用户界面240可以独立于或与一个或多个控制器设备104所促进的用户交互相结合来促进用户交互。在各种实施例中,用户界面240包括一个或多个物理按钮和/或支持在触敏屏幕和/或表面上提供的图形界面等,以便用户直接提供输入。用户界面240还可以包括灯(例如,LED)和扬声器中的一个或多个,以向用户提供视觉和/或音频反馈。
作为说明性示例,图2B示出了回放设备102的示例壳体230,在壳体230的顶部234处包括控制区域232形式的用户界面。控制区域232包括用于控制音频回放、音量水平和其他功能的按钮236a-c。控制区域232还包括用于将麦克风222切换到开启状态或关闭状态的按钮236d。
如图2B进一步所示,控制区域232至少部分地由形成在壳体230的顶部234中的孔围绕,麦克风222(在图2B中不可见)通过该孔接收回放设备102的环境中的声音。麦克风222可以沿着顶部234和/或在顶部230或壳体230的其他区域内的各种位置中布置,以便从相对于回放设备102的一个或多个方向检测声音。
举例来说,SONOS公司目前提供(或已经提供)销售可以实现本文公开的某些实施例的某些回放设备,包括“PLAY:1”、“PLAY:3”、“PLAY:5”、“PLAYBAR”、“CONNECT:AMP”、“PLAYBASE”、“BEAM”、“CONNECT”和“SUB”。任何其他过去、现在和/或将来的回放设备可以附加地或备选地用于实现本文公开的示例实施例的回放设备。此外,应当理解的是,回放设备不限于图2A或图2B所示的示例或SONOS产品供应。例如,回放设备可以包括有线或无线耳机组,或者采取有线或无线耳机组的形式,该耳机组可以通过网络接口等作为媒体回放系统100的一部分进行操作。在另一示例中,回放设备可以包括个人移动媒体回放设备的扩展基座,或与其交互。在又一示例中,回放设备可以集成到另一设备或组件,例如,电视、照明器材或在室内或室外使用的一些其他设备。
b.示例回放设备配置
图3A-3E示出了回放设备的示例配置。首先参考图3A,在一些示例实例中,单个回放设备可以属于一个区。例如,露台上的回放设备102c可以属于A区。在以下所述的一些实施方式中,多个回放设备可以被“绑定”以形成“绑定对”,它们一起形成单个区。例如,可以将图3A中名为“床1”的回放设备102f(图1A)绑定到图3A中名为“床2”的回放设备102g(图1A)以形成B区。绑定的回放设备可以具有不同的回放职责(例如,声道职责)。在以下所述的另一实施方式中,多个回放设备可以被合并以形成单个区。例如,可以将名为“书架”的回放设备102d与名为“客厅”的回放设备102m合并以形成单个区C。合并的回放设备102d和102m可以不被具体地分配不同的回放职责。即,合并的回放设备102d和102m除了可以同步播放音频内容之外,还可以如未合并时那样各自播放音频内容。
为了控制的目的,MPS 100中的每个区可以被表示为单个用户界面(“UI”)实体。例如,如控制器设备104所显示的,A区可以被提供为名为“便携”的单个实体,B区可以被提供为名为“立体声”的单个实体,以及C区可以被提供为名为“客厅”的单个实体。
在各种实施例中,一个区可以采用属于该区的回放设备之一的名称。例如,C区可以采用客厅设备102m的名称(如图所示)。在另一示例中,C区可以采用书架设备102d的名称。在另一示例中,C区可以采用书架设备102d和客厅设备102m的某种组合的名称。用户可以通过控制器设备104处的输入来选择所选择的名称。在一些实施例中,可以将区命名为与属于该区的设备不同的名称。例如,图3A中的B区被命名为“立体声”,但是B区中的所有设备都没有此名称。在一方面,B区是表示名为“立体声”的单个设备的单个UI实体,该单个设备由名为“床1”和“床2”的组成设备组成。在一个实施方式中,床1设备可以是主卧室101h(图1A)中的回放设备102f,并且床2设备也可以是主卧室101h(图1A)中的回放设备102g。
如上所述,绑定的回放设备可以具有不同的回放职责,例如,某些音频声道的回放职责。例如,如图3B所示,床1和床2设备102f和102g可以被绑定,以产生或增强音频内容的立体声效果。在该示例中,床1回放设备102f可以被配置为播放左声道音频分量,而床2回放设备102g可以被配置为播放右声道音频分量。在一些实施方式中,这种立体声绑定可以被称为“配对”。
另外,被配置为被绑定的回放设备可以具有附加的和/或不同的各自的扬声器驱动器。如图3C所示,可以将名为“前”的回放设备102b与名为“SUB”的回放设备102k绑定。前设备102b可以呈现中高频范围,而SUB设备102k可以呈现低频,例如,重低音扬声器。当未绑定时,前设备102b可以被配置为呈现整个频率范围。作为另一示例,图3D示出了分别与右回放设备102a和左回放设备102j进一步绑定的前设备102b和SUB设备102k。在一些实施方式中,右设备102a和左设备102j可以形成家庭影院系统的环绕或“卫星”声道。绑定的回放设备102a、102b、102j和102k可以形成单个D区(图3A)。
在一些实施方式中,回放设备也可以被“合并”。与某些绑定的回放设备相比,合并的回放设备可能没有分配回放职责,但可以分别呈现每个回放设备能够回放的音频内容的全部范围。然而,合并的设备可以被表示为单个UI实体(即,如上所述的区)。例如,图3E示出了客厅中的回放设备102d和102m的合并,这将导致这些设备由C区的单个UI实体表示。在一个实施例中,回放设备102d和102m可以同步回放音频,在此期间,每个回放设备输出每个相应的回放设备102d和102m能够呈现的完整范围的音频内容。
在一些实施例中,独立NMD本身可以在一个区中。例如,来自图1A的NMD 103h被命名为“壁橱”,并形成图3A中的I区。NMD也可以与其他设备绑定或合并,以形成区。例如,可以将名为“岛”的NMD设备103f与回放设备102i厨房绑定,两者一起形成F区,该F区也被命名为“厨房”。例如,在先前引用的美国专利申请No.15/438,749中可以找到关于将NMD和回放设备分配为指定设备或默认设备的附加细节。在一些实施例中,可以不将独立NMD分配给区。
单个、绑定和/或合并的设备的区可以被布置为形成一组同步回放音频的回放设备。这样的一组回放设备可以被称为“组”、“区组”、“同步组”或“回放组”。响应于通过控制器设备104提供的输入,可以动态地对回放设备进行分组和取消分组以形成同步回放音频内容的新的或不同的组。例如,参考图3A,A区可以与B区分在一组,以形成区组,该区组包括两个区的回放设备。作为另一示例,A区可以与一个或多个其他区C-I分在一组。A-I区可以以多种方式进行分组和取消分组。例如,可以将三个、四个、五个或更多个(例如,全部)区A-I分在一组。如先前参考的美国专利No.8,234,395中所述,当被分在一组时,单个和/或绑定的回放设备的区可以彼此同步地回放音频。分在一组并绑定的设备是便携和固定回放设备之间的关联的示例类型,其可以响应于触发事件而引起,如上文所讨论并且在下文更详细地描述。
在各种实施方式中,可以为环境中的区分配特定名称,该特定名称可以是区组内的区的默认名称或区组内的区的名称的组合,例如,如图3A所示的“餐厅+厨房”。在一些实施例中,还可以将区组命名为由用户选择的唯一名称,例如,如图3A所示的“尼克的房间”。名称“尼克的房间”可以是用户在该区组的先前名称上选择的名称,例如,房间名称“主卧室”。
再次参考图2A,某些数据可以作为一个或多个状态变量被存储在存储器213中,该状态变量被周期性地更新并且用于描述回放区、回放设备和/或关联的区组的状态。存储器213还可以包括与媒体回放系统100的其他设备的状态相关联的数据,其可以不时地在设备之间共享,使得一个或多个设备具有与该系统相关联的最新数据。
在一些实施例中,回放设备102的存储器213可以存储与状态相关联的各种变量类型的实例。变量实例可以与对应于类型的标识符(例如,标签)一起存储。例如,某些标识符可以是用于识别区的回放设备的第一类型“a1”、用于识别可以绑定在该区中的回放设备的第二类型“b1”和用于识别该区可能所属的区组的第三类型“c1”。作为相关示例,在图1A中,与露台相关联的标识符可以指示该露台是特定区的唯一回放设备,而不是在区组中。与客厅相关联的标识符可以指示该客厅没有与其他区分在一组,而是包括绑定的回放设备102a、102b、102j和102k。与餐厅相关联的标识符可以指示该餐厅是餐厅+厨房组的一部分,并且设备103f和102i被绑定。由于厨房是餐厅+厨房区组的一部分,因此与该厨房关联的标识符可以指示相同或相似的信息。其他示例区变量和标识符如下所述。
在又一示例中,如图3A所示,MPS 100可以包括表示区和区组的其他关联的变量或标识符,例如,与区域相关联的标识符。区域可以涉及区组和/或不在区组内的区的集群。例如,图3A示出了名为“第一区域”的第一区域和名为“第二区域”的第二区域。第一区域包括露台、书房、餐厅、厨房和浴室的区和区组。第二区域包括浴室、尼克的房间、卧室和客厅的区和区组。在一个方面,区域可以用于调用区组和/或区的集群,其共享另一集群的一个或多个区和/或区组。在这方面,这样的区域不同于区组,该区组不与另一区组共享区。用于实现区域的技术的其他示例可以在例如2017年8月21日提交的题为“Room AssociationBased on Name(基于名称的房间关联)”的美国申请No.15/682,506和2007年9月11日提交的题为“Controlling and manipulating groupings in a multi-zone media system(在多区媒体系统中控制和操作组合)”的美国专利No.8,483,853中找到。这些申请中的每一个通过引用整体并入本文。在一些实施例中,MPS 100可以不实现区域,在这种情况下,系统可以不存储与区域相关联的变量。
存储器213还可以被配置为存储其他数据。这样的数据可以属于回放设备102可访问的音频源或该回放设备(或一些其他回放设备)可以与之关联的回放队列。在以下所述的实施例中,存储器213被配置为在处理语音输入时存储用于选择特定VAS的一组命令数据。
在操作过程中,图1A环境中的一个或多个回放区可能每个都在播放不同的音频内容。例如,用户可能正在露台区烧烤并收听由回放设备102c播放的嘻哈音乐,而另一用户可能正在厨房区中准备食物并收听由回放设备102i播放的古典音乐。在另一示例中,回放区可以与另一回放区同步地播放相同的音频内容。例如,用户可以在办公室区中,其中,回放设备102n正在播放与露台区中的回放设备102c正在播放的嘻哈音乐相同的音乐。在这种情况下,回放设备102c和102n可以同步地播放嘻哈音乐,使得用户可以在不同回放区之间移动时无缝地(或者至少基本上无缝地)欣赏被外放的音频内容。如先前参考的美国专利No.8,234,395中所述,可以以类似于回放设备之间的同步的方式来实现回放区之间的同步。
如上所述,可以动态地修改MPS 100的区配置。因此,MPS 100可以支持多种配置。例如,如果用户将一个或多个回放设备物理地移入或移出区,则可以将MPS 100重新配置以适应变化。例如,如果用户将回放设备102c从露台区物理地移动到办公室区,则办公室区现在可以包括回放设备102c和102n。在一些情况下,用户可以使用例如控制器设备104之一和/或语音输入来将移动的回放设备102c与办公室区配对或分在一组和/或重命名办公室区中的播放器。作为另一示例,如果将一个或多个回放设备102移动到家居环境中还不是回放区的特定空间,则可以将移动的回放设备重命名或与该特定空间的回放区相关联。
此外,MPS 100的不同回放区可以被动态地组合成区组或划分成单独的回放区。例如,餐厅区和厨房区可以被组合成用于宴会的区组,使得回放设备102i和1021可以同步地呈现音频内容。作为另一示例,可以将书房区中的绑定的回放设备分为(i)电视区和(ii)独立的收听区。电视区可以包括前置(Front)回放设备102b。收听区可以包括右侧(Right)回放设备102a、左侧(Left)回放设备102j和低音炮(SUB)回放设备102k,如上所述,它们可以被组合、配对或合并。以这种方式划分书房区可以允许一个用户在客厅空间的一个区域中的收听区中收听音乐,而另一用户在客厅空间的另一区域中观看电视。在相关示例中,用户可以在将书房区划分为电视区和收听区之前,利用NMD 103a或103b(图1B)中的任何一个来控制书房区。一旦划分,可以例如由NMD 103a附近的用户控制收听区,并且可以例如由NMD103b附近的用户控制电视区。然而,如上所述,任何NMD 103可以被配置为控制MPS 100的各种回放设备和其他设备。
c.示例控制器设备
图4A是示出了图1A的MPS 100的所选控制器设备104中的一个的某些方面的功能框图。这样的控制器设备在本文中也可以被称为“控制设备”或“控制器”。图4A中所示的控制器设备可以包括通常类似于上述网络设备的某些组件的组件,例如,处理器412、存储程序软件414的存储器413、至少一个网络接口424以及一个或多个麦克风422。在一个示例中,控制器设备可以是用于MPS 100的专用控制器。在另一示例中,控制器设备可以是网络设备,例如,iPhoneTM、iPadTM或任何其他智能手机、平板电脑或网络设备(例如,网络计算机(例如,PC或MacTM)),可以在该网络设备上安装媒体回放系统控制器应用软件。
控制器设备104的存储器413可以被配置为存储控制器应用软件和与MPS 100和/或系统100的用户相关联的其他数据。存储器413可以加载有软件414中的指令,该指令可由处理器412执行以实现某些功能,例如,促进MPS 100的用户访问、控制和/或配置。如上所述,控制器设备104被配置为通过网络接口424与其他网络设备通信,该网络接口424可以采取无线接口的形式。
在一个示例中,系统信息(例如,状态变量)可以通过网络接口424在控制器设备104和其他设备之间传送。例如,控制器设备104可以从回放设备、NMD或另一网络设备接收MPS 100中的回放区和区组配置。类似地,控制器设备104可以通过网络接口424向回放设备或另一网络设备发送这样的系统信息。在一些情况下,另一网络设备可以是另一控制器设备。
控制器设备104还可以通过网络接口424向回放设备传送回放设备控制命令,例如,音量控制和音频回放控制。如上所述,也可以由用户使用控制器设备104来执行对MPS100的配置更改。配置更改可以包括:将一个或多个回放设备添加到区/从区中删除;将一个或多个区添加到区组/从区组中删除;形成绑定或合并的播放器;将一个或多个回放设备与绑定或合并的播放器分离等。
如图4A中所示,控制器设备104还包括用户界面440,该用户界面440通常被配置为促进用户对MPS 100的访问和控制。用户界面440可以包括触摸屏显示器或其他物理界面,例如,图4B和4C中所示的控制器界面440a和440b,该触摸屏显示器或其他物理界面被配置为提供各种图形控制器界面。一起参考图4B和图4C,控制器界面440a和440b包括回放控制区域442、回放区区域443、回放状态区域444、回放队列区域446和源区域448。所示的用户界面仅是可以在网络设备(例如,图4A所示的控制器设备)上提供、并且由用户访问以控制媒体回放系统(例如,MPS 100)的界面的一个示例。替代地,可以在一个或多个网络设备上实现变化的格式、样式和交互序列的其他用户界面,以提供对媒体回放系统的类似的控制访问。
回放控制区域442(图4B)可以包括可选择图标(例如,通过触摸或通过使用光标),当其被选择时,使所选择的回放区或区组中的回放设备播放或暂停、快进、快退、跳到下一个、跳到前一个、进入/退出随机播放模式、进入/退出重复模式、进入/退出交叉淡入淡出模式等。回放控制区域442还可以包括可选择图标,当其被选择时,修改均衡设置、回放音量等。
回放区区域443(图4C)可以包括MPS 100内的回放区的表示。如图所示,回放区区域443还可以包括区组的表示,例如,餐厅+厨房区组。在一些实施例中,回放区的图形表示可以是可选择的,以调出附加的可选择图标来管理或配置MPS 100中的回放区,例如,绑定区的创建、区组的创建、区组的分离以及区组的重命名等。
例如,如图所示,可以在回放区的每个图形表示内提供“分组”图标。在特定区的图形表示内提供的“分组”图标可以是可选择的,以调出用于选择要与特定区分在一组的MPS100中的一个或多个其他区的选项。一旦被分组,已经与特定区分在一组的区中的回放设备将被配置为与该特定区中的回放设备同步地播放音频内容。类似地,可以在区组的图形表示内提供“分组”图标。在这种情况下,“分组”图标可以是可选择的,以调出用于取消选择区组中的要从该区组中移除的一个或多个区的选项。通过用户界面对区进行分组和取消分组的其他交互和实现也是可能的。当回放区或区组配置被修改时,可以动态地更新回放区在回放区区域443(图4C)中的表示。
回放状态区域444(图4B)可以包括在所选择的回放区或区组中当前正在播放、先前播放或被安排为接下来播放的音频内容的图形表示。可以在用户界面上可视地区分所选择的回放区或区组,例如,在回放区区域443和/或回放状态区域444内。图形表示可以包括曲目标题、艺术家姓名、专辑名称、专辑年份、曲目长度和/或其他相关信息,当用户通过控制器界面控制MPS 100时,这些信息可能对用户有用。
回放队列区域446可以包括与所选择的回放区或区组相关联的回放队列中的音频内容的图形表示。在一些实施例中,每个回放区或区组可以与回放队列相关联,该回放队列包括与该回放区或区组回放的零个或多个音频项相对应的信息。例如,回放队列中的每个音频项可以包括统一资源标识符(URI)、统一资源定位符(URL)或一些其他标识符,该其他标识符可以由回放区或区组中的回放设备用于从本地音频内容源或网络音频内容源查找和检索音频项,然后可以由回放设备回放该音频项。
在一个示例中,可以将播放列表添加到回放队列,在这种情况下,可以将与播放列表中的每个音频项对应的信息添加到回放队列。在另一示例中,回放队列中的音频项可以被保存为播放列表。在另一示例中,当回放区或区组正在连续播放流式音频内容(例如,互联网收音机,其可以持续播放直到被停止),而不是具有回放持续时间的分立音频项时,回放队列可以为空或被填充但“未使用”。在替代实施例中,回放队列可以包括互联网收音机和/或其他流音频内容项,并且当回放区或区组正在播放这些项时处于“使用中”。其他示例也是可能的。
当回放区或区组被“分组”或“取消分组”时,可以清除与受影响的回放区或区组相关联的回放队列,或者重新关联。例如,如果包括第一回放队列的第一回放区与包括第二回放队列的第二回放区被分在一组,则所建立的区组可以具有相关联的回放队列,其最初是空的,包含来自第一回放队列的音频项(例如,如果第二回放区被添加到第一回放区),或包含来自第二回放队列的音频项(例如,如果第一回放区被添加到第二回放区),或包含来自第一回放队列和第二回放队列二者的音频项的组合。随后,如果所建立的区组被取消分组,则所得到的第一回放区可以与先前的第一回放队列重新关联,或者与新的回放队列相关联,该新的回放队列是空的,或者包含与来自在所建立的区组被取消分组之前所建立的区组相关联的回放队列的音频项。类似地,所得到的第二回放区可以与先前的第二回放队列重新关联,或者与新的回放队列相关联,该新的回放队列是空的,或者包含来自在与所建立的区组被取消分组之前所建立的区组相关联的回放队列的音频项。其他示例也是可能的。
仍然参考图4B和4C,音频内容在回放队列区域446(图4B)中的图形表示可以包括曲目标题、艺术家姓名、曲目长度以及与回放队列中的音频内容相关联的其他相关信息。在一个示例中,音频内容的图形表示可以是可选择的,以调出附加的可选择图标来管理和/或操纵回放队列和/或回放队列中表示的音频内容。例如,可以将所表示的音频内容从回放队列中移除,将所表示的音频内容移动到回放队列内的不同位置,或者选择所表示的音频内容以立即播放,或者在任何当前播放的音频内容之后进行播放等。与回放区或区组相关联的回放队列可以存储于该回放区或区组中的一个或多个回放设备上、不在该回放区或区组中的回放设备上和/或一些其他指定设备上的存储器中。这种回放队列的回放可以涉及一个或多个回放设备可能按顺序或随机顺序回放队列中的媒体项。
源区域448可以包括与对应的VAS相关联的可选择音频内容源和/或可选择语音助手的图形表示。可以选择性地分配VAS。在一些示例中,同一NMD可以调用多个VAS,例如,AMAZON的Alexa、MICROSOFT的Cortana等。在一些实施例中,用户可以将VAS专门分配给一个或多个NMD。例如,用户可以将第一VAS分配给图1A所示的客厅中的NMD 102a和102b中的一个或两个,并将第二VAS分配给厨房中的NMD 103f。其他示例是可能。
d.示例音频内容源
源区域448中的音频源可以是音频内容源,可以通过所选择的回放区或区组从该音频内容源中获取音频内容并播放。区或区组中的一个或多个回放设备可以被配置为从各种可用音频内容源中获取回放音频内容(例如,根据音频内容的对应URI或URL)。在一个示例中,回放设备可以直接从对应的音频内容源(例如,通过线路输入连接)中检索音频内容。在另一示例中,可以在网络上,经由一个或多个其他回放设备或网络设备向回放设备提供音频内容。如下文更详细描述的,在一些实施例中,音频内容可以由一个或多个媒体内容服务提供。
示例音频内容源可以包括:媒体回放系统(例如,图1的MPS 100)中的一个或多个回放设备的存储器、一个或多个网络设备(例如,控制器设备、启用网络的个人计算机或附接网络的存储器(“NAS”))上的本地音乐库、通过互联网(例如,基于云的音乐服务)提供音频内容的流音频服务、或者通过回放设备或网络设备上的线路输入连接连接至媒体回放系统的音频源等。
在一些实施例中,可以从媒体回放系统(例如,图1A的MPS 100)中添加或移除音频内容源。在一个示例中,每当添加、移除或更新一个或多个音频内容源时,可以执行对音频项编索引。对音频项编索引可以包括:扫描由媒体回放系统中的回放设备可访问的网络上共享的所有文件夹/目录中的可识别音频项,并且生成或更新包括元数据(例如,标题、艺术家、专辑、曲目长度等)及其他关联信息(例如,找到的每个可识别音频项的URI或URL)的音频内容数据库。用于管理和维护音频内容源的其他示例也是可能的。
e.示例网络麦克风设备
图5是示出了根据本公开的实施例配置的NMD 503的功能框图。例如,NMD 503可以被配置为与MPS 100一起使用,并且可以与本文描述的任何回放设备和/或网络麦克风设备进行通信。如上所述,在一些实施方式中,NMD可以是独立的,而在其他实施方式中是回放设备或不同的设备,例如,智能家用电器(例如,智能洗衣机、微波炉等)。如图5所示,NMD 503包括语音处理器560、唤醒词引擎570和至少一个语音提取器572,其中,每个语音提取器572都可操作地耦合到语音处理器560。NMD 503可以配备有NMD,使得其包括麦克风222和上述至少一个网络接口224。NMD 503还可以包括其他组件,例如,音频放大器等,为清楚起见未在图5中示出。
NMD 503的麦克风222被配置为从NMD 503的环境向语音处理器560提供检测到的声音SD。检测到的声音SD可以采用一个或多个模拟或数字信号的形式。在示例实施方式中,检测到的声音SD可以由与分别馈送到语音处理器560的各个声道562相关联的多个信号组成。每个通道562可以向语音处理器560提供全部或部分所检测到的声音SD
每个声道562可以对应于特定的麦克风222。例如,具有六个麦克风的NMD可以具有六个对应的声道。检测到的声音SD的每个声道可以与其他声道具有某些相似性,但在某些方面可能有所不同,这可能是由于给定声道的对应麦克风相对于其他声道的麦克风的位置。例如,检测到的声音SD的一个或多个声道可以具有比其他声道更大的语音与背景噪声的信噪比(“SNR”)。
如图5进一步所示,语音处理器560包括一个或多个语音捕获组件(例如,AEC564)、空间处理器566和一个或多个缓冲器568。在操作中,AEC 564接收检测到的声音SD并过滤或以其他方式处理该声音以抑制回声和/或改善检测到的声音SD的质量。然后可以向空间处理器566传递该处理后的声音。
空间处理器566通常被配置为分析所检测到的声音SD并识别某些特性,例如,声音的幅度(例如,分贝级)、频谱、方向性等。一方面,如上所述,空间处理器566可以基于所检测到的声音SD的组成声道562的相似性和差异性来帮助过滤或抑制所检测到的来自潜在用户语音的声音SD中的周围环境噪声。作为一种可能性,空间处理器566可以监视将话音与其他声音区分开的度量。例如,这种度量可以包括话音频带内相对于背景噪声的能量以及该话音频带内的熵(频谱结构的一种测量),该话音频带内的熵通常比大多数常见背景噪声低。在一些实施方式中,空间处理器566可以被配置为确定语音存在概率,这种功能的示例在2018年5月18日提交的题为“Linear Filtering for Noise-Suppressed SpeechDetection”的美国专利申请No.15/984,073中公开,其全部内容通过引用并入本文。
在操作中,一个或多个缓冲器568(其中一个或多个可以是存储器213(图2A)的一部分或与之分离)捕获与检测到的声音SD相对应的数据。更具体地说,一个或多个缓冲器568捕获由上游AEC 564和空间处理器566处理的检测到的声音数据。所检测到的声音和/或任何相关联的数据在保留在至少一个缓冲器568中时可以被称为“声音样本”。声音样本可以包括例如(a)音频数据或(b)音频数据和关于该音频数据的元数据。作为示例,如下所述,第一缓冲器可以临时保留用于流式传输音频数据的音频样本。第二缓冲器可以临时保留关于第一缓冲器中的当前音频样本、在当前音频样本之前捕获的特定数量的音频样本、和/或在当前音频样本之后捕获的特定数量的音频样本的元数据(例如,频谱数据、声压级等)。在一些实施方式中,这种类型的第二缓冲器可以被称为回溯缓冲器。描述缓冲器(包括回溯缓冲器)和具有语音处理器(例如,空间处理器)的缓冲器配置的附加细节可以在例如于2018年5月25日提交的题为“Determining and Adapting to Changes in MicrophonePerformance of Playback Devices”的美国专利申请No.15/989,715、于2018年9月21日提交的题为“Voice Detection Optimization Using Sound Metadata”的美国专利申请No.16/138,111、以及于2018年9月25日提交的题为“Voice Detection OptimizationBased on Selected Voice Assistant Service”的美国专利申请No.16/141,875中找到,所有这些内容通过引用整体并入本文。
通常,检测到的声音数据形成由麦克风222检测到的声音的数字表示(即,声音数据流)SDS。实际上,声音数据流SDS可以采用多种形式。作为一种可能性,声音数据流SDS可以由帧组成,每个帧可以包括一个或多个声音样本。可以从一个或多个缓冲器568流式传输(即,读出)帧,以由下游组件(例如,NMD 503的唤醒词引擎570和语音提取器572)进行进一步处理。
在一些实施方式中,至少一个缓冲器568利用滑动窗口方法来捕获检测到的声音数据,其中,在至少一个缓冲器568中保留给定数量(即,给定窗口)的最新捕获的检测到的声音数据作为声音样本,而当较旧的检测到的声音数据落在窗口之外时,它们将被覆写。例如,至少一个缓冲器568可以在给定时间临时保留20个声音样本的帧,在到期时间之后丢弃最旧的帧,然后捕捉新的帧,将其添加到声音样本的19个先前帧中。
实际上,当声音数据流SDS由帧组成时,这些帧可以采用具有各种特性的各种形式。作为一种可能性,这些帧可以采用具有一定分辨率(例如,16比特分辨率)的音频帧的形式,该分辨率可以基于采样率(例如,44,100Hz)。附加地或替代地,这些帧可以包括与这些帧定义的给定声音样本相对应的信息,例如,元数据,该元数据指示频率响应、功率输入电平、SNR、麦克风声道标识和/或给定声音样本的其他信息,以及其他示例。因此,在一些实施例中,帧可以包括声音的一部分(例如,给定声音样本的一个或多个样本)和关于声音的一部分的元数据。在其他实施例中,帧可以仅包括声音的一部分(例如,给定声音样本的一个或多个样本)或关于声音的一部分的元数据。
在任何情况下,语音处理器560下游的NMD 503的组件可以处理声音数据流SDS。例如,唤醒词引擎570可以被配置为将一种或多种识别算法应用于声音数据流SDS(例如,流声音帧),以在检测到的声音SD中发现潜在唤醒词。许多第一方和第三方唤醒词检测算法是已知的并且可商购的。例如,不同的语音服务(例如,AMAZON的ALEXA、APPLE的SIRI、MICROSOFT的CORTANA、GOOGLE的ASSISTANT等)各自使用不同的唤醒词来调用它们各自的语音服务,并且一些语音服务使它们的算法可用于第三方设备。在一些实施例中,唤醒词引擎570被配置为在接收到的音频上同时(或基本同时)运行多个唤醒词检测算法。为了支持多种语音服务,唤醒词引擎570可以针对每个支持的语音服务通过唤醒词检测算法并行地运行接收到的声音数据流SDS。在这样的实施例中,NMD 503可以包括VAS选择器组件(未示出),其被配置为将语音输入传递给适当的语音助手服务。在其他实施例中,例如当NMD的唤醒词引擎中的每一个专用于同一VAS时,可以省略VAS选择器组件。
在任何情况下,当特定唤醒词引擎570发现潜在唤醒词时,该唤醒词引擎可以提供“唤醒词事件”(也称为“唤醒词触发”)的指示。继而,唤醒词事件的指示可以使NMD调用与触发的唤醒词引擎相关联的VAS。
在图5所示的示例中,触发的唤醒词引擎570产生信号SW,这使语音提取器572发起声音数据流SDS的流式传输。更具体地,响应于唤醒词事件(例如,响应于来自唤醒词引擎570的指示唤醒词事件的信号SW),语音提取器572被配置为接收和格式化(例如,封装)声音数据流SDS。例如,语音提取器572可以将声音数据流SDS的帧打包成消息MV,以用于通过网络将声音数据中继到VAS。在图5所示的示例中,语音提取器572经由网络接口224实时或接近实时地将这些消息发送或流式传输到与VAS相关联的一个或多个远程计算设备,例如,VAS 190(图1B)。
该VAS被配置为处理从NMD 503发送的消息MV中包含的声音数据流SDS。更具体地,VAS被配置为基于声音数据流SDS和/或从声音数据流SDS导出的数据来识别任何语音输入。参照图6A,语音输入680可以包括唤醒词部分680a和发声部分680b。唤醒词部分680a对应于导致唤醒词事件的检测到的声音。例如,唤醒词部分680a对应于使唤醒词引擎570向语音提取器572提供唤醒词事件的指示的检测到的声音。发声部分680b对应于检测到的声音,该检测到的声音潜在包括跟随唤醒词部分680a的用户请求。
作为说明性示例,图6B示出了示例第一声音样本。在该示例中,声音样本对应于所检测到的声音数据,该声音数据例如作为声音数据流SDS的一部分流式传输。该检测到的声音数据可以包括与图6A的所发现的唤醒词680a相关联的音频帧。如图所示,示例第一声音样本包括:(i)紧接在说出唤醒词之前在NMD 503(图5)的环境中检测到的声音,该声音可以被称为前滚动部分(在时间t0和t1之间);(ii)在说出唤醒词时在NMD 503(图5)的环境中检测到的声音,该声音可以被称为唤醒计部分(在时间t1和t2之间)和/或(iii)在说出唤醒词之后在NMD 503(图5)的环境中检测到的声音,该声音可以被称为后滚动部分(在时间t2和t3之间)。其他声音样本也是可能的。
通常,VAS可以首先处理声音数据流SDS中的唤醒词部分680a以验证唤醒词的存在。在一些实例中,VAS可以确定唤醒词部分680a包括错误的唤醒词(例如,当单词“Alexa”是目标唤醒词时,单词“Election”)。在这种情况下,VAS可以向NMD 503(图5)发送响应,指示NMD503停止提取声音数据,这可能导致语音提取器572停止检测到的声音数据向VAS的进一步流传输。唤醒词引擎570可以恢复或继续监视声音样本,直到另一潜在唤醒词导致另一唤醒词事件。在一些实施方式中,VAS可以不处理或接收唤醒词部分680a,而是仅处理发声部分680b。
在任何情况下,VAS处理发声部分680b以识别在检测到的声音数据中任何单词的存在并从这些单词确定潜在意图。这些单词可以对应于某个命令和某些关键词684(在图6A中分别标识为第一关键词684a和第二关键词684b)。关键词可以是例如语音输入680中的识别MPS 100中特定设备或分组的词。例如,在所示的示例中,关键词684可以是识别要在其中播放音乐的一个或多个区(例如,客厅和餐厅(图1A))的一个或多个单词。
为了确定单词的意图,VAS通常与和VAS(未示出)关联的一个或多个数据库和/或MPS 100的一个或多个数据库(未示出)进行通信。这样的数据库可以存储多种用户数据、分析、目录和其他信息以用于自然语言处理和/或其他处理。在一些实施方式中,可以基于语音输入处理来更新这样的数据库以用于神经网络的自适应学习和反馈。在某些情况下,发声部分680b可以包括附加信息,例如,检测到的用户说出的单词之间的停顿(例如,非语音的时间段),如图6A所示。该停顿可以在发声部分680b内划分由用户说出的单独命令、关键词或其他信息的位置。
基于某些命令标准,VAS可以由于识别语音输入中的一个或多个命令(例如,命令682)而采取动作。命令标准可以基于在语音输入中包含某些关键词以及其他可能性。附加地或备选地,用于命令的命令标准可以涉及对一个或多个控制状态和/或区状态变量的识别,该控制状态和/或区状态变量与一个或多个特定命令的识别相结合。控制状态变量可以包括:例如,识别音量水平的指示符、与一个或多个设备相关联的队列以及回放状态,例如,设备是否正在播放队列、是否暂停等。区状态变量可以包括:例如,识别哪些区播放器(如果有的话)被分在一组的指示符。
在处理语音输入之后,VAS可以基于其从语音输入确定的意图,经由网络接口224向NMD 503发送具有指令的响应S1,以执行一个或多个动作。例如,基于语音输入,VAS可以指导NMD 503或经由NMD 503的MPS 100在一个或多个回放设备102上发起回放、控制这些设备中的一个或多个(例如,提高/降低音量、分组/取消分组设备等)、打开/关闭某些智能设备以及其他动作。如以上所讨论的,在接收到来自VAS的响应之后,NMD 503的唤醒词引擎570可以恢复或继续监视声音数据流SDS,直到发现另一潜在唤醒词为止。
NMD 503可以可操作地耦合到回放设备的回放组件,在各种实施例中,NMD 503可以形成这些回放组件的一部分。回放组件可以包括音频接口519、音频输出处理器515和扬声器218。回放组件中的一个、一些或全部可以板载在包括NMD 503的回放设备上,或者可以与MPS 100的不同回放设备相关联。网络接口224可以基于来自VAS的响应将信号S1传送到音频接口519,并且音频接口519可以将音频信号AS发送给音频输出处理器515。例如,音频输出处理器515可以包括上面参考图2A讨论的音频处理组件216中的一个或多个。最后,音频输出处理器515将处理后的音频信号AP发送给回放设备的扬声器218以进行回放。音频输出处理器515还可以基于处理后的音频信号AP将一个或多个参考信号REF发送给AEC 564,以抑制来自由回放设备回放的音频内容的回声音频分量,否则该回声音频分量可能会出现在所检测到的声音SD中。
在一些实施方式中,除了或代替一个或多个唤醒词引擎570,NMD 503可以包括一个或多个其他语音输入识别引擎(未示出),其使NMD 503能够在没有远程VAS的协助的情况下进行操作。作为示例,这样的引擎可以在检测到的声音中识别某些命令(例如,“播放”、“暂停”、“打开”等)和/或某些关键词或短语,例如,分配给给定回放设备的唯一名称(例如“书架”、“露台”、“办公室”等)。响应于识别这些命令、关键词和/或短语中的一个或多个,NMD 503可以传送使音频处理组件216(图2A)执行一个或多个动作的信号(在图5中未示出)。例如,当用户说“Hey Sonos,停止办公室里的音乐”时,NMD 503可以直接或间接地通过MPS 100的一个或多个其他设备向办公室回放设备102n传送信号,使办公设备102n停止音频回放。减少或消除来自远程VAS的辅助的需求,可以减少在远程处理语音输入时可能发生的延迟。在某些情况下,所采用的识别算法可以被配置为识别在没有前面的唤醒词的情况下说出的命令。例如,在以上示例中,NMD 503可以采用识别算法,该算法触发事件以停止办公室中的音乐,而无需用户先说“Hey Sonos”或另一唤醒词。
III.分布式语音处理的示例系统和方法
图7A-图7E描绘了被配置为根据本技术分发语音处理的联网回放设备702(分别识别为第一回放设备702a和第二回放设备702b)。例如,回放设备702可以是媒体回放系统(例如,MPS100)的一部分。在一些实施例中,回放设备702可以位于环境(例如,家庭)的各个区域中,例如,在不同房间中或在同一房间中。例如,第一回放设备702a可以位于第一区域,例如,“房间1”(如图所示),而第二回放设备可以位于第二区域,例如,房间1或不同的房间(例如,“房间2”)内。如下文更详细描述的,回放设备702可以被配置为共享一个或多个语音处理功能的工作负载,例如,语音输入检测,包括唤醒词检测。尽管下面描述的方法参考两个回放设备,但是本技术的方法包括跨多于两个回放设备(例如,3个回放设备、4个回放设备、8个回放设备、20个回放设备等)分发一个或多个语音处理功能(例如,唤醒词检测)。
如图7A所示,回放设备702中的每一个可以包括与上述回放和网络麦克风设备的组件大体相似的组件。例如,回放设备702可以包括回放组件(未示出),例如,音频接口、音频输出处理器、扬声器等。回放设备702还包括语音处理组件,其可以类似于以上参考图5描述的NMD 503的一些或全部语音处理组件。例如,第一回放设备702a和第二回放设备702b包括相应的第一语音处理器760a和第二语音处理器760b(统称为“语音处理器760”)、与相应的第一VAS 790a和第二VAS 790b相关联的第一唤醒词引擎770a和第二唤醒词引擎770b(统称为“唤醒词引擎770”)。第一回放设备702a和第二回放设备702b还包括相应的第一网络接口724a和第二网络接口724b(统称为“网络接口”),其被配置为通过局域网和/或广域网彼此通信。第一网络接口724a和第二网络接口724b还可以被配置为通过局域网和/或广域网与MPS 100的其他计算设备和/或一个或多个远程服务器(例如,与VAS相关联的远程服务器)进行通信。
第一回放设备702a的第一语音处理器760可以包括语音处理组件,例如,第一AEC764a、第一空间处理器766和第一缓冲器768a。第一语音处理器760a的组件被配置为处理所检测到的声音并将其馈送到第一唤醒词引擎770a(由箭头I(a)表示)。第一唤醒词引擎770a可以被配置为检测特定于第一VAS 790a的第一唤醒词。例如,第一唤醒词引擎770a可以与AMAZON的ALEXA相关联,并且被配置为运行相应的唤醒词检测算法(例如,被配置为检测唤醒词“Alexa”或其他相关联的唤醒词)。第一唤醒词引擎770a可以被配置为仅检测与第一VAS 790a相关联的唤醒词(例如,第一唤醒词),并且不能检测与不同VAS(例如,如下所述的第二VAS 790b)相关联的唤醒词。
在图7A描绘的示例中,第二语音处理器760b包括第二缓冲器768b,并且不包括AEC和空间处理器。这种配置可能是有益的,例如因为与特定VAS相关联的唤醒词引擎(例如,GOOGLE的ASSISTANT)可能不需要声学回声消除和/或空间处理来检测唤醒词。在其他实施例中,第二语音处理器760b可以不包括缓冲器和/或可以包括AEC、空间处理器和/或其他语音处理组件。在任何情况下,第二语音处理器760b的组件被配置为经由网络接口724(由箭头I(b)-I(d)表示)处理所检测到的声音数据并将其馈送到第二语音处理器760b。第二回放设备702b和/或第二唤醒词引擎770b可以与第二VAS 790b相关联,并且被配置为检测与第一唤醒词不同的特定于第二VAS 790b的第二唤醒词。例如,第二唤醒词引擎770b可以与GOOGLE的ASSISTANT相关联,并且被配置为运行相应的唤醒词检测算法(例如,被配置为检测唤醒词“OK,Google”或其他相关联的唤醒词)。因此,在该技术的一些方面,第一唤醒词引擎770a和第二唤醒词引擎770b被配置为检测与不同VAS相关联的不同唤醒词。
一方面,第一回放设备702a可以被配置为以类似于以上参考NMD 503(图5)描述的方式配备NMD。例如,第一回放设备702a包括被配置为检测声音的多个板载麦克风722(例如,远场麦克风)。在所示示例中,第一回放设备702a具有六个麦克风722和六个对应的通道(标记为“mic/ch.1”、“mic/ch.2”等)。在其他实施例中,第一回放设备702a可以具有多于或少于六个麦克风或通道。由麦克风722检测到的声音可以由第一语音处理器760a处理,并被馈送到第一唤醒词引擎770a和第一网络接口724a。在图7A描绘的示例中,第一语音处理器760a将来自麦克风1-6的经处理的所检测到的声音发送给第一唤醒词引擎770a,并将来自麦克风5和6的经处理的所检测到的声音发送给第一网络接口724a(以用于后续发送给第二回放设备702b,详述如下)。
第二回放设备702b也可以被配置为配备NMD,但是以与第一回放设备702a不同的方式。与第一回放设备702a相反,第二回放设备702b不具有任何板载麦克风。替代地,第二回放设备702b被配置为接收和处理由第一回放设备702a的麦克风722检测到的声音(经由第一网络接口724a和第二网络接口724b的通信)。第二回放设备702b可以以原始麦克风数据或经处理的声音数据(例如,由第一语音处理器760a预处理)的形式接收所检测到的声音。在图7A所示的示例中,第二回放设备702b从麦克风722的指定子集(例如,麦克风5和6)接收所检测到的声音。在其他实施例中,第二回放设备702b可以从第一回放设备702a的更多或更少麦克风722(例如,1个麦克风、4个麦克风、所有可用的麦克风等)接收所检测到的声音。
如上所述,所检测到的声音(来自第一回放设备702a)经由第二网络接口(由箭头I(d)表示)传递到第二语音处理器760b,第二语音处理器760b处理所检测到的声音并将其发送给第二唤醒词引擎770b(由箭头I(e)表示)。然后,第二唤醒词引擎770b处理所检测到的声音以检测第二唤醒词,这可以在第一唤醒词引擎770a处理所检测到的第一唤醒词的声音之前、之后或同时发生。如此,第一回放设备702a和第二回放设备702b被配置为针对与不同VAS相关联的不同唤醒词监测由第一回放设备702a的麦克风722检测到的声音,这允许用户实现多个VAS的益处,每个VAS可能在不同方面表现出色,而不是要求用户将其交互限制在单个VAS中以排除任何其他VAS。此外,跨系统的多个回放设备的分发释放了计算资源(例如,处理时间和功率)(与具有两个唤醒词引擎的单个回放设备相比)。因此,本技术的回放设备可以被配置为有效地处理所检测到的声音,从而增强媒体回放系统对用户命令的响应性和准确性。
在各种实施例中,从第一回放设备702a发送给第二回放设备702b的数据可以包括例如来自一个、一些或所有麦克风的原始麦克风数据和/或经处理的声音数据(例如,在由第一AEC 764a和第一空间处理器766a中的一个或多个处理之后)。处理要发送的数据可以包括在发送之前压缩数据。在一些实施方式中,在发送所检测到的声音之前,用参考信号执行声学回声消除(经由第一AEC 764a)以减少带宽可以是有益的。在一些实施例中,在对要从第一回放设备702a发送给第二回放设备702b的声音数据应用回声消除的配置中,可以从第二语音处理器760b绕过或省略第二AEC 764b。在附加或备选实施例中,可以对要发送给第二回放设备702b的数据执行空间处理,在这种情况下,可以从第二语音处理器760b绕过或省略第二空间处理器766b。
在图7A描绘的场景中,用户已经说出包括第一唤醒词并旨在调用第一VAS 790a的命令(“[第一唤醒词],打开灯”)。麦克风722检测与命令相关联的声音,并将所检测到的声音传递到第一语音处理器760a,以由一个或多个其组件进行处理。第一语音处理器760a将所检测到的来自麦克风1-6的声音数据传递到第一唤醒词引擎770a,并将所检测到的来自麦克风5和6的声音数据传递到第一网络接口724b,以经由第二网络接口724b发送给第二回放设备702b。第二网络接口724b将所检测到的声音数据馈送到第二语音处理器760b,第二语音处理器760b可以在发送给第二唤醒词引擎770b以检测第二唤醒词之前应用一个或多个语音处理技术。由于该命令包括第一唤醒词,第一唤醒词引擎770a触发语音提取器(例如,图5中的语音提取器572)以经由第一网络接口724a向第一VAS 790a流式传输消息(例如,包含所检测到的声音的分组化帧的消息)。由于该命令不包括第二唤醒词,第二唤醒词引擎770b不触发对第二VAS 790b的语音提取。第一VAS 790a处理打包的语音数据,并向第一网络接口724发送响应,其中带有用于第一回放设备702a执行用户请求的动作的指令,即,回放披头士乐队的音乐。第一VAS 790a还可以向第一回放设备702a发送语音响应以供第一回放设备702a回放,以向用户确认MPS 100和/或第一VAS 790a已经处理了用户的请求。
图7B描绘了图7A的示例环境内的第一回放设备702a和第二回放设备702b,但是在该示例中,用户已经说出了包括第二唤醒词并旨在调用第二VAS 790b的命令。如图7B所示,在这样的场景中,第二唤醒词引擎770b检测到所检测到的声音中的第二唤醒词并触发语音提取器(例如,图5中的语音提取器572),然后语音提取器可以提取声音数据(例如,将所检测到的声音帧打包成消息)。在图7B所示的示例中,语音提取器将声音数据提取到与第二VAS 790b相关联的一个或多个远程计算设备(例如,经由第二网络接口724b)。与第二VAS790b相关联的远程计算设备被配置为处理与所检测到的声音相关联的声音数据,并向第二回放设备702b发送响应(例如,经由第二网络接口724b),该响应可以包括用于第一回放设备702a、第二回放设备702b和/或MPS 100的另一回放设备执行一个动作或一系列动作(或者,在一些情况下,什么都不做)的指令。对于图7B中提供的示例命令(“播放披头士乐队”),第二VAS 790b向第二回放设备702b发送具有用于第一回放设备702a播放披头士乐队音乐的指令的消息。然后,第二回放设备702b可以将指令转发到第一回放设备702a,并且第一回放设备702执行动作。第二VAS 790b还可以向第二回放设备702b发送语音响应以供第一回放设备702a回放,以向用户确认MPS 100和/或第二VAS 790b已经处理了用户的请求。如图7B所示,然后第一回放设备702a可以回放语音响应(“好的”)。
在一些实施例中,可以使第二VAS 790知道第一回放设备702a、第一回放设备702a和第二回放设备702b之间的关系、和/或每个回放设备的功能能力和/或限制(即,具有/不具有扬声器/能够回放,具有/不具有麦克风/配备有NMD等),并且该响应可以包括指示第二回放设备702b向第一回放设备702a发送指令的消息,该指令使第一回放设备702a什么都不做或执行动作。因此,即使第二回放设备702b是与第二VAS 190b直接通信的回放设备,在一些实施例中,除了指示第一回放设备702a执行动作之外,第二回放设备702b可以不采取任何动作。
在一些实施例中,第二VAS 790b可能不接收任何关于哪个回放设备是所检测到的声音的发起者和/或哪个回放设备将执行动作的信息(即,第二VAS 790b不知道第一回放设备702a)。在这样的实施例中,第二VAS 790b可以向第二回放设备702b发送消息,其中带有什么都不做或执行动作的指令,并且第二回放设备702b可以将消息转发到第一回放设备702a。第二回放设备702b可以自动地转发该消息,或者可以首先处理该消息以决定该消息是否应该被发送给第一回放设备702a。
如图7C的示例流程图所示,第二回放设备702b可以可选地在包含发送给第二VAS790b的声音数据的消息783中包括标识符(例如,标签T),使得当第二VAS 790b发送包含用于响应用户请求的指令的响应784、785,该指令被识别到第二回放设备702b以由第一回放设备702a回放。在一些实施例中,标签T仅对第二回放设备702b有意义,并且第二VAS 790b在不知道其功能或暗示的情况下被动地将标签包括在响应中。在其他实施例中,标签T还向第二VAS 790b指示第一回放设备702a将执行所请求的动作(或者至少第二回放设备702b未正在执行所请求的动作)。
无论是由第一回放设备702a、第二回放设备702b还是MPS 100的其他回放设备执行,该动作可以包括在第一回放设备702a和/或第二回放设备702b(和/或MPS 100的其他回放设备)上回放音频响应。例如,音频响应可以是对接收到命令的确认,例如,回放提示音的指令或要回放的语音响应(例如,音频文件)(例如,“好的”等)。音频响应可以附加地或备选地包括语音响应,该语音响应具有对语音输入中提出的问题的回答(例如,响应于“天气如何?”的“53度和下雨”)或对信息的后续请求(“你是说厨房灯还是露台灯?”)。
在一些实施例中,第二VAS 790b可以指示MPS 100将在语音输入中请求的媒体内容(例如,音乐、播客、有声读物等)下载到第一回放设备702a和/或第二回放设备702b。第二VAS 790b可以针对第一VAS和/或第二VAS 190b提供指令以执行与媒体内容相关的动作,例如,增大/减小音量、开始或恢复媒体项目的回放、播放队列中的下一首歌曲、播放队列中的上一首歌曲、停止或暂停回放、将MPS 100的特定回放设备与MPS 100的其他回放设备分组在一起、将媒体项目的回放转移到不同的回放设备等。
该动作可以附加地或备选地包括不直接暗示音频内容的回放的动作(例如,针对第一回放设备702a和/或第二回放设备702b(或MPS 100的其他回放设备)的指令)以指示或以其他方式使智能家电执行操作(例如,指示智能灯打开/关闭,指示智能锁锁定/解锁等)。其他非听觉操作包括设置计时器、将商品添加到购物清单、呼叫用户的联系人之一等。对于所有这样的非听觉动作,第二回放设备702b可以接收指令以提供对命令的可听确认(例如,“好的”、提示音等)。
当第二VAS 790b正在处理所检测到的声音时,第一回放设备702a可以继续监测所检测到的声音以获得第一唤醒词,和/或将所检测到的声音发送给第二回放设备702b。
再次参考图7B,在一些实施例中,第二回放设备702b和/或MPS 100可以暂时禁用(例如,经由如图所示的禁用信号)第一唤醒词引擎770a,而第二VAS 790b处理语音输入,在该语音输入中检测到第二唤醒词。无论第一回放设备702a和第二回放设备702b是否共享所检测到的来自任何麦克风722的声音和/或单独使用一些或所有麦克风722,都可以禁用第一唤醒词引擎770b。在第二VAS 790b处理语音输入的同时禁用第一唤醒词引擎770a以抑制第一唤醒词的无意检测并防止第一回放设备702a和/或第二回放设备702b的潜在冲突动作和/或输出可以是有益的。在一些实施例中,一旦第二VAS 790b完成了对语音输入的处理,就可以重新启用第一唤醒词引擎770a。同样,在一些实施例中,当第一唤醒词引擎770a检测到唤醒词时,第一回放设备702a和/或MPS 100可以暂时禁用第二唤醒词引擎770b。附加地或备选地,当另一回放设备的唤醒词引擎检测到其各个的唤醒词时,可以暂时禁用分配给第一回放设备702a或第二回放设备702b的麦克风。在一些实施例中,禁用唤醒词引擎可以包括允许唤醒词引擎继续监测唤醒词但暂时将空间处理器上游的音频输入静音,例如通过在数字输入流中插入零或以低噪声水平静音,使得唤醒词在静音时较少或无法检测到唤醒词。
图7D描绘了示例环境内的第一回放设备702a和第二回放设备702b的另一种配置,其中,用户已经说出与图7A中相同的命令,该命令通过使用第一唤醒词来调用第一VAS790a。与以上关于图7A描述的场景相反,第一语音处理器760a从麦克风722的第一子集(例如,麦克风1-4)接收所检测到的声音,并且第二回放设备702b从麦克风722的第二子集(例如,麦克风5和6)接收所检测到的声音,麦克风的第二子集与麦克风的第一子集不同。在这样的实施例中,麦克风的第一子集和/或第二子集可以包括少于第一回放设备702a的麦克风总数的任何数量的麦克风(包括单个麦克风)。在一些方面,麦克风722中的特定麦克风(例如由回放设备702、MPS 100和/或MPS 100的另一回放设备中的一个或两个)被专门分配给第一回放设备702a,并且麦克风722中的特定麦克风被专门分配给第二回放设备702b。在这样的实施例中,麦克风的第一子集和第二子集不具有共同的麦克风。在其他实施例中,麦克风的第一子集和第二子集可以具有至少一个共同的麦克风。
在一些实施例中,MPS 100和/或第一回放设备702a可以包括麦克风选择器(未示出),其动态地确定麦克风722中的哪些(如果有的话)用于收集信号以发送给第二回放设备702b。例如,麦克风选择器可以利用回溯缓冲器来向MPS 100的一个或多个远程计算设备提供反馈,以确定第一回放设备702a的麦克风722是否、何时和/或其中的哪些可以与第二回放设备702b共享或分配给第二回放设备702b专用。关于麦克风选择和/或跨多个回放设备的聚合的附加细节可以在例如先前引用的美国专利申请No.15/989,715;16/138.111;以及16/141,875中找到。
在这些和其他实施方式中,空间处理器可以实现线性滤波或相关技术,以用于以不受传统波束成形技术约束的方式选择性地禁用/启用麦克风。例如,传统的波束成形技术通常要求波束成形器的麦克风输入数量是固定的(例如,固定为六个已知的麦克风通道),因为这些技术依赖于不适应或不容易适应环境的滤波算法。相比之下,线性滤波和相关技术实现了可以即时调整的算法和滤波系数,使得例如可以取决于环境中的特定环境噪声、可用处理能力等将附加的或更少的麦克风通道选择性地路由到相应的语音处理器760a、760b。用于处理语音、混响语音和噪声信号s(t)、x(t)、v(t)的空间处理器和/或相关联的滤波器(例如,多通道维纳(Wiener)滤波器)的附加示例可以在例如之前提到的美国专利申请No.15/984,073和于2018年9月29日提交的题为“Linear Filtering for Noise-Suppressed Speech Detection Via Multiple Network Microphone Devices”的美国专利No.16/147,710中找到,两者均通过引用整体并入本文。
图7E描绘了示例环境内的第一回放设备702a和第二回放设备702b的另一种配置,其中,用户已经说出与图7B中相同的命令,该命令通过使用第二唤醒词来调用第二VAS790b。然而,在图7E中,第一回放设备702a发送来自第一AEC 764a的第二回放设备702b参考数据(由箭头I(f)表示)以及来自麦克风中的指定麦克风(例如,麦克风5和6,由箭头(I(g)和I(h))表示)的原始麦克风数据。在这样的实施例中,除了第二缓冲器768b之外,第二语音处理器760b可以包括第二AEC 764b和第二空间处理器766b。第二AEC 764b和第二空间处理器766b可以具有与相应的第一AEC 764a和第一空间处理器766a大体相似的组件和功能。第二语音处理器766b可以被配置为在将所检测到的声音数据发送给第二唤醒词引擎770b以检测第二唤醒词之前接收和处理参考数据和所检测到的声音数据。
图8和图9分别示出了根据本技术的实施例的方法800和900,它们可以由网络麦克风设备实现,例如,本文公开和/或描述的任何PBD(例如,第一PBD 702a和第二PBD 702b)、NMD、和/或控制器设备,或现在已知或以后开发的任何其他启用语音的设备。
参考图8,方法800开始于框801,其包括经由第一回放设备的麦克风阵列检测声音。接下来,方法800前进到框802,其包括经由第一回放设备的第一唤醒词引擎分析所检测到的来自第一回放设备的声音。在框803处,方法800包括将与所检测到的声音相关联的数据发送给第二回放设备。在一些示例实施方式中,第二回放设备是局域网。在框804处,方法800包括识别所检测到的声音包含(i)基于经由第一唤醒词引擎的分析的第一唤醒词,或(ii)基于经由第二唤醒词引擎的分析的第二唤醒词。基于该识别,在框805处,方法800包括通过广域网将与所检测到的声音相对应的声音数据发送给与特定语音助手服务相关联的远程计算设备。
转向图9,方法900开始于框901,其包括经由第一回放设备(例如,PBD 702a)的麦克风阵列检测声音。在框902处,方法900包括将与所检测到的声音相关联的数据从第一回放设备发送给第二回放设备(例如,PBD 702b)。在一些方面,数据通过局域网发送。方法900还包括经由第二回放设备的唤醒词引擎分析与所检测到的声音相关联的所发送数据以识别唤醒词,如框903所示。在框904处,方法900继续基于经由唤醒词引擎的分析来识别所检测到的声音包含唤醒词。基于该识别,通过广域网将与所检测到的声音相对应的声音数据从第二回放设备发送给远程计算设备(框905),其中,该远程计算设备与特定的语音助手服务相关联。该方法进行到框906,其包括经由第二回放设备,从远程计算设备接收响应,其中,该响应基于所检测到的声音。在框907处,方法900包括从第二回放设备向第一回放设备发送消息,其中,该消息基于来自远程计算设备的响应,并且包括用于第一回放设备执行动作的指令。在一些实施例中,该消息通过局域网发送。方法900还包括经由第一回放设备执行动作,如框908所示。
图10A和图10B分别描绘了语音输入1080a和1080b的示例时间线,其中用户发出两个请求,每个请求使用第一唤醒词和第二唤醒词中的不同的一个,并旨在调用第一VAS702a和第二VAS 702b中的不同的一个(例如,“[第一唤醒词],播放披头士乐队和[第二唤醒词],打开灯”)。对于语音输入1080a和1080b中的每一个,用户在第一时间t1说出第一唤醒词,并在第二时间t2说出第二唤醒词。在一些实施例中,如果语音输入和/或所检测到的唤醒词落在预定时间间隔Δt内,则MPS 100可以仅允许并发语音处理。如果在时间间隔Δt内检测到第一唤醒词和第二唤醒词两者(如图10A中的情况),则允许进行第一VAS 790a和第二VAS 790b对相关联的语音输入的并发处理。如果在时间间隔Δt之外检测到第一唤醒词和第二唤醒词(如图10B中的情况),则不允许进行并发语音处理,并且第一回放设备702a和第二回放设备702b(或其语音处理功能)中的一个或两者被暂时禁用。例如,在图10B中,第二唤醒词落在时间间隔Δt之外,因此仅第一回放设备702a被允许与第一VAS 790a进行联系,而第二回放设备702b被禁用或以其他方式被阻止与第二VAS 790进行通信。
当允许进行语音处理时,第一VAS 790a和第二VAS 790b中的每一个可以向对应的第一回放设备702a和第二回放设备702b发送响应,该响应可以包括执行动作或什么都不做的指令。来自第一VAS 790a和第二VAS 790b的响应可以同时或在不同时间发送,并且可以与相应的唤醒词检测的顺序相同或不同。同样,相应的回放设备的动作执行(如果适用)可以同时或在不同时间发生,并且可以与相应的唤醒词检测和/或响应接收的顺序相同或不同。
第一回放设备702a和第二回放设备702b的动作执行是否至少部分地同时发生可以取决于要执行的动作的性质。例如,在所示实施例中,第一回放设备702a的动作是输出所请求的媒体内容,而第二回放设备702b的动作是使智能灯打开。打开灯不需要第二回放设备802b输出音频内容,因此第二回放设备702b可以在不干扰第一回放设备702a输出媒体内容的情况下执行动作。然而,如果动作确实需要回放音频内容(例如,第二回放设备702b可以输出语音响应“好的”以确认已经处理了语音输入),则第一回放设备702a和第二回放设备702b可以协调它们相应的音频内容的输出。
图11示出了根据本技术的实施例的方法1100,其可以由网络麦克风设备实现,例如,本文公开和/或描述的任何PBD(例如,第一PBD 702a和第二PBD 702b)、NMD、和/或控制器设备,或现在已知或以后开发的任何其他启用语音的设备。方法1100开始于框1101,其包括经由第一回放设备(例如,第一回放设备702a)的麦克风阵列检测声音。声音可以包括第一语音输入,该第一语音输入包括第一唤醒词。在框1102处,方法1100包括经由第一回放设备的麦克风阵列检测声音,其中,声音包括第二语音输入,该第二语音输入包括第二唤醒词。如框1103-1105所示:(a)如果在检测到第一唤醒词的预定时间间隔t内检测到第二唤醒词,则允许第一回放设备和第二回放设备两者进行语音处理;(b)如果在检测到第一唤醒词的预定时间间隔t内没有检测到第二唤醒词,则在第二回放设备(或与第二个发声的唤醒词相关联的任何设备)处禁用语音处理。
方法800、900和1100的各种实施例包括分别由框801-805、901-908和1101-1105所示的一个或多个操作、功能和动作。尽管顺序地示出了这些框,但是这些框也可以并行执行和/或以与本文公开和描述的顺序不同的顺序执行。而且,各个框可以基于期望的实现方式被组合成更少的框、被划分成附加的框和/或被移除。
另外,针对本文公开的方法800、900和1100以及其他过程和方法,流程图示出了一些实施例的一种可能实现的功能和操作。在这方面,每个框可以表示程序代码的模块、段或部分,程序代码包括可由一个或多个处理器执行的用于实现过程中的特定逻辑功能或步骤的一个或多个指令。程序代码可以存储在任何类型的计算机可读介质上,例如,包括磁盘或硬盘驱动器的储存设备。计算机可读介质可以包括非暂时性计算机可读介质,例如,用于短时间存储数据的有形的非暂时性计算机可读介质,如寄存器存储器、处理器高速缓存和随机存取存储器(RAM)。计算机可读介质还可以包括非暂时性介质,例如,辅存或持久性长期存储设备,如只读存储器(ROM)、光盘或磁盘、紧凑盘只读存储器(CD-ROM)等。计算机可读介质还可以是任何其他易失性或非易失性存储系统。计算机可读介质可以被认为是计算机可读存储介质,例如有形的储存设备。另外,针对本文公开的方法800以及其他过程和方法,图8中的每个框可以表示被连接以执行过程中的特定逻辑功能的电路。
图12描绘了示例环境内的第一回放设备702a和第二回放设备702b的另一种配置,除了在图12中,第一唤醒词引擎770a和第二唤醒词引擎770b与公共VAS(例如,第一VAS790a)相关联,即使第一唤醒词引擎770a和第二唤醒词引擎770b被配置为检测不同的唤醒词。例如,第一唤醒词引擎770a可以被配置为针对带有西班牙口音的唤醒词运行唤醒词检测算法,而第二唤醒词引擎770b可以被配置为针对相同的但带有法国口音的唤醒词运行唤醒词检测算法。在前述示例中,第一唤醒词引擎770a和第二唤醒词引擎770b可以与同一VAS相关联。在该技术的另一方面,第一唤醒词引擎770a可以被配置为检测与VAS 990相关联的第一唤醒词(例如,第一唤醒词),而第二唤醒词引擎970b可以被配置为检测与MPS 100相关联的唤醒词(例如,“Hey Sonos”)。
附加地或备选地,第二唤醒词引擎770b可以被配置为检测除了或代替通过网络接口724从第一回放设备702a接收到的语音流中的唤醒词的声音。例如,第二唤醒词引擎770b可以被配置为运行本地NLU引擎以检测特定回放控制命令,例如,音量、分组、回放/传输控制等。在这些和其他实施例中,第二唤醒词引擎770b可以被配置为运行其他算法以用于事件检测,例如,侦听窗户破损、火警、违反安全事件等。在一些实施例中,第一回放设备702a相对于第二回放设备702b可以具有有限的处理资源(例如,可用系统内存、功率限制等)。因此,没有足够资源来运行麦克风DSP、唤醒词引擎和附加的NLU/事件检测引擎的回放设备可能会将NLU/事件检测引擎卸载到另一回放设备。作为示例,第一回放设备702a可以是便携式回放设备,例如,一组无线耳机。在相关实施例中,第二唤醒词引擎770b能够比第一唤醒词引擎770a更准确地检测唤醒词。在这种情况下,如果第一唤醒词引擎770a未能检测到特定唤醒词和/或如果第一唤醒词引擎770a被第二唤醒词引擎770b确定为误报的唤醒词触发,则第二唤醒词引擎770b可以进行干预。
尽管关于第二回放设备702b不具有任何麦克风的配置描述了用于分布式唤醒词处理的前述系统和方法,但是应当理解,还可以使用具有板载麦克风的第二回放设备702b来执行本文描述的系统和方法。在这样的实施例中,第二回放设备702b仍然可以接收和/或处理与由第一回放设备702a的麦克风722中一个、一些或全部检测到的声音有关的所发送数据,这可以是由其自身麦克风检测到的声音的补充或替代。在一些实施例中,第二语音处理器760b接收和/或处理来自第一麦克风722a中的一个、一些或全部以及第二麦克风中的一个、一些或全部的声音数据。第二回放设备702b可以具有与第一回放设备702a相同或不同数量和/或配置的麦克风。即使当第二回放设备702b与第一回放设备702a在同一房间内时,第二语音处理器760b仍可以接收和/或处理与由第一麦克风722a检测到的声音有关的数据,或者以其他方式经由其自己的麦克风722b检测由至少一个相同源产生的声音。
在该技术的一些方面,第二回放设备702b的麦克风中的一个、一些或全部可以在功能上被禁用(例如,通过MPS 100的回放设备702和/或MPS 100的另一回放设备之一或两者)。例如,响应于第二语音处理器760b从第一回放设备702a的麦克风722接收到与声音有关的数据,一个或多个第二麦克风可以在功能上被禁用。
示例:
例如,根据以下所述的各个方面示出了本技术。为了方便起见,将本技术各方面的各种示例描述为编号示例(1、2、3等)。这些仅作为示例提供,并不限制本技术。请注意,任何从属示例可以以任何组合被组合,并且被放置在相应的独立示例中。可以以类似的方式呈现其他示例。
示例1:一种方法,包括:经由第一回放设备的麦克风阵列检测声音,以及经由所述第一回放设备的第一唤醒词引擎分析所检测到的声音;通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备;经由所述第二回放设备的第二唤醒词引擎分析与所检测到的声音相关联的所发送数据;识别所检测到的声音包含(i)基于经由所述第一唤醒词引擎的分析的第一唤醒词,或(ii)基于经由所述第二唤醒词引擎的分析的第二唤醒词;以及基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给与特定语音助手服务相关联的远程计算设备。
示例2:根据示例1所述的方法,其中,所述声音数据还包含语音发声,并且所述方法还包括:经由所述第一回放设备和所述第二回放设备之一接收来自所述远程计算设备的至少一个消息,其中,所述消息包括基于所述语音发声的回放命令。所述方法还可以包括:经由所述第一回放设备和所述第二回放设备中的至少一个,基于所述回放命令回放音频内容。
示例3:根据示例1或示例2所述的方法,其中,所述识别包括通过以下来识别所述第二唤醒词(i)基于与所检测到的声音相关联的所发送数据,并且(ii)不经由所述第二回放设备检测所述声音。
示例4:根据示例1至3中任一项所述的方法,其中,所述麦克风阵列包括多个单独的麦克风,并且所述第一回放设备包括语音处理器,所述语音处理器被配置为从所述单独的麦克风中的相应麦克风接收所检测到的声音的部分。在这样的实施例中,所述方法可以包括:经由所述语音处理器,处理所检测到的声音的一个或多个部分,以产生与所检测到的声音相关联的数据,所述数据被发送给所述第二回放设备。
示例5:根据示例1至4中任一项所述的方法,还包括:处理所检测到的声音的一个或多个部分包括处理比所检测到的声音的所有部分少的部分。
示例6:根据示例1至5中任一项所述的方法,还包括:经由所述语音处理器,基于所检测到的声音的一个或多个部分,对所检测到的声音进行空间处理。在这样的实施例中,经由所述第一唤醒词引擎分析所检测到的声音包括分析经过空间处理的所检测到的声音。
示例7:根据示例1至6中任一项所述的方法,还包括:(a)经由所述第一回放设备回放音频内容;以及(b)经由所述第一回放设备,基于所述音频内容产生至少一个参考信号,其中,与所检测到的声音相关联的被发送给所述第二回放设备的数据包括基于所述至少一个参考信号的数据。
示例8:一种系统,包括第一回放设备和第二回放设备。所述第一回放设备可以包括一个或多个处理器、麦克风阵列和存储指令的第一计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述第一设备执行第一操作,所述第一操作包括:经由所述麦克风阵列检测声音;经由所述第一回放设备的第一唤醒词引擎分析所检测到的声音;以及通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备。所述第二回放设备可以包括一个或多个处理器和存储指令的第二计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述第二设备执行第二操作,所述第二操作包括:经由所述第二回放设备的第二唤醒词引擎分析与所检测到的声音相关联的所发送数据;基于经由所述第二唤醒词引擎的分析来识别所检测到的声音包含第二唤醒词;以及基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给与特定语音助手服务相关联的远程计算设备。
示例9:根据示例8所述的系统,其中,所述声音数据还包含语音发声,并且所述第二操作还包括从所述远程计算设备接收至少一个消息。所述消息可以包括基于所述语音发声的回放命令。在这样的实施例中,所述第一操作还可以包括基于所述回放命令回放音频内容。
示例10:根据示例8或示例9所述的系统,其中,识别所述第二唤醒词是(i)基于与所检测到的声音相关联的所发送数据,并且(ii)不经由所述第二回放设备检测所述声音。
示例11:根据示例8至10中任一项所述的系统,其中,所述麦克风阵列包括多个单独的麦克风,并且所述第一回放设备包括语音处理器,所述语音处理器被配置为从所述单独的麦克风中的相应麦克风接收所检测到的声音的部分。在这样的操作中,所述第一操作可以包括:经由所述语音处理器,处理所检测到的声音的一个或多个部分,以产生与所检测到的声音相关联的数据,所述数据被发送给所述第二回放设备。
示例12:根据示例8至11中任一项所述的系统,其中,处理所检测到的声音的一个或多个部分包括处理比所检测到的声音的所有部分少的部分。
示例13:根据示例8至12中任一项所述的系统,其中,所述第一操作还包括:经由所述语音处理器,基于所检测到的声音的一个或多个部分,对所检测到的声音进行空间处理。在这样的实施例中,经由所述第一唤醒词引擎分析所检测到的声音包括分析经过空间处理的所检测到的声音。
示例14:根据示例8至13中任一项所述的系统,其中,所述第一操作还包括:经由所述第一回放设备回放音频内容,以及经由所述第一回放设备,基于所述音频内容产生至少一个参考信号。在这样的实施例中,发送给所述第二回放设备的与所检测到的声音相关联的数据包括基于所述至少一个参考信号的数据。
示例15:多个非暂时性计算机可读介质,存储用于分布式唤醒词检测的指令,包括第一计算机可读存储介质和第二计算机可读存储介质。所述第一计算机可读介质可以存储指令,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行第一操作。所述第一操作可以包括经由所述麦克风阵列检测声音;经由所述第一回放设备的第一唤醒词引擎分析所检测到的声音;以及通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备。所述第二计算机可读介质可以存储指令,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行第二操作。所述第二操作可以包括:经由所述第二回放设备的第二唤醒词引擎分析与所检测到的声音相关联的所发送数据;基于经由所述第二唤醒词引擎的分析来识别所检测到的声音包含第二唤醒词;以及基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给与特定语音助手服务相关联的远程计算设备。
示例16:根据示例15所述的多个非暂时性计算机可读介质,其中,所述声音数据还包含语音发声,并且其中,(a)所述第二操作还包括从所述远程计算设备接收至少一个消息,其中,所述消息包括回放命令,并且其中,所述回放命令基于所述语音发声;并且(b)所述第一操作还包括基于所述回放命令回放音频内容。
示例17:根据示例15或示例16所述的多个非暂时性计算机可读介质,其中,识别所述第二唤醒词是(i)基于与所检测到的声音相关联的所发送数据,并且(ii)不经由所述第二回放设备检测所述声音。
示例18:根据示例15至17中任一项所述的多个非暂时性计算机可读介质,其中,所述麦克风阵列包括多个单独的麦克风,所述第一回放设备包括语音处理器,所述语音处理器被配置为从所述单独的麦克风中的各个麦克风接收所检测到的声音的部分,并且所述第一操作包括经由所述语音处理器处理所检测到的声音的一个或多个部分,以产生与所检测到的声音相关联的数据,所述数据被发送给所述第二回放设备。
示例19:根据示例15至18中任一项所述的多个非暂时性计算机可读介质,其中,处理所检测到的声音的一个或多个部分包括处理比所检测到的声音的所有部分少的部分。
示例20:根据示例15至19中任一项所述的多个非暂时性计算机可读介质,其中,所述第一操作还可以包括经由所述语音处理器基于所检测到的声音的一个或多个部分对所检测到的声音进行空间处理,并且其中,经由所述第一唤醒词引擎分析所检测到的声音包括分析经过空间处理的所检测到的声音。
示例21:一种方法,包括:经由第一回放设备的麦克风阵列检测声音;通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备;经由所述第二回放设备的唤醒词引擎分析与所检测到的声音相关联的所发送数据以识别唤醒词;基于经由所述唤醒词引擎的分析来识别所检测到的声音包含所述唤醒词;基于所述识别,通过广域网将与所检测到的声音相对应的声音数据从所述第二回放设备发送给远程计算设备,其中,所述远程计算设备与特定的语音助手服务相关联;经由所述第二回放设备,从所述远程计算设备接收响应,其中,所述响应基于所检测到的声音;通过所述局域网将消息从所述第二回放设备发送给所述第一回放设备,其中,所述消息基于来自所述远程计算设备的响应,并且包括执行动作的指令;以及经由所述第一回放设备执行所述动作。
示例22:根据示例21所述的方法,其中,所述动作是第一动作,并且所述方法还包括经由所述第二回放设备执行第二动作,其中,所述第二动作基于来自所述远程计算设备的响应。
示例23:根据示例21或示例22所述的方法,还包括:响应于经由所述第二回放设备的唤醒词引擎对所述唤醒词的识别,禁用所述第一回放设备的唤醒词引擎。
示例24:根据示例21至23中任一项所述的方法,还包括:在所述第二回放设备从所述远程计算设备接收到所述响应之后,启用所述第一回放设备的唤醒词引擎。
示例25:根据示例24所述的方法,其中,所述唤醒词可以是第二唤醒词,并且所述第一回放设备的唤醒词引擎被配置为检测与所述第二唤醒词不同的第一唤醒词。
示例26:根据示例21至25中任一项所述的方法,其中,所述第一回放设备被配置为与所述远程计算设备进行通信,所述远程计算设备与所述特定语音助手服务相关联。
示例27:根据示例21至26中任一项所述的方法,其中,所述远程计算设备是第一远程计算设备,并且所述语音助手服务是第一语音助手服务,并且所述第一回放设备被配置为检测与第二语音助手服务相关联的唤醒词,所述第二语音助手服务与所述第一语音助手服务不同。
示例28:第一回放设备,包括一个或多个处理器和存储指令的计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述第一回放设备执行操作。所述操作可以包括:通过局域网从第二回放设备接收数据,所述数据与经由所述第二回放设备的麦克风阵列检测到的声音相关联;经由所述第一回放设备的唤醒词引擎分析与所检测到的声音相关联的数据以识别唤醒词;基于经由所述唤醒词引擎的分析来识别所检测到的声音包含所述唤醒词;基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给远程计算设备,其中,所述远程计算设备与特定的语音助手服务相关联;从所述远程计算设备接收响应,其中,所述响应基于所检测到的声音;以及通过所述局域网将消息发送给所述第二回放设备,其中,所述消息基于来自所述远程计算设备的响应,并且包括用于所述第二回放设备执行动作的指令。
示例29:根据示例28所述的第一回放设备,其中,所述动作是第一动作,并且所述操作还包括经由所述第一回放设备执行第二动作,其中,所述第二动作基于来自所述远程计算设备的响应。
示例30:根据示例28或示例29所述的第一回放设备,其中,所述操作可以包括:响应于经由所述第一回放设备的唤醒词引擎对所述唤醒词的识别,禁用所述第二回放设备的唤醒词引擎。
示例31:根据示例28至30中任一项所述的第一回放设备,其中,所述第一回放设备的操作可以包括:在所述第一回放设备从所述远程计算设备接收到所述响应之后,启用所述第二回放设备的唤醒词引擎。
示例32:根据示例28至31中任一项所述的第一回放设备,其中,所述唤醒词是第一唤醒词,并且所述第二回放设备的唤醒词引擎被配置为检测与所述第一唤醒词不同的第二唤醒词。
示例33:根据示例27至32中任一项所述的第一回放设备,其中,所述第一回放设备被配置为与所述远程计算设备进行通信,所述远程计算设备与所述特定语音助手服务相关联。
示例34:根据示例28至33中任一项所述的第一回放设备,其中,所述远程计算设备是第一远程计算设备,并且所述语音助手服务是第一语音助手服务。在这样的实施例中,所述第二回放设备可以被配置为检测与第二语音助手服务相关联的唤醒词,所述第二语音助手服务与所述第一语音助手服务不同。
示例35:一种系统,包括第一回放设备和第二回放设备。所述第一回放设备可以包括一个或多个处理器、麦克风阵列和存储指令的第一计算机可读介质,所述指令当由所述一个或多个处理器执行时,使所述第一回放设备执行第一操作。所述第一操作可以包括:经由所述麦克风阵列检测声音;通过局域网将与所检测到的声音相关联的数据发送给第二回放设备;所述第二回放设备可以包括一个或多个处理器和存储指令的第二计算机可读介质,所述指令当由所述一个或多个处理器执行时,使所述第二回放设备执行第二操作。所述第二操作可以包括经由所述第二回放设备的唤醒词引擎分析与来自所述第一回放设备的所检测到的声音相关联的所发送数据以识别唤醒词;基于经由所述唤醒词引擎的分析来识别所检测到的声音包含所述唤醒词;基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给远程计算设备,其中,所述远程计算设备与特定的语音助手服务相关联;从所述远程计算设备接收响应,其中,所述响应基于所检测到的声音;以及通过所述局域网将消息发送给所述第一回放设备,其中,所述消息基于来自所述远程计算设备的响应,并且包括执行动作的指令。所述第一回放设备的第一计算机可读介质可以使所述第一回放设备根据从所述第二回放设备接收到的指令执行所述动作。
示例36:根据示例35所述的系统,其中,所述动作是第一动作,并且所述第二操作还包括经由所述第二回放设备执行第二动作,其中,所述第二动作基于来自所述远程计算设备的响应。
示例37:根据示例35或示例36所述的系统,其中,所述第二操作还可以包括:响应于经由所述第二回放设备的唤醒词引擎对所述唤醒词的识别,禁用所述第一回放设备的唤醒词引擎。
示例38:根据示例35至37中任一项所述的系统,其中,所述第二操作还可以包括:在所述第二回放设备从所述远程计算设备接收到所述响应之后,启用所述第一回放设备的唤醒词引擎。
示例39:根据示例35至38中任一项所述的系统,其中,所述第一回放设备可以被配置为与所述远程计算设备进行通信,所述远程计算设备与所述特定语音助手服务相关联。
示例40:根据示例35至39中任一项所述的系统,其中,所述远程计算设备是第一远程计算设备,并且所述语音助手服务是第一语音助手服务,并且其中,所述第一回放设备被配置为检测与第二语音助手服务相关联的唤醒词,所述第二语音助手服务与所述第一语音助手服务不同。
结论
以上描述尤其公开了各种示例系统、方法、装置和尤其包括在硬件上执行的固件和/或软件的制品。应当理解的是,这些示例仅是示意性的,而不应当被认为是限制性的。例如,可以想到,这些固件、硬件和/或软件方面或组件中的任意一个或全部可以专门在硬件中实现、专门在软件中实现、专门在固件中实现、或在硬件、软件和/或固件的任意组合中实现。因此,所提供的示例不是实现这些系统、方法、装置和/或制品的唯一方式。
除了本文描述的关于对回放设备进行分组和绑定的示例之外,在一些实施方式中,多个回放设备可以合并在一起。例如,第一回放设备可以与第二回放设备合并以形成单个合并的“设备”。合并的回放设备可以不被具体地分配不同的回放职责。即,合并的回放设备除了可以同步播放音频内容之外,还可以如未合并时那样各自播放音频内容。然而,合并的设备可以作为用于控制的单个用户界面(UI)实体呈现给媒体回放系统和/或用户。
主要在说明性的环境、系统、过程、步骤、逻辑块、处理以及直接或间接地与耦合到网络的数据处理设备的操作相类似的其他象征性表示的方面上,提出本说明书。本领域技术人员通常使用这些处理描述和表示,以向本领域技术人员的其他技术人员传播他们的工作内容。阐述了各种具体细节,以提供本公开的透彻理解。然而,本领域技术人员应理解,不需要特定、具体细节就可以实施本公开。在其他实例中,没有描述熟知的方法、过程、组件和电路,以避免不必要地使实施例的方面模糊不清。因此,本公开的范围由随附权利要求、而不是以上实施例的描述来界定。
当随附权利要求中的任一项权利要求被理解成涵盖纯软件和/或固件实现时,在此明确限定至少一个示例中的至少一个元素以包括存储软件和/或固件的非暂时性有形介质,如存储器、DVD、CD、蓝光等。
示例:
例如,根据以下所述的各个方面示出了本技术。为了方便起见,将本技术各方面的各种示例描述为编号示例(1、2、3等)。这些仅作为示例提供,并不限制本技术。请注意,任何从属示例可以以任何组合被组合,并且被放置在相应的独立示例中。可以以类似的方式呈现其他示例。
示例1:一种方法,包括:经由第一回放设备的麦克风阵列检测声音;经由所述第一回放设备的第一唤醒词引擎分析所检测到的声音;通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备;经由所述第二回放设备的第二唤醒词引擎分析与所检测到的声音相关联的所发送数据;识别所检测到的声音包含(i)基于经由所述第一唤醒词引擎的分析的第一唤醒词,或(ii)基于经由所述第二唤醒词引擎的分析的第二唤醒词;以及基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给与特定语音助手服务相关联的远程计算设备。
示例2:根据示例1所述的方法,其中,所述声音数据还包含语音发声,并且其中,所述方法还包括:经由所述第一回放设备和所述第二回放设备之一,从所述远程计算设备接收至少一个消息,其中,所述消息包括回放命令,并且其中,所述回放命令基于所述语音发声;以及基于所述回放命令,经由所述第一回放设备和所述第二回放设备中的至少一个回放音频内容。
示例3:根据示例1所述的方法,其中,所述识别包括通过以下来识别所述第二唤醒词(i)基于与所检测到的声音相关联的所发送数据,并且(ii)不经由所述第二回放设备检测所述声音。
示例4:根据示例1所述的方法,其中:所述麦克风阵列包括多个单独的麦克风,所述第一回放设备包括语音处理器,所述语音处理器被配置为从所述单独的麦克风中的相应麦克风接收所检测到的声音的部分,并且所述方法包括经由所述语音处理器处理所检测到的声音的一个或多个部分,以产生与所检测到的声音相关联的数据,所述数据被发送给所述第二回放设备。
示例5:根据示例4所述的方法,其中,处理所检测到的声音的一个或多个部分包括处理比所检测到的声音的所有部分少的部分。
示例6:根据示例4所述的方法,还包括:经由所述语音处理器基于所检测到的声音的一个或多个部分对所检测到的声音进行空间处理,其中,经由所述第一唤醒词引擎分析所检测到的声音包括分析经过空间处理的所检测到的声音。
示例7:根据示例1所述的方法,还包括:经由所述第一回放设备回放音频内容;以及经由所述第一回放设备,基于所述音频内容产生至少一个参考信号,其中,与所检测到的声音相关联的被发送给所述第二回放设备的数据包括基于所述至少一个参考信号的数据。
示例8:一种系统,包括:第一回放设备,包括:一个或多个处理器;麦克风阵列;以及存储指令的第一计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述第一设备执行第一操作,所述第一操作包括:经由所述麦克风阵列检测声音;经由所述第一回放设备的第一唤醒词引擎分析所检测到的声音;以及通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备;所述第二回放设备,包括:一个或多个处理器;以及存储指令的第二计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述第二设备执行第二操作,所述第二操作包括:经由所述第二回放设备的第二唤醒词引擎分析与所检测到的声音相关联的所发送数据;基于经由所述第二唤醒词引擎的分析来识别所检测到的声音包含第二唤醒词;以及基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给与特定语音助手服务相关联的远程计算设备。
示例9:根据示例8所述的系统,其中,所述声音数据还包含语音话语,并且其中:所述第二操作还包括从所述远程计算设备接收至少一个消息,其中,所述消息包括回放命令,并且其中,所述回放命令基于所述语音发声;并且所述第一操作还包括基于所述回放命令回放音频内容。
示例10:根据示例8所述的系统,其中,识别所述第二唤醒词是(i)基于与所检测到的声音相关联的所发送数据,并且(ii)不经由所述第二回放设备检测所述声音。
示例11:根据示例8所述的系统,其中:所述麦克风阵列包括多个单独的麦克风,所述第一回放设备包括语音处理器,所述语音处理器被配置为从所述单独的麦克风中的相应麦克风接收所检测到的声音的部分,并且所述第一操作包括经由所述语音处理器处理所检测到的声音的一个或多个部分,以产生与所检测到的声音相关联的数据,所述数据被发送给所述第二回放设备。
示例12:根据示例11所述的系统,其中,处理所检测到的声音的一个或多个部分包括处理比所检测到的声音的所有部分少的部分。
示例13:根据示例11所述的系统,其中,所述第一操作还包括:经由所述语音处理器基于所检测到的声音的一个或多个部分对所检测到的声音进行空间处理,并且其中,经由所述第一唤醒词引擎分析所检测到的声音包括分析经过空间处理的所检测到的声音。
示例14:根据示例11所述的系统,其中,所述第一操作还包括:经由所述第一回放设备回放音频内容;以及经由所述第一回放设备,基于所述音频内容产生至少一个参考信号,其中,与所检测到的声音相关联的被发送给所述第二回放设备的数据包括基于所述至少一个参考信号的数据。
示例15:多个非暂时性计算机可读介质,存储用于分布式唤醒词检测的指令,包括:存储指令的第一计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行第一操作,所述第一操作包括:经由所述麦克风阵列检测声音;经由所述第一回放设备的第一唤醒词引擎分析所检测到的声音;以及通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备;存储指令的第二计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行第二操作,所述第二操作包括:经由所述第二回放设备的第二唤醒词引擎分析与所检测到的声音相关联的所发送数据;基于经由所述第二唤醒词引擎的分析来识别所检测到的声音包含第二唤醒词;以及基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给与特定语音助手服务相关联的远程计算设备。
示例16:根据示例15所述的多个非暂时性计算机可读介质,其中,所述声音数据还包含语音话语,并且其中:所述第二操作还包括从所述远程计算设备接收至少一个消息,其中,所述消息包括回放命令,并且其中,所述回放命令基于所述语音发声;并且所述第一操作还包括基于所述回放命令回放音频内容。
示例17:根据示例15所述的多个非暂时性计算机可读介质,其中,识别所述第二唤醒词是(i)基于与所检测到的声音相关联的所发送数据,并且(ii)不经由所述第二回放设备检测所述声音。
示例18:根据示例15所述的多个非暂时性计算机可读介质,其中:所述麦克风阵列包括多个单独的麦克风,所述第一回放设备包括语音处理器,所述语音处理器被配置为从所述单独的麦克风中的相应麦克风接收所检测到的声音的部分,并且所述第一操作包括经由所述语音处理器处理所检测到的声音的一个或多个部分,以产生与所检测到的声音相关联的数据,所述数据被发送给所述第二回放设备。
示例19:根据示例18所述的多个非暂时性计算机可读介质,其中,处理所检测到的声音的一个或多个部分包括处理比所检测到的声音的所有部分少的部分。
示例20:根据示例18所述的多个非暂时性计算机可读介质,其中,所述第一操作还包括经由所述语音处理器基于所检测到的声音的一个或多个部分对所检测到的声音进行空间处理,并且其中,经由所述第一唤醒词引擎分析所检测到的声音包括分析经过空间处理的所检测到的声音。
示例21:一种方法,包括:经由第一回放设备的麦克风阵列检测声音;通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备;经由所述第二回放设备的唤醒词引擎分析与所检测到的声音相关联的所发送数据以识别唤醒词;基于经由所述唤醒词引擎的分析来识别所检测到的声音包含所述唤醒词;基于所述识别,通过广域网将与所检测到的声音相对应的声音数据从所述第二回放设备发送给远程计算设备,其中,所述远程计算设备与特定的语音助手服务相关联;经由所述第二回放设备,从所述远程计算设备接收响应,其中,所述响应基于所检测到的声音;通过所述局域网将消息从所述第二回放设备发送给所述第一回放设备,其中,所述消息基于来自所述远程计算设备的响应,并且包括执行动作的指令;以及经由所述第一回放设备执行所述动作。
示例22:根据示例21所述的方法,其中,所述动作是第一动作,并且所述方法还包括经由所述第二回放设备执行第二动作,其中,所述第二动作基于来自所述远程计算设备的响应。
示例23:根据示例21所述的方法,还包括:响应于经由所述第二回放设备的唤醒词引擎对所述唤醒词的识别,禁用所述第一回放设备的唤醒词引擎。
示例24:根据示例23所述的方法,还包括:在所述第二回放设备从所述远程计算设备接收到所述响应之后,启用所述第一回放设备的唤醒词引擎。
示例25:根据示例24所述的方法,其中,所述唤醒词是第二唤醒词,并且其中,所述第一回放设备的唤醒词引擎被配置为检测与所述第二唤醒词不同的第一唤醒词。
示例26:根据示例21所述的方法,其中,所述第一回放设备被配置为与所述远程计算设备进行通信,所述远程计算设备与所述特定语音助手服务相关联。
示例27:根据示例21所述的方法,其中,所述远程计算设备是第一远程计算设备,并且所述语音助手服务是第一语音助手服务,并且其中,所述第一回放设备被配置为检测与第二语音助手服务相关联的唤醒词,所述第二语音助手服务与所述第一语音助手服务不同。
示例28:第一回放设备,包括:一个或多个处理器;存储指令的计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述第一回放设备执行包括以下各项的操作:通过局域网从第二回放设备接收数据,所述数据与经由所述第二回放设备的麦克风阵列检测到的声音相关联;经由所述第一回放设备的唤醒词引擎分析与所检测到的声音相关联的数据以识别唤醒词;基于经由所述唤醒词引擎的分析来识别所检测到的声音包含所述唤醒词;基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给远程计算设备,其中,所述远程计算设备与特定的语音助手服务相关联;从所述远程计算设备接收响应,其中,所述响应基于所检测到的声音;以及通过所述局域网将消息发送给所述第二回放设备,其中,所述消息基于来自所述远程计算设备的响应,并且包括用于所述第二回放设备执行动作的指令。
示例29:根据示例28所述的第一回放设备,其中,所述动作是第一动作,并且所述操作还包括经由所述第一回放设备执行第二动作,其中,所述第二动作基于来自所述远程计算设备的响应。
示例30:根据示例28所述的第一回放设备,其中,所述操作还包括:响应于经由所述第一回放设备的唤醒词引擎对所述唤醒词的识别,禁用所述第二回放设备的唤醒词引擎。
示例31:根据示例30所述的第一回放设备,其中,所述操作还包括:在所述第一回放设备从所述远程计算设备接收到所述响应之后,启用所述第二回放设备的唤醒词引擎。
示例32:根据示例31所述的第一回放设备,其中,所述唤醒词是第一唤醒词,并且其中,所述第二回放设备的唤醒词引擎被配置为检测与所述第一唤醒词不同的第二唤醒词。
示例33:根据示例28所述的第一回放设备,其中,所述第二回放设备被配置为与所述远程计算设备进行通信,所述远程计算设备与所述特定语音助手服务相关联。
示例34:根据示例28所述的第一回放设备,其中,所述远程计算设备是第一远程计算设备,并且所述语音助手服务是第一语音助手服务,并且其中,所述第二回放设备被配置为检测与第二语音助手服务相关联的唤醒词,所述第二语音助手服务与所述第一语音助手服务不同。
示例35:一种系统,包括:第一回放设备,包括:一个或多个处理器;麦克风阵列;以及存储指令的第一计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述第一回放设备执行第一操作,所述第一操作包括:经由所述麦克风阵列检测声音;通过局域网将与所检测到的声音相关联的数据发送给第二回放设备;所述第二回放设备,包括:一个或多个处理器;以及存储指令的第二计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述第二回放设备执行第二操作,所述第二操作包括:经由所述第二回放设备的唤醒词引擎分析与来自所述第一回放设备的所检测到的声音相关联的所发送数据以识别唤醒词;基于经由所述唤醒词引擎的分析来识别所检测到的声音包含所述唤醒词;基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给远程计算设备,其中,所述远程计算设备与特定的语音助手服务相关联;从所述远程计算设备接收响应,其中,所述响应基于所检测到的声音;以及通过所述局域网向所述第一回放设备发送消息,其中,所述消息基于来自所述远程计算设备的响应,并且包括执行动作的指令,其中,所述第一回放设备的第一计算机可读介质使所述第一回放设备根据从所述第二回放设备接收到的指令执行所述动作。
示例36:根据示例35所述的系统,其中,所述动作是第一动作,并且所述第二操作还包括经由所述第二回放设备执行第二动作,其中,所述第二动作基于来自所述远程计算设备的响应。
示例37:根据示例35所述的系统,其中,所述第二操作还包括:响应于经由所述第二回放设备的唤醒词引擎对所述唤醒词的识别,禁用所述第一回放设备的唤醒词引擎。
示例38:根据示例37所述的系统,其中,所述第二操作还包括:在所述第二回放设备从所述远程计算设备接收到所述响应之后,启用所述第一回放设备的唤醒词引擎。
示例39:根据示例35所述的系统,其中,所述第一回放设备被配置为与所述远程计算设备进行通信,所述远程计算设备与所述特定语音助手服务相关联。
示例40:根据示例35所述的系统,其中,所述远程计算设备是第一远程计算设备,并且所述语音助手服务是第一语音助手服务,并且其中,所述第一回放设备被配置为检测与第二语音助手服务相关联的唤醒词,所述第二语音助手服务与所述第一语音助手服务不同。

Claims (19)

1.一种方法,包括:
经由第一回放设备的麦克风阵列检测声音;
经由所述第一回放设备的第一唤醒词引擎分析所检测到的声音;
通过局域网将与所检测到的声音相关联的数据从所述第一回放设备发送给第二回放设备;
经由所述第二回放设备的第二唤醒词引擎分析与所检测到的声音相关联的所发送数据;
分别基于所述第一回放设备和所述第二回放设备的所述第一唤醒词引擎和所述第二唤醒词引擎的分析,识别所检测到的声音包含第一唤醒词和第二唤醒词之一;
基于所述识别,通过广域网将与所检测到的声音相对应的声音数据发送给与特定语音助手服务相关联的远程计算设备,所述特定语音助手服务与所识别出的唤醒词相关联。
2.根据权利要求1所述的方法,其中,识别所检测到的声音包含所述第一唤醒词和所述第二唤醒词之一包括:由所述第二回放设备基于与所检测到的声音相关联的所发送数据识别所述第二唤醒词,而不经由所述第二回放设备检测所述声音。
3.一种方法,包括:
由第二回放设备通过局域网从第一回放设备接收数据,所述数据与经由所述第一回放设备的麦克风阵列检测到的声音相关联;
经由所述第二回放设备的唤醒词引擎分析与所检测到的声音相关联的数据以识别唤醒词;
由所述第二回放设备基于经由所述唤醒词引擎的分析来识别所检测到的声音包含所述唤醒词;
基于所述识别,由所述第二回放设备通过广域网向远程计算设备发送与所检测到的声音相对应的声音数据,其中,所述远程计算设备与特定语音助手服务相关联;
由所述第二回放设备从所述远程计算设备接收基于所检测到的声音的响应;以及
由所述第二回放设备通过所述局域网向所述第一回放设备发送基于来自所述远程计算设备的响应的消息,所述消息包括用于所述第二回放设备执行动作的指令。
4.根据权利要求1所述的方法,还包括:由所述第二回放设备基于来自所述远程计算设备的响应使所述第一回放设备执行第二动作。
5.根据权利要求2至4中任一项所述的方法,还包括:响应于经由所述第二回放设备的唤醒词引擎对所述唤醒词的识别,由所述第二回放设备禁用所述第一回放设备的唤醒词引擎。
6.根据权利要求5所述的方法,还包括:在所述第二回放设备从所述远程计算设备接收到所述响应之后,启用所述第一回放设备的唤醒词引擎。
7.根据权利要求6所述的方法,其中,所述第一回放设备的唤醒词引擎被配置为检测第二唤醒词,所述第二唤醒词与由所述第二回放设备的唤醒词引擎识别出的唤醒词不同。
8.根据前述权利要求中任一项所述的方法,其中,所述第一回放设备被配置为与所述远程计算设备进行通信,所述远程计算设备与所述特定语音助手服务相关联。
9.根据前述权利要求中任一项所述的方法,还包括:由所述第二回放设备检测与第二语音助手服务相关联的唤醒词,所述第二语音助手服务与第一语音助手服务不同。
10.根据权利要求3至9中任一项所述的方法,还包括:
由所述第一回放设备执行由来自所述第二回放设备的消息指示的动作。
11.根据权利要求3至10中任一项所述的方法,还包括:
由所述第一回放设备经由所述第二回放设备的麦克风阵列检测声音;以及
由所述第一回放设备通过局域网向所述第二回放设备发送与所述检测到的声音相关联的数据。
12.根据前述权利要求中任一项所述的方法,其中,所述声音数据还包含语音发声,并且其中,所述方法还包括:
经由所述第一回放设备和所述第二回放设备之一,从所述远程计算设备接收至少一个消息,其中,所述消息包括基于所述语音发声的回放命令;以及
基于所述回放命令,经由所述第一回放设备和所述第二回放设备中的至少一个回放音频内容。
13.根据前述权利要求中任一项所述的方法,其中:
所述第一回放设备的麦克风阵列包括多个单独的麦克风,
所述第一回放设备包括语音处理器,所述语音处理器被配置为从所述单独的麦克风中的相应麦克风接收所检测到的声音的部分,并且
该方法还包括:经由所述语音处理器,处理所检测到的声音的一个或多个部分,以产生与所检测到的声音相关联的数据,所述数据被发送给所述第二回放设备。
14.根据权利要求13所述的方法,其中,处理所检测到的声音的一个或多个部分包括处理比所检测到的声音的所有部分少的部分。
15.根据权利要求13或14所述的方法,还包括:经由所述语音处理器,基于所检测到的声音的一个或多个部分,对所检测到的声音进行空间处理,
其中,经由第一唤醒词引擎分析所检测到的声音包括分析经过空间处理的所检测到的声音。
16.根据前述权利要求中任一项所述的方法,还包括:
经由所述第一回放设备回放音频内容;以及
经由所述第一回放设备,基于所述音频内容产生至少一个参考信号,
其中,发送给所述第二回放设备的与所检测到的声音相关联的数据包括基于所述至少一个参考信号的数据。
17.一种系统,包括第一回放设备和第二回放设备,所述第一回放设备和第二回放设备被配置为执行前述权利要求中任一项所述的方法。
18.一种回放设备,包括:
一个或多个处理器;
存储指令的计算机可读介质,所述指令在由所述一个或多个处理器执行时,使所述回放设备执行权利要求3至9中任一项所述的方法。
19.一种系统,包括:
根据权利要求18所述的第一回放设备;以及
第二回放设备,
其中,所述系统被配置为执行根据权利要求3至16中任一项所述的方法。
CN202080026535.XA 2019-02-08 2020-02-07 用于分布式语音处理的设备、系统和方法 Active CN113711625B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/271,560 2019-02-08
US16/271,550 2019-02-08
US16/271,550 US11315556B2 (en) 2019-02-08 2019-02-08 Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US16/271,560 US10867604B2 (en) 2019-02-08 2019-02-08 Devices, systems, and methods for distributed voice processing
PCT/US2020/017150 WO2020163679A1 (en) 2019-02-08 2020-02-07 Devices, systems, and methods for distributed voice processing

Publications (2)

Publication Number Publication Date
CN113711625A true CN113711625A (zh) 2021-11-26
CN113711625B CN113711625B (zh) 2024-06-28

Family

ID=69784528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080026535.XA Active CN113711625B (zh) 2019-02-08 2020-02-07 用于分布式语音处理的设备、系统和方法

Country Status (6)

Country Link
EP (1) EP3922047A1 (zh)
KR (1) KR20210125527A (zh)
CN (1) CN113711625B (zh)
AU (1) AU2020218258A1 (zh)
CA (2) CA3227238A1 (zh)
WO (1) WO2020163679A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017084360A1 (zh) * 2015-11-17 2017-05-26 乐视控股(北京)有限公司 一种用于语音识别方法及系统
CN107526512A (zh) * 2017-08-31 2017-12-29 联想(北京)有限公司 用于电子设备的切换方法和系统
US20180018967A1 (en) * 2016-07-15 2018-01-18 Sonos, Inc. Contextualization of Voice Inputs
CN108028985A (zh) * 2015-09-17 2018-05-11 搜诺思公司 促进音频回放设备的校准
US10074371B1 (en) * 2017-03-14 2018-09-11 Amazon Technologies, Inc. Voice control of remote device by disabling wakeword detection

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028985A (zh) * 2015-09-17 2018-05-11 搜诺思公司 促进音频回放设备的校准
WO2017084360A1 (zh) * 2015-11-17 2017-05-26 乐视控股(北京)有限公司 一种用于语音识别方法及系统
US20180018967A1 (en) * 2016-07-15 2018-01-18 Sonos, Inc. Contextualization of Voice Inputs
US10074371B1 (en) * 2017-03-14 2018-09-11 Amazon Technologies, Inc. Voice control of remote device by disabling wakeword detection
CN107526512A (zh) * 2017-08-31 2017-12-29 联想(北京)有限公司 用于电子设备的切换方法和系统

Also Published As

Publication number Publication date
CA3227238A1 (en) 2020-08-13
WO2020163679A1 (en) 2020-08-13
AU2020218258A1 (en) 2021-09-09
EP3922047A1 (en) 2021-12-15
CA3129236C (en) 2024-04-16
CN113711625B (zh) 2024-06-28
CA3129236A1 (en) 2020-08-13
KR20210125527A (ko) 2021-10-18

Similar Documents

Publication Publication Date Title
US11646023B2 (en) Devices, systems, and methods for distributed voice processing
US11315556B2 (en) Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US11817083B2 (en) Networked microphone devices, systems, and methods of localized arbitration
US11830495B2 (en) Networked devices, systems, and methods for intelligently deactivating wake-word engines
EP3857913B1 (en) Voice detection optimization based on selected voice assistant service
CN111418216A (zh) 具有语音辅助的媒体回放系统
US20230410813A1 (en) Voice assistant persistence across multiple network microphone devices
US11778259B2 (en) Networked devices, systems and methods for associating playback devices based on sound codes
US11887598B2 (en) Voice verification for media playback
CN113711625B (zh) 用于分布式语音处理的设备、系统和方法
US20240233721A1 (en) Delay Gating for Voice Arbitration
US20240080637A1 (en) Calibration of Audio Playback Devices

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant