CN110383236A - 对主装置进行选择以实现同步音频 - Google Patents
对主装置进行选择以实现同步音频 Download PDFInfo
- Publication number
- CN110383236A CN110383236A CN201880012236.3A CN201880012236A CN110383236A CN 110383236 A CN110383236 A CN 110383236A CN 201880012236 A CN201880012236 A CN 201880012236A CN 110383236 A CN110383236 A CN 110383236A
- Authority
- CN
- China
- Prior art keywords
- audio
- audio playback
- playback
- data
- wap
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 claims abstract description 205
- 238000000034 method Methods 0.000 claims description 192
- 238000012545 processing Methods 0.000 claims description 43
- 230000001360 synchronised effect Effects 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 18
- 241001269238 Data Species 0.000 claims description 6
- 230000008569 process Effects 0.000 description 78
- 238000005516 engineering process Methods 0.000 description 40
- 238000005259 measurement Methods 0.000 description 25
- 230000015572 biosynthetic process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 9
- 230000007935 neutral effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 230000002618 waking effect Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 239000003607 modifier Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000000060 site-specific infrared dichroism spectroscopy Methods 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 244000144992 flock Species 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43076—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44227—Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8106—Monomedia components thereof involving special audio data, e.g. different tracks for different languages
- H04N21/8113—Monomedia components thereof involving special audio data, e.g. different tracks for different languages comprising music, e.g. song in MP3 format
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
在装置群上同步地输出音频可以包括将音频数据从音频分发主装置发送到所述群中的一个或多个从属装置。可以将得分指派给相应的音频回放装置,所述得分指示担当主装置的相应的所述音频回放装置的性能水平。具有最高得分的所述装置被指定为候选主装置,并且一个或多个其余装置被指定为候选从属装置。在最高得分的装置担当所述候选主装置的情况下执行吞吐量测试。所述吞吐量测试的结果用于确定装置群的主装置。通过使用规定的时间周期来完成所述吞吐量测试和/或通过选择通过了所述吞吐量测试的第一群配置来减小所述吞吐量测试的时延。
Description
相关申请的交叉引用
此PCT专利申请要求在2017年2月15日提交的标题为“SELECTION OF MASTERDEVICE FOR SYNCHRONIZED AUDIO”的共同拥有的美国专利申请序列号15/433,874、在2017年2月15日提交的标题为“AUDIO PLAYBACK DEVICE THAT DYNAMICALLY SWITCHES BETWEENRECEIVING AUDIO DATA FROM A SOFT ACCESS POINT AND RECEIVING AUDIO DATA FROM ALOCAL ACCESS POINT”的美国专利申请序列号15/433,920以及在2017年2月15日提交的标题为“IMPLICIT TARGET SELECTION FOR MULTIPLE AUDIO PLAYBACK DEVICES IN ANENVIRONMENT”的美国专利申请序列号15/433,953的优先权,所有所述申请在此以全文引用的方式并入。
背景技术
随着计算装置演变,用户能够与计算装置交互的方式也在演变,例如通过机械装置(例如,键盘、鼠标等)、触摸屏、运动和手势。另一种与计算装置交互的方式是通过使用话音的自然语言输入和使用手势和移动的基于计算机视觉的输入。
一些计算装置能够输出音频并且用于回放音乐和其他音频内容。自然语言输入已经让用户容易在这些连接的装置上起始音频内容的回放。另外,使用内容流式传输服务以便通过向用户提供音频内容库来进行音频回放。在一些情况下,用户利用多个连接的装置作为装置群以便同步地输出音频。本文尤其论述了对这些连接的装置和***的技术改进。
附图说明
参考附图来描述详细描述。在图中,参考数字的最左边数字识别了所述参考数字第一次出现的图。在不同的图中的相同的参考数字指示类似或相同的项目。
图1A是在发现期间包括某一环境中的多个音频回放装置的说明性***架构的示意图。
图1B是图1A的说明性***架构的示意图,其中用户发出在环境中创建音频回放装置群的请求,并且作为响应,使用减小吞吐量测试的时延的技术来执行吞吐量测试。
图2说明根据本文描述的实施方案的在音频回放装置处实施的计算机部件的功能框图。
图3说明根据本文描述的实施方案的在远程***的计算装置处实施的计算机部件的功能框图。
图4是用于针对将包括用于同步输出地音频的装置群的音频回放装置的群来执行吞吐量测试的说明性过程的直观流程图。
图5是用于选择主装置并且将音频数据发送到所述主装置以便将音频数据进一步分发到被配置成按照同步的方式输出音频的装置的群的一个或多个从属装置的说明性过程的直观流程图。
图6是用于针对将包括用于同步地输出音频的装置群的音频回放装置的群来执行吞吐量测试的说明性过程的直观流程图。
图7是音频回放装置的群的混合拓扑以及用户向所述群中的音频回放装置发出语音命令的示例的示意图。
图8是根据本公开的实施方案的话音处理***的部件的概念图。
图9是用于基于在用于音频回放的群模式或个人模式下进行操作的命令而在混合拓扑中的软无线接入点(WAP)与WAP之间动态地切换的说明性过程的直观流程图。
图10是用于配置从属装置以经由混合拓扑或软WAP拓扑中的软WAP或WAP从主装置接收音频数据的说明性过程的直观流程图,经由软WAP还是WAP取决于从属装置与软WAP之间以及从属装置与WAP之间的相应的信号强度测量结果。
图11是用于配置从属装置以经由混合拓扑中的软WAP或WAP从主装置接收音频数据的说明性过程的直观流程图。
图12是用于当在语音命令中未指定目标时选择音频输出的目标的说明性过程的一部分的直观流程图。
图13是用于当在语音命令中未指定目标时选择音频输出的目标的说明性过程的另一部分的直观流程图。
图14是用于当在语音命令中未指定目标时选择音频输出的目标的说明性过程的另一部分的直观流程图。
具体实施方式
本公开针对于与被配置成按照同步的方式输出音频的音频回放装置相关的***、装置和技术。多个音频回放装置可能存在于某一环境中。个别音频回放装置当其具有在所述环境中从用户接收语音命令和/或基于语音命令而致使执行操作的能力时有时在本文称为“语音控制装置”。个别音频回放装置当其能够耦合到网络装置(例如,连接到网络装置作为局域网(LAN)的部分、作为无线区域网络(WAN)的部分等)和/或经由短程无线无线电通信(例如,蓝牙、Zigbee等)与其他装置通信时还被视为“连接的”(或“可以网络连接的”)装置。
所述环境中的两个或更多个音频回放装置可以形成用于按照同步的方式输出音频的装置群。在形成群的过程中,第一音频回放装置被指定为主装置(或“音频分发主装置”)且待形成的群中的一个或多个其余音频回放装置被指定为从属装置。在被指定为音频分发主装置之后,所述主装置被配置成从内容源(例如,远程内容源)接收音频数据(例如,音频文件或音频数据将被流式传输到的位置的统一资源定位符(URL)),并且将音频数据发送到所述群中的一个或多个从属装置,使得所述群中的每个音频回放装置可以开始在特定时间周期内(例如,当至少两个音频回放装置处于建筑物的不同房间中时在5ms内,或者在可能处于同一房间或相同的大体附近区域内的音频回放装置的左右立体声对中在150微秒(μs)内等)回放所述音频数据,以使得所述装置群能够同步地输出音频。
本文描述的是用于在非常小的时延下在音频回放装置的待形成的群中选择音频分发主装置的***、装置和技术。例如,现有的技术通过以下操作来依次测试每个音频回放装置作为音频分发主装置:测量测试从属装置处的数据吞吐量以确定哪个音频回放装置最佳适合于音频分发主装置的角色。对于较大的装置群,此现有的过程可能要花费(相对)大量的时间来完成,因为要测量担当音频分发主装置的每个音频回放装置的吞吐量。
因此,用于针对音频回放装置的群执行吞吐量测试的过程可以包括确定待形成的群中的音频回放装置的得分,其中针对音频回放装置而确定的得分指示(例如)担当音频分发主装置的音频回放装置的性能水平。所述得分可以基于一个或多个因素,包括(例如)环境中的音频回放装置与无线接入点(WAP)之间的信号强度值。所述得分允许音频回放装置根据它们作为音频分发主装置的表现良好程度的可能能力依序进行排名。因此,可以通过为了测试目的按照排名的次序将个别音频回放装置指定为候选音频分发主装置来执行吞吐量测试。举例来说,如果确定指派给第一音频回放装置的第一得分高于指派给第二音频回放装置的第二得分,那么所述第一音频回放装置被指定为第一候选音频分发主装置,并且所述第二音频回放装置被指定为第一候选从属装置,并且所述第二音频回放装置从所述第一音频回放装置接收一定量数据以确定数据吞吐量值。如果由所述第二音频回放装置确定的数据吞吐量值大于预定义阈值,那么可以将所述第一音频回放装置选择为音频分发主装置。响应于命令,可以在第一音频回放装置处从内容源接收音频文件,以使所述环境中的作为群的第一音频回放装置和第二音频回放装置同步地输出所述音频文件的音频。
可以通过将通过了吞吐量测试(例如,由于数据吞吐量值超过预定义阈值)的第一群配置取为可接受的群配置来减小吞吐量测试的时延(例如,完成时间)。以此方式,处于首先通过了吞吐量测试的群配置中的候选音频分发主装置被选定为所述群的音频分发主装置,而无需确定担当候选音频分发主装置的其他音频回放装置的额外的数据吞吐量值。还可以通过使用将运行预定时间周期的定时器来减小吞吐量测试的时延。可以在预定时间周期内执行尽可能多轮的吞吐量测试,其中每一轮将音频回放装置的排名次序向下移并且依序测试装置作为候选音频分发主装置。在预定时间周期已经流逝之后,可以评估通过了吞吐量测试的群配置的测试结果,以便选择表现最佳的音频回放装置作为音频分发主装置。通过使用时间周期,尤其在具有许多音频回放装置的大群中,将完成吞吐量测试的时间减小至在许多情况下比测试每个音频回放装置作为主装置的时间周期更短的合适的时间周期。
本公开还针对于用于通过在从属装置处经由环境中的软WAP接收音频数据以及经由环境中的WAP接收音频数据之间动态地切换来减少群中的个别音频回放装置处的带宽消耗的***、装置和技术。例如,根据其中群中的音频分发主装置担当软WAP的混合拓扑,音频回放装置的群可以与环境中的WAP连接。直接连接到软WAP的从属装置被配置成直接从软WAP接收音频数据(即,不通过环境中的WAP来路由从软WAP发送的音频数据)。其他从属装置可以连接到WAP,使得从音频分发主装置接收的音频数据经由所述WAP被路由到那些从属装置。在一些情况下,音频分发主装置处的带宽消耗可能会增加到音频分发主装置的性能显著劣化的地步。当直接连接到软WAP的从属装置从群模式切换为个人模式而未改变其直接从软WAP接收音频数据的配置时,可能会发生这种情况。如果许多直接连接到软WAP的从属装置切换到个人模式而未以此方式改变它们的配置,那么每个从属装置可能会直接从软WAP接收音频数据,并且音频分发主装置的性能可能会由于音频分发主装置处的增加的带宽消耗而显著劣化。
因此,第一音频回放装置可以被配置成在具有第二音频回放装置和WAP的环境中担当软WAP。可以接收请求包括第一音频回放装置和第二音频回放装置的装置群进行音频回放的第一用户输入。可以基于所述第一用户输入而产生第一命令,所述第一命令包括音频回放操作、第一内容标识符和与第一音频回放装置和第二音频回放装置相关联的第一目标标识符。担当音频分发主装置的第一音频回放装置经由环境中的WAP接收第一音频文件,并且担当从属装置的第二音频回放装置直接从所述第一音频回放装置接收所述第一音频文件而不通过WAP路由所述第一音频文件。在将第一音频文件分发到所述第二音频回放装置的情况下,第一音频回放装置和第二音频回放装置可以按照同步的方式输出所述第一音频文件的音频。
随后,可以接收请求第二音频回放装置单独地进行音频回放的第二用户输入。可以基于所述第二用户输入而产生第二命令,所述第二命令包括音频回放操作、第二内容标识符和与第二音频回放装置相关联但不与第一音频回放装置相关联的第二目标标识符。在此情况下,已经将第二音频回放装置从在群模式下与第一音频回放装置一起操作切换为在个人模式下操作。因此,第二音频回放装置可以通过从内容源且经由WAP接收第二音频文件来动态地切换其配置,而不通过第一音频回放装置路由所述第二音频文件。随后由第二音频回放装置输出第二音频文件的音频。值得注意的是,当将第二音频回放装置切换为个人模式并且开始经由WAP(且绕过主装置)接收音频数据时,腾出主装置的资源,从而因此减少主装置处的带宽消耗。
本公开还针对于用于在确定未指定音频输出的任何目标的语音命令的例子中在多个音频回放装置中选择目标输出装置(或装置群)的***、装置和技术。举例来说,用户可以通过说出话语“播放Joe Songbird的音乐”来发出语音命令,而不指定用户想要在其上播放所述音乐的音频回放装置。在此情况下,目标选择算法使用一个或多个准则来选择隐含的目标装置。在一些配置中,如果自从前一语音命令以来已经流逝预定时间周期,那么满足所述准则。使用时间周期准则,可以在接收到指定多个音频回放装置中的目标装置(或装置群)的语音命令之后启动定时器,所述定时器将运行预定时间周期。如果发出后续的语音命令而未指定目标装置(例如,“播放Joe Songbird的音乐”),并且在检测到后续的语音命令之时或之前尚未流逝预定时间周期,那么隐含的目标被选定为在先前检测到的语音命令中指定的同一目标。因此,如果用户发出第一语音命令“Everywhere播放Joe Songbird的音乐”(“Everywhere”是包括环境中的所有用户注册的音频回放装置的群的名称),那么启动定时器,并且当在预定时间周期流逝之前检测到第二语音命令“播放Jill Musician的音乐”时,隐含的目标被选定为“Everywhere”群。另一方面,如果在前一示例中在检测到第二语音命令之时或之前已经流逝预定时间周期,那么可以选择不同的隐含目标来输出音频,例如默认的装置(或装置群),或存储在偏好中的优选装置(或装置群)。
出于讨论的目的,本文主要出于说明的目的而使用示例。举例来说,常常参考包括音乐的音频内容的回放来描述本文描述的技术。然而,将了解,可以使用任何合适的音频内容(例如,音频书籍、播客或任何合适的音频内容)来实施本文描述的技术和***。
图1A是包括环境106内的可以用于同步音频回放的多个音频回放装置104的说明性***架构100的示意图。图1A说明当首先使装置104在线(或响应于在下文描述的装置相关信息的显著改变)时执行的发现过程。在图1A中示出的发现过程被配置成辅助在向用户注册的装置104之间共享信息(例如,在装置104之间的通信)。举例来说,当音频回放装置104首先启动并在线时,装置104可以将装置标识符107发送到远程***114。所述装置标识符可以包括(不限于)装置104的因特网协议(IP)地址、媒体接入控制(MAC)地址或识别装置104的任何其他合适的装置标识符。可以利用任何合适的连网协议将信息从装置104传输到远程***114。利用远程***114来辅助发现环境106中的装置104的至少一个原因是由于各种可能的网络配置,所述网络配置有时不允许环境106中的装置104经由LAN“看到”彼此(例如,多个无线接入点(WAP)117可能会阻挡环境106中的两个装置104之间的发现消息包,发现包可能不会超越LAN内的子网等)。
由远程***114接收的装置标识符107可以保持于远程***114的存储装置中,以供环境106中的向用户注册的所有装置104使用。维持于远程***114中的装置标识符107还可以由可以在用户的计算装置上执行的客户端侧应用使用,这可以向用户提供关于在任何给定时间点哪些装置104当前在线的信息。
远程***114可以将消息(例如,串行化的通知_改变()消息)发送到环境106中的装置104,使得装置104可以更新它们的维持于装置104的本地存储装置中的个别连接性信息。举例来说,由装置104(3)(或“装置C”)从远程***114接收的消息124可以包括环境106中的其他装置104(1)、104(2)和104(4)(或“装置A、B和D”)的装置标识符107(例如,IP地址),使得使装置104(3)知晓其他装置104并且知晓如何使用装置标识符107(例如,IP地址)与它们通信。在一些实施方案中,远程***114可以对向用户注册的装置104查询当前装置标识符107信息。替代地,远程***114可以访问维持于远程***114的存储装置中的与特定用户相关联的客户注册表,所述客户注册表包括向用户注册的装置104(例如,图1A的装置104(1)-(4))。以此方式,远程***114维持从已注册的装置104到用户的映射。
响应于在装置104(3)处从远程***114接收到包括环境106中的其他在线装置104的装置标识符107的消息124,装置104(3)可以经由环境106中的LAN和/或经由远程***114来与环境106中的其余装置104共享关于装置104(3)的额外的发现信息。在环境106中的装置104之间共享的额外的发现信息可以包括(不限于)在装置104与本地WAP 117之间测得的信号强度值(例如,接收信号强度指示(RSSI)值)、装置类型、WAP 117的服务集标识符(SSID)、WAP 117的基础SSID(BSSID)、安全密钥(例如,用于在装置104之间经由环境106中的LAN进行的数据的私密传输),等等。可以使用一些或全部这种额外的发现信息来选择一个或多个主装置以用于时间同步(时间主装置)目的和/或音频分发(音频分发主装置)目的。在任何存在装置标识符107的显著改变和/或来自装置侧的额外的发现信息的时候,可以将更新消息发送到远程***114,并且远程***114可以更新环境106中的装置104(包括起始所述改变的装置104)。举例来说,如果装置104(4)的IP地址改变,那么装置104(4)可以将更新消息发送到远程***114。作为另一示例,如果装置104(4)与WAP 117之间的初始的信号强度测量结果(信号强度值)和装置104(4)与WAP 117之间的后续的信号强度测量结果(信号强度值)之间的差值大于预定义的信号强度差异阈值,那么可以由装置104(4)将更新消息发送到远程***114。当用户在环境106内重新定位装置104时,可能会出现这种情况。在发现之后,环境106中的装置104知晓环境106中的其他装置104,并且知晓如何与环境106中的其他装置104联系和通信。
图1B是图1A的说明性***架构100的示意图,其中用户102可以向环境106中的音频回放装置104发出语音命令以便控制音频回放装置104中的一者或多者的操作。图1B假设图1A的发现过程已经发生,使得环境106中的装置104知道向用户102注册并且存在于环境106中的装置104的装置标识符107。图1A和图1B中的环境106可以包括多个音频回放装置104所处的任何合适的区域。图1A和图1B的示例性环境106示出为包括图1A和图1B中的音频回放装置104(1)、104(2)、104(3)和104(4)(统称为104),还分别被标记为装置“A”、“B”、“C”和“D”。图1A和图1B示出包括了具有多个房间的房屋的环境106的示例,这可以表示用户102的居住地。举例来说,装置104(1)(或“装置A”)可以位于房屋的第一卧室110(1)中,装置104(2)(或“装置B”)可以位于房屋的第二卧室110(2)中,并且装置104(3)和104(4)(或分别为“装置C和D”)可以位于房屋的起居室112中。因此,环境106可以包括物理结构,例如建筑、房屋或类似结构,但环境106不限于物理结构。举例来说,环境106可以包括音频回放装置104所处的室外环境。将了解,提供图1A和图1B以辅助理解所公开的技术和***。因此,应理解,本文论述是非限制性的。
用户102可以通过使用由个别的音频回放装置104检测到的语音命令来控制环境106内的音频回放装置104中的一者或多者。例如,如果用户102想要在特定音频回放装置104(例如,装置104(4)(或“装置D”))上播放音乐,那么用户102可以向音频回放装置104(4)发出“在装置D上播放Joe Songbird的音乐”的语音命令。音频回放装置104(4)可以响应于所述语音命令而通过在计算机网络116上传输/接收数据来与远程***114交互,以致使装置104(4)在远程***114的辅助下执行所请求的操作。
图1A和图1B说明装置104可以经由网络116与远程***114耦合。图1A和图1B还示出无线接入点(WAP)117可以使得能够将个别装置104耦合到网络116的网络装置。网络116可以表示有线网络、无线网络(例如,WiFi)或其组合的阵列。远程***114可以大体上是指网络可访问平台或“基于云的服务”,所述远程***被实施为经由网络116(例如,互联网)维持并可访问的处理器、存储装置、软件、数据接入等的计算基础设施。基于云的服务可能不需要递送服务的***的物理位置和配置的终端用户知识。与基于云的服务(例如,远程***114)相关联的共同表达包括“按需计算”、“软件即服务(SaaS)”、“平台计算”、“网络可访问平台”等。
个别的音频回放装置104可以:基于用户102说出的话语来检测输入音频;将音频数据发送到远程***114和装置104或另一装置104;可以从远程***114接收响应于发送所述音频数据的命令。在装置104接收到所述命令之后,装置104(或装置104群)可以按照特定方式操作,例如输出音频(例如,对应于由用户102请求的艺术家的音频文件的音频、对用户102作出的查询的文本响应的文本-话音(TTS)翻译的音频,等等)。对应于音频内容的音频文件(例如,音乐)可以是可以从内容源119检索的,所述内容源可以与环境106远程地定位。此类远程(或基于云的)内容源119通常称为内容流式传输源,其中用户102预订服务,从而允许用户102访问可以供用户102使用的来自内容源119的音频文件的库。内容源119可以是与远程***114相同的***的部分,或者内容源119可以是可以让远程***114访问的单独***119。另外,或替代地,内容源119可以位于环境106中,例如用户102可以进行访问以便经由环境106中的装置104中的一者或多者进行回放的音频文件的个人数据库。因此,如本文描述,从内容源119接收内容可以包括直接从内容源119接收所述内容,或者经由远程***114以及可能经由WAP 117在网络116上接收所述内容。
在任何情况下,用户102可以创建装置群,并且可以使用他的/她的语音来控制装置104的群。在图1B的示例中,用户102希望创建装置104的群,使得所述群中的装置104稍后可以由个别的语音命令控制。
因此,用户102能够使用在与用户102相关联的计算装置122的显示器上再现的图形用户接口(GUI)118来创建装置104的群,所述图形用户接口例如为在移动电话、平板计算机、电视(以及机顶盒、游戏控制台等)等的显示器上再现的GUI 118。在一些情况下,远程***114可以将用于显示GUI 118的数据(例如,网络浏览器、客户端应用等)提供给计算装置122。举例来说,GUI 118可以提供已经向用户102注册的装置104的列表,并且可以在GUI118上提供与个别装置104相关联的选择元件,以使得能够根据所述列表中的装置创建装置104的群,如图1B中的GUI 118所示。
替代地,用户102可以说出自然语言命令,例如“创建包括所有我的音频回放装置的名为‘Everywhere’的群”。由于在说出话语时装置104(4)接近用户102,所以装置104(4)的一个或多个麦克风可以捕获对应于自然语言命令的输入音频(即,声波)。在一些实现方式中,装置104(4)可以处理所捕获的音频。在其他实现方式中,可以通过远程***114的可以由装置104(4)经由网络116访问的额外的计算装置120(1)、120(2)……120(N)(统称为120)来执行对输入音频的处理的一些或全部。在一些配置中,装置104(4)被配置成识别预定义的“唤醒字”(即,预定义的话语)。
在装置104识别出用户102说出预定义的唤醒字(在一些情况下)之后,装置104可以开始经由网络116将音频数据(表示在环境106中捕获的音频)上传到远程***114。响应于接收到此音频数据,远程***114的一个或多个计算装置120可以开始对音频信号执行自动化话音辨识(ASR)以产生文本,并且可以对所产生的文本执行自然语言理解(NLU)以确定一个或多个语音命令。例如,远程***114可以基于经由网络116从装置104(4)接收的音频数据而确定用户102正在请求创建包括所有用户102的已注册的音频回放装置104的装置104的群。虽然图1描绘了用户102具有四个装置104,但本文描述的技术和***当然不限于在图1A和图1B中示出的装置104的示例性数目,并且用户102可以替代地拥有少于或多于四个装置104的任何数目的音频回放装置104。
响应于用户102创建装置104的群的请求,远程***114,或装置104中的一者或多者可以尤其被配置成起始对所述装置104的群的吞吐量测试。举例来说,远程***114可以将消息发送到装置104的待形成的群中的特定装置104以起始吞吐量测试,或者可以使用任何合适的选择算法将装置104中的一者指定为“测试主装置”(例如,具有最低数值的装置标识符107(例如,IP地址)的装置104等)。
在起始吞吐量测试之前,可以确定吞吐量测试次序126。吞吐量测试次序126指示:对于个别轮的吞吐量测试,待形成的群中的哪个装置104被测试为音频分发主装置。可以由远程***114、由一个或多个装置104(例如,由指定的“测试主”装置104)或者部分由远程***114且部分由装置104中的一者或多者来确定吞吐量测试次序126。根据基于一个或多个因素或度量而指派给个别装置104的相应得分来确定吞吐量测试次序126,所述相应得分指示担当音频分发主装置的相应音频回放装置104的预期性能水平。举例来说,所述得分可能基于的可能的若干因素中的一者包括环境106中的相应音频回放装置104与WAP 117之间的信号强度128(例如,可以按照分贝-毫瓦(dBm)测得的接收信号强度指示(RSSI)值)。在一些实施方案中,可以由确定WAP 117的装置标识符并且对在一段时间周期内测得的多个信号强度值求平均的装置104来测量由给定装置104报告的信号强度128值。信号强度值可以包括周期性地测量或响应于触发事件而测量的历史测量结果。被求平均以计算信号强度128值的多个信号强度测量结果可以表示在当将要向远程***114或向环境106中的不同装置报告信号强度128值时的相对近的时间周期内作出的测量结果。这是基于以下想法:在音频回放装置104与WAP 117之间的更高的信号强度是音频回放装置104将良好地表现为音频分发主装置的指示符(例如,在合适的吞吐量(例如,处于或高于512千比特/秒(kbps)的吞吐量)下将音频数据发送到一个或多个从属装置104(在一些情况下同时发送到多个从属装置104),从而了解装置104与WAP117之间的更高的信号强度128如何可能对应于装置104处的用于将音频数据分发到群中的其余装置的更高的带宽)。如本文所使用,“分发”音频数据可以包括(不限于)确定将音频数据发送到哪里(例如,使用映射或其他数据结构),以及使用任何合适的无线协议将音频数据发送到一个或多个装置104。在一些实施方案中,基于在环境106中的音频回放装置104与WAP 117之间测得的信号强度128值的对得分的示例性计算包括使预定义负值(例如,-1500)除以信号强度128值,并且可能使原始得分舍入为最近的十进制点或整数。此示例性计算合适用于RSSI测量,所述RSSI测量通常以dBm为单位被测得为负值,其中认为更接近0的负的RSSI值是比更远离0的RSSI值更强的信号。举例来说,使用以上示例性公式,RSSI=-50dBm的第一信号强度128值将对应于得分30(例如,30=(-1500)÷(-50)),而RSSI=-30dBm的第二信号强度128值将对应于得分50(例如,50=(-1500)÷(-30))。因此,RSSI=-50dBm的第一音频回放装置104(1)的排名将低于RSSI=-30dBm的第二音频回放装置104(3),因为第一音频回放装置104(1)将接收到得分30,而第二音频回放装置104(3)将接收到得分50。
吞吐量测试被设计成确保环境106中的个别装置104和局域网(LAN)(全部一起工作)有可能在装置104的群同步地输出音频期间提供高质量的音频体验。因为可以通过将群中的装置104中的一者指定为将音频数据(例如,音频文件)分发到所述群中的其余装置104(被指定为从属装置)的音频分发主装置来实施音频的同步输出,所以吞吐量测试确保了装置104的待形成的群中有至少一个装置104可以在合适的数据吞吐率(例如,高于每个从属装置的预定义的吞吐量阈值)下将音频数据同时传输到所述群中的若干从属装置。
然而,不是按照任意的次序将每个装置104测试为音频分发主装置,在图1B的示例中示出的技术被设计成根据装置104作为音频分发主装置的可能的性能水平来对所述装置智能地排序。因此,“最佳的”候选主装置可能首先被测试,并且“最差的”候选主装置可能最后被测试。在一些配置中,吞吐量测试被设计成根据吞吐量测试次序126针对个别装置104执行个别“轮”,从而在个别轮期间测量一个或多个从属装置处的数据吞吐量。可以在确定通过了吞吐量测试的第一装置104并且在将所述第一装置104指定为音频分发主装置的情况下形成群之后完成吞吐量测试,而不在形成群之前执行任何额外的轮或采取任何额外的数据吞吐量测量。以此方式,与要耗费测试待形成的群中的每一和每个装置104以便确定最佳音频分发主装置所需的任何和所有时间的现有的吞吐量测试相比,可以在非常小的时延下执行吞吐量测试。替代地,可以设定测试完成的预定时间周期,并且吞吐量测试可以在所述预定时间周期内完成,从而避免耗费超出所述预定时间周期的任何额外时间来测试装置104。例如,可以在吞吐量测试开始时启动定时器,并且装置104的群可以在预定时间周期内执行尽可能多的轮,从而使在预定时间周期内通过了吞吐量测试的所有群配置通过。其后,可以从在预定时间周期内通过了吞吐量测试的通过的群配置中选择最佳音频分发主装置。这还通过将吞吐量测试的完成限制于预定时间周期来减小吞吐量测试的时延。例如,可以将所述时间周期设定为允许在可以将待形成的群中的所有装置104作为音频分发主装置进行测试之前完成所述测试的值,这对于减小较大的装置的群(例如,环境106中的10个或更多装置104)中的吞吐量测试时延特别有用。将了解,可以不按照吞吐量测试次序126对装置104进行评分和排名,而是使用不涉及对装置104进行评分的不同技术(例如,通过从最低装置标识符107到最高装置标识符107来选择装置或反之亦然,或通过任何其他吞吐量测试次序126)指定进行测试的主装置来实施这些时延减小技术。
图2是在概念上说明可以与所描述的***一起使用的图1的音频回放装置104的框图。图3是在概念上说明可以辅助ASR、NLU处理、群形成和/或命令处理以实现同步的音频回放的的图1的远程***114的远程计算装置120的示例性部件的框图。可以在远程***114中包括多个此类计算装置120,例如用于训练ASR模型的一个计算装置120、用于执行ASR的一个计算装置120、用于执行NLU的一个计算装置120、用于处理同步的音频回放命令的一个计算装置120等。在操作中,个别装置(104/120)可以包括驻留在相应装置(104/120)上的计算机可读指令和计算机可执行指令,如将在下文进一步论述。
个别装置(104/120)可以任选地包括一个或多个控制器/处理器(202/302),并且可以任选地包括用于存储相应装置的数据和指令的存储器(204/304),所述一个或多个控制器/处理器可以单独地包括用于处理数据和计算机可读指令的中央处理单元(CPU)。存储器(204/304)可以单独地包括易失性随机存取存储器(RAM)、非易失性只读存储器(ROM)、非易失性磁阻(MRAM)和/或其他类型的存储器。个别装置(104/120)还可以任选地包括用于存储数据和控制器/处理器可执行指令的数据存储部件(206/306)。所述数据存储部件可以单独地包括一个或多个非易失性存储类型,例如磁性存储装置、光学存储装置、固态存储装置等。个别装置(104/120)还可以通过相应的输入/输出装置接口(208/308)连接到可移除或外部非易失性存储器和/或存储装置(例如,可移除存储器卡、存储键驱动器、连网的存储装置等)。
可以由相应装置的控制器/处理器(202/302)将存储器(204/304)用作运行时的临时“工作”存储装置来执行用于操作个别装置(104/120)和其各种部件的计算机指令。装置的计算机指令可以非暂时性地存储在非易失性存储器(204/304)、存储装置(206/306)或外部装置中。替代地,一些或全部可执行指令可以嵌入相应装置上的硬件或固件中以作为软件的补充或代替。
个别装置(104/120)可以任选地包括输入/输出装置接口(208/308)。可以通过输入/输出装置接口(208/308)连接多种部件,如将在下文进一步论述。另外,个别装置(104/120)可以任选地包括用于在相应装置的部件之间输送数据的地址/数据总线(210/310)。装置(104/120)内的个别部件除了跨越总线(210/310)连接到其他部件之外(或作为其替代)还可以直接连接到其他部件。
参看图3的装置120,装置120可以任选地包括被配置成实施参考图1A所描述的发现过程的发现模块312。发现模块312可以表示被配置成实施本文参考发现模块312所描述的功能和技术的一个或多个服务和/或一个或多个应用编程接口(API)。所述发现过程辅助在首先使装置104在线(或响应于装置相关信息的显著改变)时发现新的装置104,并且辅助在向用户102注册的装置104之间共享信息(例如,在装置104之间的通信)。举例来说,当音频回放装置104首先启动并在线时,装置104可以将装置标识符107发送到远程***114,所述装置标识符由发现模块312接收。
由发现模块312接收的装置标识符107可以保持于存储装置306中,以供环境106中的向用户102注册的所有装置104使用。维持于存储装置306中的装置标识符107还可以由可以在用户102的计算装置122上执行的客户端侧应用使用,这可以向用户102提供关于在任何给定时间点哪些装置104当前在线的信息。发现模块312可以将消息(例如,串行化的通知_改变()消息)发送到环境106中的装置104,使得装置104可以更新它们的维持于装置104的本地存储装置206中的个别连接性信息。举例来说,可以从发现模块312发送参考图1A所描述的消息124,并且所述消息可以包括环境106中的装置104的装置标识符107(例如,IP地址),使得使任何个别装置104知晓其他装置104的装置标识符107并且知晓如何使用装置标识符107与它们通信。在一些实施方案中,发现模块312可以对向用户102注册的个别装置104查询当前装置标识符107信息。替代地,发现模块312可以访问维持于存储装置306中的与特定用户102相关联的客户注册表314,所述客户注册表314包括向用户102注册的装置104(例如,图1的装置104(1)-(4))。以此方式,远程***114维持从已注册的装置104到客户102的映射。
在一些配置中,装置104以及装置群316的言语描述可以由用户102界定并且被维持成与用户102的客户注册表314相关联。举例来说,用户102在起初可以已向远程***114提供以下指示:装置104(4)将被命名为“装置D”,和/或包括所有装置104(1)-(4)的装置群316将被命名为“Everywhere”。因此,可以将对在来自用户102的言语命令中发现的这些言语描述(或名称)的参考映射到在客户注册表314中指示的与用户102相关联的个别装置104和/或群316。因此,用户102可以发出参考装置104和/或群316的预定义名称的语音命令,所述语音命令致使装置104执行所请求的操作(例如,输出音频文件的音频)。
如图1B中所示,用户102可以请求形成环境106中的装置104的群,使得所述群可以按照同步的方式协调音频回放。如上文提及,用户102可以经由GUI 118作出此请求,或者用户102可以发出语音命令以形成群。举例来说,可以在用户102的计算装置122上执行客户端侧应用,以例如通过相对于用户102希望包括以作为群316的成员的个别装置104对GUI 118上的软按钮进行双态切换来请求形成装置104的群。响应于确定用户102已经作出此类请求,被配置成辅助形成群316的任选的群形成模块315可以将消息(例如,形成_群()消息)发送到待形成的群中的个别装置104,所述消息向装置104告知装置104将试图形成群。群形成模块315可以表示被配置成实施本文参考群形成模块315所描述的功能和技术的一个或多个服务和/或一个或多个API。将了解,在图3中示出的发现模块312和/或群形成模块315可以在完全不依赖于本文描述的话音处理功能性的情况下进行操作。举例来说,所述发现过程可以完全不依赖于用户,并且可以通过用户102调用GUI(例如,在图1B中示出的GUI118)并且向所述GUI提供输入来起始群形成,而不向装置104中的任一者提供任何话音输入。
响应于从用户102接收到形成群的请求,并且响应于将形成_群()消息传输到待形成的群中的个别装置104,待形成的群中的装置104随后被配置成执行网络连接性测试。待形成的群中的个别装置104可以从远程***114接收起始此类网络连接性测试的消息,或者可以由装置104中的一者或多者自身在环境106中在本地起始所述测试。可以执行网络连接性测试以便确保待形成的群中的所有装置104可以“看到”彼此,并且协调地担当群316的装置104将具有合适的网络带宽来参与集合群进行的音频的同步输出,并且为环境106中的用户提供高质量音频体验。
可以在多个阶段执行网络连接性测试。例如,第一阶段可以包括“可见性测试”(有时在本文称为“基础连接性测试”)。第一阶段可见性测试可以使用请求/回复协议,这包括待形成的群的个别装置104使用所述装置从发现模块312接收的装置标识符107(例如,IP地址)信息经由环境106的LAN(例如,经由WAP 117)将消息发送到待形成的群的其他装置104中的个别装置。如果传输装置104在预定时间量(例如,两三秒)内从接收装置104接收到响应,那么确定相应的装置104对已经通过第一阶段可见性测试。如果完全接收不到响应,或者在预定时间量内未接收到响应,那么确定相应的装置104对未通过第一阶段可见性测试。传输装置104可以按照任何合适的测量单位(例如,毫秒)来测量响应时间(例如,从请求到回复的总时间),并且可以测量环境106中的装置104与WAP 117之间的额外信息,例如信号强度128(例如,RSSI值)等。在完成第一阶段可见性测试之后,个别装置104可以将结果发送到远程***114,所述远程***随后可以检查结果的一致性(例如,如果装置A可以与装置B“通话”,那么装置B应能够与装置A通话)。
将了解,可以在来自用户102的形成群的请求之前执行第一阶段可见性测试,或者可以在此类请求之后接收所述第一阶段可见性测试。举例来说,群形成模块315可以在以下条件下指令环境106中的装置104执行第一阶段可见性测试:响应于在环境106中的装置104之间发布/共享装置标识符107(例如,IP地址),和/或响应于用户102在他的/她的计算装置122上调用将使得用户102能够形成装置104的群的GUI,但在用户102实际上请求形成特定的装置104的群之前。以此方式,***可以通过向用户102告知是否可以甚至首先形成期望群而预先设定用户102的预期。举例来说,如果环境106中的特定组装置104未通过第一阶段可见性测试,那么可以于在计算装置122上呈现的GUI 118上使特定装置104“变灰”,使得用户102无法经由在图1A中示出的GUI 118来选择特定组装置104以形成群。替代地,装置104可以输出即时TTS响应以向用户102告知由于装置104的期望的群的可见性问题而无法形成期望的群。
网络连接性测试还可以包括第二阶段吞吐量测试(有时在本文称为“音频分发吞吐量测试”或“网络质量测试”)。第二阶段吞吐量测试被设计成确保在待形成的群中的装置104之间存在足够的网络带宽以允许分发将要用于经由装置104的群进行音频的同步输出的音频数据。可以响应于用户请求,例如形成装置104的群的请求(经由GUI 118作出,或经由语音用户界面(VUI)作出等),来执行所述第二阶段吞吐量测试。可以通过群形成模块315将消息发送到装置104来起始所述第二阶段吞吐量测试,或者可以由装置104的待形成的群中的指定的测试主装置来起始所述吞吐量测试。在任一情况下,待形成的群中的被指定为“测试主装置”的装置104协调多轮吞吐量测试的运行。可以使用任何合适的算法,例如选择具有最低(或最高)装置标识符107(例如,IP地址)的装置104,来选择此测试主装置。可以在待形成的群的每个装置104上同时执行此算法,使得个别装置104可以确定其是否为测试主装置,或不同的装置104是否为测试主装置,因为每个装置104已经通过发现过程获得每个其他装置104的装置标识符107,并且因此可以确定哪个装置是测试主装置。
第二阶段吞吐量测试例如基于在下文更详细地描述的所指派的得分而按照特定吞吐量测试次序126将装置104排序。在一些实施方案中,可以确定吞吐量测试次序126,可以将吞吐量测试次序126中的第一装置104(即,被指派最高得分的装置104)指定为测试主装置。在任何情况下,测试主装置通过指令最高得分的装置104担当音频分发主装置并且通过指定其余的装置104作为从属装置来运行第一轮(“轮1”)的吞吐量测试。在第一轮的吞吐量测试期间,个别从属装置在基本上相同的时间从第一装置104(即,最高得分的装置104)接收预定量数据。可以在第一轮的吞吐量测试期间在个别从属装置处测量数据吞吐量,并且将数据吞吐量结果发送到测试主装置,可以将所述测试主装置选择为排序列表中的第一装置104或选择为不同的装置,如上文描述。随后,与现有的主装置选择程序相比,通过使用规定的时间周期,或者通过选择第一通过的群配置,可以减小吞吐量测试的时延。选定的群配置将包括音频分发主装置,所述音频分发主装置将由于在担当音频分发主装置时通过了吞吐量测试而提供经由装置104的群的高质量的同步音频输出。如果吞吐量测试未产生任何通过的群配置,那么所有群配置都未通过吞吐量测试,并且选定的装置104无法形成群。
本文描述的过程被说明为逻辑流程图中的框的集合,所述框表示可以在硬件、软件或其组合中实施的一连串操作。在软件的背景下,所述框表示当由一个或多个处理器执行时执行所叙述的操作的计算机可执行指令。一般来说,计算机可执行指令包括执行特定功能或实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。不希望将描述操作的次序理解为限制,而是可以通过任何次序和/或并行地组合任何数目的所描述的框来实施过程。
图4是用于针对将形成为用于同步地输出音频的装置群的音频回放装置104的群执行吞吐量测试的说明性过程400的直观流程图。出于论述的目的,参考本文示出的图的部件来描述本文描述的过程。
在402处,可以基于计算装置的用户输入而接收形成装置104的群的请求。举例来说,可以例如经由在经由计算装置122呈现的GUI 118上的用于形成装置104的群的选择而从用户102的计算装置122接收到402处的请求。可以经由网络116从计算装置122传输此类基于GUI的请求,其中所述请求在402处被远程***114接收。替代地,用户102可以说出可以在音频回放装置104处检测为输入音频的语音命令,并且装置104可以产生音频数据,将所述音频数据发送到远程***114,并且远程***114可以使用ASR和NLU处理技术来确定所述音频数据对应于来自用户102的形成装置群的请求,所述装置群例如为包括所有用户102的装置104且被命名为“Everywhere”群的群。在下文更详细地描述以此方式处理语音命令。在任一情况下,在402处接收到的形成装置群的请求触发上述第二阶段吞吐量测试。
在404处,可以将个别得分指派给(或进行确定)待形成的群中的个别音频回放装置104。这可以由远程***114的群形成模块315、由环境106中的装置104或部分地由远程***114且部分地由装置104执行。在图4中示出的直观图说明了示例,其中对于待形成的群中的所有装置104,将第一得分“5”指派给装置A(第一音频回放装置104(1)),并且将第二得分“8”指派给装置B(第二音频回放装置104(2)),依此类推。在404处指派的得分大体上指示担当用于将音频分发到群中的一个或多个从属装置的主装置的相应音频回放装置104(或装置A-D)的性能水平。因此,所述评分可以基于指示作为音频分发主装置的可能的性能水平的任何合适的因素或度量。指示作为音频分发主装置的装置104的性能水平的一个示例性度量是环境106中的装置104与WAP 117之间的信号强度128值(例如,RSSI值)。可能会影响在404处指派的得分的其他因素包括(不限于):个别音频回放装置104的装置类型、在404处指派得分时个别装置104的无线无线电当前是在传输数据还是接收数据(例如,附接有外部无线装置(例如,蓝牙遥控器、***装置等)的无线电)、其他信号强度指示符(例如,到远程***114的信号强度、调制和编码方案(MCS)水平等)等。举例来说,环境106中的装置104可以是具有不同的无线传输/接收能力的不同类型的装置。因此,远程***114可以维持无线能力或无线性能水平到装置类型的映射,使得总得分可以基于所讨论的装置104的装置类型或至少根据所述装置类型而增加权重或减小权重。在另一示例中,具有短程无线无线电(例如,蓝牙无线电)的装置104可以出于各种原因连接到环境中的其他无线装置,例如计算装置122。在这些情形下,装置104的无线电的传输/接收资源可能被消耗此类资源的其他装置122部分消耗。因此,具有“使用中的”无线无线电的装置104可能没有其无线电当前未同样处于“使用中”的另一装置104(其他一切都一样)那么适合于担当音频分发主装置,并且对于具有使用中的无线电的装置104,得分可以基于此准则或至少减小权重。各种其他因素和度量可能会影响在404处指派给特定装置104的总得分,并且这些示例不是限制性的。
在406处,评估相对得分(例如,确定第一得分大于第二得分等)以确定吞吐量测试次序126。再次地,在406处确定吞吐量测试次序126可以由远程***114、由环境106中的装置104或其组合执行。如果远程***114确定了吞吐量测试次序126,那么远程***114可以将消息传输到待形成的群中的装置104,所述消息包括通过在404处指派的得分进行排序的装置104列表(例如,按照吞吐量测试次序126)。在任何情况下,吞吐量测试次序126中的第一装置104可以包括最高得分的装置(在此示例中是得到了群中的最高得分的得分9的装置C)。可以将任何合适的装置104选择为测试主装置,如本文描述,并且测试主装置可以根据吞吐量测试次序126来执行吞吐量测试。
测试主装置可以是负责从第二阶段吞吐量测试收集测试结果的装置104,并且在408处,所述测试主装置可以启动定时器,所述定时器将运行预定时间周期(例如,20秒)。在410处,对于吞吐量测试的第一次迭代,测试主装置起始第一轮的吞吐量测试,并且在412处,可以执行所述第一轮。执行个别轮的吞吐量测试可以包括在图4的框412内示出的操作的子集。
在412(1)处,对于吞吐量测试的第一次迭代,可以将排好名的装置104的列表中的第一装置104(例如,装置C)指定为第一候选音频分发主装置。候选音频分发主装置被配置成将测试数据分发到一个或多个候选从属装置,并且在多个候选从属装置的情况下,将测试数据同时分发到从属装置。而且在412(1)处,可以将排序列表中的其余的装置104(例如,装置A、B和D)指定为将从音频分发主装置接收测试数据的第一候选从属装置。
在412(2)处,个别的候选从属装置(例如,装置A、B和D)在基本上相同的时间从指定的候选主装置(例如,装置C)接收一定量的测试数据。举例来说,可以使从属装置的内部时钟同步,并且个别的候选从属装置可以在同一共同时间从指定的候选主装置获取所述量的数据。测试主装置可以在框412(2)处通过经由控制平面将命令消息发送到个别候选从属装置来起始此数据接收,所述命令消息指令给定的候选从属装置开始作为从属装置进行吞吐量测试并且在第一轮的吞吐量测试中从所述指定的候选音频分发主装置(例如,装置C)获取测试数据。个别的候选从属装置在412(2)处接收的数据量是可配置的,并且可以是任何数据量,例如大约一兆字节(MB)的量。所述测试数据可以是任何合适的数据,例如存储在装置104的本地存储器中的样本音频数据,或者经由计算机网络116从内容源119检索的样本音频数据。
在412(3)处,个别的候选从属装置基于从属装置在一定时间周期期间从指定的主装置接收的数据量来确定数据吞吐量值。因此,可以按照任何合适的测量单位,例如兆位/秒(Mbps),来测量数据吞吐量值。
在412(4)处,个别的从属装置将所测得的数据吞吐量值发送到测试主装置(例如,装置C),并且完成第一轮的吞吐量测试。替代地,测试主装置可以在从个别的候选从属装置接收到数据(例如,时间戳)之后确定数据吞吐量值。如果针对任何给定的候选从属装置的测试无法完成(例如,接收所述量的数据的超时周期到期),那么可以报告所讨论的候选从属装置处的吞吐量结果是失败的,并且可以在发送到测试主装置的消息中指定失败的原因(例如,超时)。
在414处,测试主装置可以确定自从在408处启动定时器以来是否已经流逝预定时间周期。如果在414处尚未流逝预定时间周期,那么吞吐量测试通过在410处递增轮而迭代到下一轮,并且前进到412,其中可以执行第二轮的吞吐量测试。在第二轮的吞吐量测试中,可以在412(1)处将列表中的下一个装置指定为第二候选音频分发主装置。在此示例中,所述列表中的第二装置是装置B,因此在第二轮的吞吐量测试中将把装置B指定为第二候选音频分发主装置,并且在412(1)处将其余装置(例如,装置A、装置C和装置D)指定为第二候选从属装置。测试主装置于在第一轮中从第一候选从属装置接收到所有测试结果之后可以将命令消息发送到所述列表中的下一个装置(例如,装置B),从而指令装置B担当第二候选音频分发主装置,并且其后可以针对第二群配置执行框412(2)-(4),在所述第二群配置中,装置B是第二候选音频分发主装置并且其余装置(例如,装置A、装置C和装置D)是第二候选从属装置。
在完成个别轮之后,测试主装置可以在414处检查预定时间周期的流逝,并且在预定时间周期到期之后,过程400可以前进到图5中的过程500的框502,如通过图4和图5中的换页参考“A”所示。因此,对于较小的装置104的群(例如,两个装置104的群),可以在预定时间周期内执行所有轮的吞吐量测试。然而,对于较大的装置群(例如,十个或更多装置104的群),可能会在执行所有轮的吞吐量测试之前流逝了预定时间周期,这与将每一和每个装置104作为候选音频分发主装置进行测试的现有方法相比减小了吞吐量测试的时延。将了解,可以在没有框404处的得分指派的情况下实施过程400,并且可以通过另一技术例如基于装置标识符107(例如,低到高或高到低的装置标识符107)或任何其他合适的排序方案来确定吞吐量测试次序126。
在502处,测试主装置可以收集在预定时间周期内完成的测试结果,并且可以确定在所述时间周期内通过了吞吐量测试的候选群配置。可以通过将给定轮的吞吐量测试的每个数据吞吐量值与预定义阈值(例如,数据吞吐量阈值)进行比较来确定通过吞吐量测试。举例来说,考虑第一轮的吞吐量测试,可以将预定义阈值(例如,512千比特/秒(kbps)的阈值)与由个别从属装置在过程400的412(3)处所测得的个别数据吞吐量值进行比较。如果在第一轮期间所测得的所有数据吞吐量值都满足或超过预定义阈值,那么可以确定具有将装置C指定为候选音频分发主装置的第一群配置的第1轮已经通过吞吐量测试。可以通过此方式评估在所述时间周期内完成的个别轮的吞吐量测试。在图5的框502旁边的直观图说明了示例性情景,其中第1轮和第3轮的吞吐量测试通过了,而第2轮未通过,并且因为在执行第4轮之前预定时间周期已流逝,所以从未完成第4轮。
在504处,可以确定与吞吐量测试的通过的轮相对应的个别群配置的总的吞吐量测试得分(例如,从0到100的得分)。继续以上示例,对应于第1轮(或“群1”)的第一群配置基于第1轮的吞吐量测试的测试结果而得到吞吐量测试得分97。在第1轮中,装置C担当第一候选音频分发主装置。同时,对应于第3轮(或“群3”)的第二群配置基于第3轮的吞吐量测试的测试结果而得到吞吐量测试得分84。在第3轮中,装置A担当第三候选音频分发主装置。
在508处,可以基于在504处确定的最高吞吐量测试得分来选择音频分发主装置。继续以上示例,可以将装置C选择为音频分发主装置(即,群1配置),因为使装置C担当候选音频分发主装置的群1配置得到了比使装置A担当候选音频分发主装置的另一通过的群配置(群3)更高的吞吐量测试得分。
在510处,假设至少一个群配置通过了吞吐量测试(意味着至少一个装置104能够担当合适的音频分发主装置),可以将群信息传输到所述群中的个别装置104,从而告知装置104其为具有特定名称(例如,“Everywhere”)的群的部分,其中成员包括自身和所述群中的其他装置104。在508处选择音频分发主装置以及在510处传输群信息可以例如通过以下操作在本地执行:测试主装置选择音频分发主装置并且经由LAN将群信息传输到群中的其他装置104;远程***114经由网络116将消息发送到装置104;或部分由远程***114发送且部分由环境106中的装置104发送。在一些实施方案中,群316还可以存留于远程***114的存储装置306中。在一些实施方案中,在计算装置122上执行的客户端侧应用可以基于吞吐量测试的结果而向用户102呈现“成功”或“失败”的指示,从而向用户102告知成功地形成群,或者在没有一轮在规定的时间周期内通过吞吐量测试的情况下,向用户102告知未成功地形成群。
一旦成功地形成群(例如,具有名称“Everywhere”),用户102便可以说出“Everywhere播放Joe Songbird的音乐”的语音命令。响应于此类语音命令,远程***114可以将播放音乐命令发送到环境106中的装置104。此接收装置有时称为“主接收器”并且可以使用任何合适的选择算法进行选择。主接收器在接收到命令之后可以解析所述命令以确定对应于Everywhere群的群316标识符与播放音乐命令相关联。响应于在所接收的命令中识别出群316标识符,主接收器可以将所述命令转发到群316的音频分发主装置,所述音频分发主装置已经在508处被选定,并且在现行示例中,所述音频分发主装置是装置C。音频分发主装置可以解析所述命令以便链接(例如,统一资源定位符(URL))到与播放音乐命令相关联的音频文件513,并且可以经由所述链接来检索音频文件513。所述音频分发主装置随后可以将音频文件513分发到Everywhere群316中的从属装置,以便由新形成的Everywhere群中的装置104(例如,装置A-D)同步地输出对应于音频文件513的音频内容(例如,声波)。音频文件513可以对应于艺术家Joe Songbird的歌曲,并且可以从内容源119直接获得音频文件513,或者经由远程***114或经由环境106的LAN间接获得所述音频文件。如将在下文描述,远程***114可以利用ASR和NLU技术来确定用户102已经请求在被称为“Everywhere”群的所形成的装置群上回放Joe Songbird的音乐。
在514处,远程***114可以监视触发事件的发生。如果在514处未发生触发事件,那么不执行进一步的吞吐量测试,并且过程500通过遵循来自514的“否”路线进行迭代。然而,一旦在514处发生触发事件,过程500便沿着来自514的“是”路线前进到过程400的框404,以便将得分重新指派给群(例如,“Everywhere”群)中的音频回放装置104,并且再次通过上文描述的方式执行过程400和过程500。以此方式,可以在已经成功地形成群之后“在后台”执行额外的吞吐量测试,以便确定是否存在比在508处选定的音频分发主装置更好的音频分发主装置。举例来说,当网络状况改变时,装置C(Everywhere群的最初选定的主装置)可能不再是最佳的主装置,这由过程400和过程500组合地确定。
在514处评估的触发可以包括(不限于):规定的时间周期、群中的装置104已经移动到所述环境内的新的位置的指示、先前选定的音频分发主装置已经失去连接性的指示、群中的个别装置104的连续信号强度128值之间的差值超过预定义阈值、向用户102注册的新的装置104已经在线(例如,已经开启电源)的指示,和/或类似的触发事件。例如,时间周期可以允许按照某一间隔在后台周期性地执行吞吐量测试,所述间隔的频率足够低以便不会消耗不必要的资源,而是处于可能跟得上改变的网络状况的大多数例子的频率。作为另一示例,装置104可以包括周期性地收集数据的传感器,并且可以将所收集的数据传输到远程***114,并且对所收集的数据进行分析以确定装置104是否已经在环境106内移动位置。例如,可以从装置104上的摄像机收集图像数据,并且对所述图像数据进行分析以确定装置104的改变的视角等。作为另一示例,装置104可以被配置成周期性地传输信号强度128值,并且远程***114可以分析这些信号强度128值以确定到WAP 117的信号强度128是否已经在与给定装置104相关联的多个连续的测量期间改变了阈值量以上。
图6是用于针对将形成为用于音频的同步输出的装置104的群的音频回放装置104的群来执行吞吐量测试的说明性过程600的直观流程图。作为图4的过程400的替代方案,图6说明选择用于指定待形成的群的音频分发主装置的第一通过的群配置并且在基于通过了个别轮的吞吐量测试而识别出合适的音频分发主装置的情况下放弃任何额外轮的吞吐量测试的示例性技术。
在602处,可以通过与在过程400的402处描述的请求类似的方式基于计算装置的用户输入而接收形成装置104的群的请求。
在604处,远程***114的发现模块312可以通过与在过程400的404处描述的得分指派类似的方式将得分指派给待形成的群中的个别音频回放装置104。
在606处,可以评估相对得分(例如,确定第一得分大于第二得分等)以确定吞吐量测试次序126。在606处确定的吞吐量测试次序126可以通过在604处指派的得分而依序列出装置104。
在610处,对于吞吐量测试的第一次迭代,可以指定测试主装置,并且所述测试主装置起始第一轮的吞吐量测试,并且在612处,可以执行所述第一轮。执行个别轮的吞吐量测试可以包括在图6的框612内示出的操作612(1)-(4)的子集,这类似于图4的过程400的操作412(1)-(4)的子集,并且因此将不在这里更详细地描述。
于在612处完成第一轮的吞吐量测试之后,可以在614处确定所述个别轮是否通过吞吐量测试。614处的此确定可以基于通过与上文在图5的过程500的框502处所描述的方式类似的方式将在完成的轮的吞吐量测试期间由个别从属装置在框612(3)处所测得的个别数据吞吐量值与预定义阈值(例如,数据吞吐量阈值)进行比较。举例来说,考虑第一轮的吞吐量测试,可以将预定义阈值(例如,512kbps的阈值)与由个别候选从属装置在过程600的612(3)处所测得的个别数据吞吐量值进行比较,并且如果在所述第一轮期间所测得的所有数据吞吐量值都满足或超过预定义阈值,那么可以在614处确定具有将装置C指定为候选音频分发主装置的第一群配置的第1轮已经通过吞吐量测试。过程600随后可以沿着来自614的“是”路线前进到图5的过程500的框508,如图5和图6中的换页参考“B”所示,并且可以执行过程500的框508、框510和框514。也就是说,测试主装置可以确定(或测试主装置可以将测试结果发送到远程***114以确定)将装置104(例如,装置C)指定为候选音频分发主装置的群配置通过了吞吐量测试。框508因此可以包括对于通过了吞吐量测试的第一群配置,将装置C选择为音频分发主装置。
如果在614处确定其中装置C担当候选音频分发主装置的第一群配置未通过第一轮的吞吐量测试,那么过程600沿着来自614的“否”路线前进到610,其中吞吐量测试递增到下一轮,并且前进到612和614,直到识别出通过的群配置为止,或直到所有群配置都未通过为止。在一些配置中,参考图4所描述的定时器技术可以与图6的技术组合。再次地,可以在没有框604处的得分指派的情况下实施过程600,例如通过使用不同的排序方案(例如,基于待形成的群中的装置104的装置标识符107进行排序)按照吞吐量测试次序126将装置104排序来实施所述过程。
图7是音频回放装置104的群316的混合拓扑700以及用户102向所述群316中的音频回放装置104(4)发出语音命令的示例的示意图。如本文所使用的“混合拓扑”是指例如装置104的装置和本地WAP 117的拓扑,其中至少一个从属装置104直接连接到担当软WAP的音频分发主装置(例如,图7的示例中的装置C),并且至少一个另一从属装置104直接连接到本地WAP 117。混合拓扑700表示音频回放装置104可以按其布置以便在群316同步地输出音频的过程中分发音频数据的多个可能的拓扑中的一者。将了解,本文描述的技术和***不限于使用图7的混合拓扑700,而是,混合拓扑700是装置104可以按其配置的任选的拓扑。使用混合拓扑700来说明从属装置在经由本地WAP 117接收音频数据与经由群316中的装置104中的担当软WAP的一个装置接收音频数据之间动态地切换的以下示例性技术。图7示出了其中装置C(或装置104(3))已经被配置成担当混合拓扑700中的软WAP的示例。如本文所使用,“软WAP”是指具有以下双重功能性的音频回放装置104:(i)用于输出音频的功能性;以及(ii)用于通过在不通过环境106中的本地WAP 117来路由去往和来自环境106中的其他装置104中的一者或多者的消息和/或数据(例如,音频数据)的情况下直接发送和接收所述消息和/或数据而作为环境106中的无线接入点进行操作的功能性。还可以将所述软WAP界定为与环境106中的本地WAP 117不同的WAP,所述软WAP可用于替代或补充用于发送/接收去往/来自环境106中的装置104中的一者或多者的消息的本地WAP 117。还可以将软WAP临时地指定为服务于环境106中的其他装置104中的一者或多者的无线接入点,或永久地指定为服务于一个或多个其他装置106的无线接入点。当装置C被配置成担当软WAP时,还可以将装置C指定为音频分发主装置,并且如图7中所示,装置C可以直接连接到环境106中的本地WAP117。同时,从属装置104中的一者或多者(例如,图7中的装置B和装置D)可以直接连接到担当软WAP的音频分发主装置或装置C。将环境106中的装置104指定为软WAP可以基于任何合适的因素或度量,包括(例如)装置104与本地WAP 117之间的信号强度测量(例如,RSSI值)和/或环境106中的相应的装置104对之间的信号强度测量。
当用户102通过所述用户说出语音命令“Everywhere播放Joe Songbird”而请求经由群316进行音频回放时,如图7中所示,接收到输入音频的装置104(4)将音频数据发送到远程***114,所述远程***处理所述音频数据以确定用户102正在请求在名称为“Everywhere”的群316上播放艺术家Joe Songbird的音乐,并且远程***114将命令发送到群316中的主接收器,所述命令指令音频分发主装置104(3)从内容源119获得与艺术家JoeSongbird的歌曲相对应的音频文件。如果主接收器是不同于音频分发主装置104(3)的装置,那么主接收器将所述命令转发到音频分发主装置104(3),并且音频分发主装置104(3)基于在所述命令中指定的到由内容源119维护的音频文件的链接(例如,URL)而获得所述音频文件。在经由本地WAP 117在装置C处接收到音频文件之后,担当从属装置B和装置D的软WAP的音频分发主装置(装置C)使用多播协议(UDP)与重传将所述音频文件直接发送到装置B和装置D。因此,担当软WAP和音频分发主装置的装置C以预定的数据速率传输或广播含有音频文件的至少一部分的多播分组。作为多播群的成员的从属装置B和装置D被配置成接收此类多播数据分组。如果从属装置B或装置D未接收到起初传输的多播分组,那么担当软AP的装置C可以将另一多播分组重新传输到多播群的成员。为了确定在从属装置处成功地接收多播分组,从属装置可以于在某一时间周期内未接收到多播分组的情况下在所述时间周期之后“ping”主装置,或者可以被配置成在接收到之后向软WAP发送确认,使得音频分发主装置可以在其未在规定的时间周期内从所有从属装置接收到确认的情况下重新传输所述多播分组。
相比而言,图7还示出了从属装置(例如,装置A)可以直接连接到本地WAP 117,正如装置C(或音频分发主装置和软WAP)可以直接连接到本地WAP 117一样。以此方式,从从属装置A的角度来看,装置C不担当软WAP,而是,装置C可以使用单播(TCP)协议经由本地WAP117将音频文件传输到从属装置A。主要在较大的装置群中实现在纯软WAP拓扑中或在混合拓扑700中将装置104用作软WAP的益处,这是因为作为针对大群中的每个从属装置104传输一个单播包的替代,担当软WAP的音频分发主装置可以将单个多播分组传输到许多装置,进而减少了音频分发主装置处的用于尤其是在较大的装置104的群中的音频的同步群回放的带宽消耗。
也就是说,存在让音频分发主装置担当软WAP并非有益的情形,例如当群中的许多(或所有)从属装置104切换为个人模式下的音频回放时。也就是说,如果用户102或许多用户请求在每个装置104上依靠其个人能力对不同歌曲的音频回放,那么每个从属装置直接从担当软WAP的主装置接收音频数据,这可能会使软WAP过载,从而导致音频回放的明显的时延,例如人耳可感知的音频回放的晃动。可以基于来自用户的语音命令,例如,“Everywhere播放Joe Songbird”的第一语音命令和紧接的“在装置D上播放JillMusician”的第二语音命令,而触发在群模式与个人模式之间切换。因此,将在下文更详细地论述对语音命令的处理。
再次参看在图2中示出的音频回放装置104,装置104可以任选地包括显示器212,所述显示器可以任选地包括触摸界面214。或者装置104可以是“无领导”的,并且可以主要依赖于用于输入的说出的命令。作为向用户102指示在形成群的请求之后已经成功地形成群的方式,装置104可以配置有视觉指示器,例如发光二极管(LED)或类似部件(未说明),所述视觉指示器可以改变色彩、闪光或以其他方式通过装置104提供视觉指示。装置104还可以任选地包括输入/输出装置接口208,所述输入/输出装置接口连接到多种部件,例如音频输出部件,例如扬声器216、有线耳机或无线耳机(未说明)或能够输出音频的其他部件。装置104还可以任选地包括音频捕获部件。所述音频捕获部件可以是(例如)麦克风218或麦克风阵列、有线耳机或无线耳机(未说明)等。麦克风218可以被配置成捕获音频。如果包括麦克风阵列,那么可以通过声学定位基于由所述阵列的不同麦克风捕获的声音之间的时间和振幅差异来执行到声音的起始点的近似距离。装置104(使用麦克风218、任选的唤醒字检测模块220、任选的ASR模块250等)可以被配置成确定与检测到的音频相对应的音频数据。装置104(使用输入/输出装置接口208、任选的天线222等)还可以被配置成将所述音频数据传输到远程***114以供进一步处理,或使用例如唤醒字检测模块220的内部部件来处理所述数据。
举例来说,经由天线,输入/输出装置接口208可以经由无线局域网(WLAN)(例如,WiFi)无线电、蓝牙和/或无线网络无线电而连接到一个或多个网络116的网络装置,所述无线网络无线电例如为能够与例如长期演进(LTE)网络、WiMAX网络、3G网络等的无线通信网络进行通信的无线电。还可以支持例如以太网的有线连接。话音处理***可以通过网络116跨网络环境而分布。
装置104和/或远程计算装置120可以包括ASR模块250。装置104中的ASR模块250(其仅为任选的并且可以从装置104省略)可能具有有限或扩展的能力。ASR模块250可以包括语言模型,并且ASR模块250执行自动话音辨识过程。如果包括有限的话音辨识,那么ASR模块250可以被配置成识别有限数目的词语,例如由装置检测到的关键词,而扩展的话音辨识可以被配置成辨识范围大得多的词语。
装置104和/或远程计算装置120可以包括有限或扩展的NLU模块260。装置104中的NLU模块260(其仅为任选的并且可以从装置104省略)可能具有有限或扩展的能力。NLU模块260可以包括名称实体辨识模块、意图分类模块和/或其他部件。NLU模块260还可以包括所存储的知识库和/或实体库,或者可以单独地定位那些存储装置。
装置104和/或远程计算装置120还可以包括被配置成执行与说出的命令相关联的命令/功能的任选的命令处理器290。现在转向参考图8,其中说明了可以如何处理说出的话语从而允许***捕获并执行用户说出的命令的概念图,所述命令例如为可以遵循唤醒字的说出的命令。所说明的各种部件可以位于相同或不同的物理装置上。在图8中说明的各种部件之间的通信可以直接进行或者跨网络116进行。音频捕获部件,例如装置104的麦克风218,捕获与说出的话语相对应的音频800。装置104随后使用唤醒字检测模块220来处理音频800或与音频800相对应的音频数据,以确定在音频800中是否检测到关键字(例如,唤醒字)。在检测到唤醒字之后,装置将与话语(有时称为“话音数据”802)相对应的音频数据802发送到包括ASR模块250的远程***114。可以从位于装置104上的任选的声学前端(AFE)856输出音频数据802,之后进行传输。或者音频数据802可以呈供远程AFE 856处理的不同的形式,所述远程AFE 856例如为与远程***114的ASR模块250一起定位的AFE 856。
唤醒字检测模块220与装置104的其他部件(例如,麦克风218)联合工作以检测音频800中的关键词。举例来说,装置104可以将音频800转换为音频数据,并且使用唤醒字检测模块220处理所述音频数据以确定是否检测到话音,并且如果检测到话音,那么确定包括话音的音频数据是否与对应于特定关键字的音频签名和/或模型匹配。
装置104可以使用各种技术来确定音频数据是否包括话音。一些实施方案可以应用语音活动检测(VAD)技术。此类技术可以基于音频输入的各个定量方面来确定在音频输入中是否存在话音,所述定量方面例如为音频输入的一个或多个帧之间的频谱斜面;一个或多个频谱带中的音频输入的能量水平;一个或多个频谱带中的音频输入的信噪比;或其他定量方面。在其他实施方案中,装置104可以实施被配置成将话音与背景噪声区分开的有限分类器。可以通过例如线性分类器、支持向量机和决策树的技术来实施所述分类器。在其他实施方案中,可以应用隐马尔可夫模型(HMM)或高斯混合模型(GMM)技术以将音频输入与话音存储装置中的一个或多个声学模型进行比较,所述声学模型可以包括与话音、噪声(例如,环境噪声或背景噪声)或静默相对应的模型。可以使用其他技术来确定在音频输入中是否存在话音。
一旦在由装置104接收的音频中检测到话音(或与话音检测分开地检测到话音),装置104便可以使用唤醒字检测模块220来执行唤醒字检测,以确定用户何时想要向装置104说出命令。此过程还可以称为关键字检测,其中唤醒字是关键字的特定示例。具体来说,可以在不执行语言分析、文本分析或语义分析的情况下执行关键字检测。替代地,可以对传入的音频(或音频数据)进行分析以确定音频的特定特性是否与预先配置的声学波形、音频签名或其他数据匹配,从而确定传入的音频是否与对应于关键字的所存储的音频数据“匹配”。
因此,唤醒字检测模块220可以将音频数据与所存储的模型或数据进行比较以检测唤醒字。一种用于唤醒字检测的方法应用了通用大词汇表连续话音辨识(LVCSR)***来解码音频信号,其中在所得的点阵或模糊网络中执行唤醒字搜索。LVCSR解码可能需要相对高的计算资源。另一种用于发现唤醒字的方法分别针对每个关键唤醒字词语和非唤醒字话音信号建立隐马尔可夫模型(HMM)。非唤醒字话音包括其他说出的词语、背景噪声等。可以存在被建立成对非唤醒字话音特性进行建模的一个或多个HMM,其称为填充模型。可以使用维特比解码来搜索解码图中的最佳路径,并且可以进一步处理解码输出以作出关键字存在的决策。可以将此方法扩展为通过并入混合DNN-HMM解码框架而包括区分信息。在另一实施方案中,可以在深度神经网络(DNN)/递归神经网络(RNN)结构上直接建立唤醒字发现***,而不涉及HMM。此类***可以通过在DNN的背景窗口内堆叠帧或使用RNN来估计具有背景信息的唤醒字的后段。可以应用后继的后段阈值调谐或平滑来作出决策。还可以使用用于检测唤醒字的其他技术,例如在本领域中已知的技术。
一旦检测到唤醒字,本地装置104便可以“醒来”且开始将与输入音频800相对应的音频数据802传输到远程***114进行话音处理。可以将与那个音频相对应的音频数据发送到远程***114以便路由到接收方装置,或者可以发送到远程***114进行话音处理,以便解译所包括的话音(用于实现语音通信和/或用于执行话音中的命令)。音频数据802可以包括与唤醒字相对应的数据,或者本地装置104可以在移除音频数据的与唤醒字相对应的部分之后发送所述音频数据。此外,本地装置104可以在检测到高于阈值的话音/说出的音频之后“醒来”,如本文描述。在远程***114接收之后,ASR模块250可以将音频数据802转换为文本。ASR将音频数据转录为表示在音频数据802中含有的话音的词语的文本数据。其他部件随后可以使用所述文本数据以用于各种目的,例如执行***命令、输入数据等。可以将音频数据中的说出的话语输入到被配置成执行ASR的处理器,所述ASR随后基于话语与存储在ASR模型知识库(ASR模型存储装置852)中的预先确立的语言模型854之间的相似度来解译所述话语。举例来说,ASR过程可以将输入音频数据与声音(例如,子词单元或音素)的模型和声音序列进行比较,以识别与音频数据的话语中说出的声音的序列匹配的词语。
可以向可以解译说出的话语的不同方式(例如,不同的假设)单独地指派表示特定组词语与话语中说出的词语匹配的可能性的概率或置信度得分。所述置信度得分可以基于若干因素,包括(例如)话语中的声音与语言声音的模型(例如,存储在ASR模型存储装置852中的声学模型853)的相似度,以及将在句子中的特定位置处包括与所述声音匹配的特定词语(例如,使用语言或语法模型)的可能性。因此,可以使说出的话语的个别的潜在的文本解译(假设)与对应的置信度得分相关联。基于所考虑的因素和所指派的置信度得分,ASR过程250输出在音频数据中辨识出的最可能的文本。ASR过程还可以输出呈点阵或N-最佳列表的形式的多个假设,其中个别假设对应于置信度得分或其他得分(例如,概率得分等)。
执行ASR处理的装置可以包括声学前端(AFE)856和话音辨识引擎858。声学前端(AFE)856将来自麦克风218的音频数据转变为供话音辨识引擎858处理的数据。话音辨识引擎858将话音辨识数据与声学模型853、语言模型854和其他数据模型以及用于辨识在音频数据中传达的话音的信息进行比较。AFE 856可以减少音频数据中的噪声并且将数字化的音频数据分割为表示多个时间间隔的帧,在所述时间间隔期间,AFE 856确定表示音频数据的质量的若干被称为特征的值,以及表示帧内的音频数据的特征/质量的一组被称为特征向量的那些值。如在本领域中已知的,可以确定许多不同的特征,并且每个特征表示对于ASR处理可能有用的音频的某一质量。AFE可以使用若干方法来处理音频数据,例如梅尔频率倒谱系数(MFCC)、感知线性预测(PLP)技术、神经网络特征向量技术、线性判别分析、半关联协方差矩阵或本领域技术人员已知的其他方法。
话音辨识引擎858可以参考存储在话音/模型存储装置(852)中的信息来处理来自AFE 856的输出。替代地,经过后前端处理的数据(例如,特征向量)可以由装置接收,从而从除了内部AFE之外的另一源执行ASR处理。举例来说,装置104可以将音频数据处理为特征向量(例如,使用装置内置的AFE 856),并且跨越网络116将那个信息传输到服务器进行ASR处理。特征向量可以在被编码的情况下到达远程***114,在那种情况下,所述特征向量可以经过解码,之后由执行话音辨识引擎858的处理器处理。
话音辨识引擎858尝试使所接收的特征向量与在所存储的声学模型853和语言模型854中已知的语言音素和词语匹配。话音辨识引擎858基于声学信息和语言信息来计算特征向量的辨识得分。可以使用声学信息来计算声学得分,所述声学得分表示由一组特征向量表示的预期声音与语言音素匹配的可能性。可以使用语言信息通过考虑在彼此的背景中使用什么声音和/或词语来调整声学得分,从而提高了ASR处理将输出在语法上有意义的话音结果的可能性。所使用的特定模型可以是通用模型,或者可以是与特定领域(例如,音乐、银行等)相对应的模型。
话音辨识引擎858可以使用若干技术例如使用隐马尔可夫模型(HMM)来使特征向量与音素匹配,从而确定特征向量可以与音素匹配的概率。所接收的声音可以表示为HMM的状态之间的路径,并且多个路径可以表示同一声音的多个可能的文本匹配。
在ASR处理之后,话音辨识引擎858可以将ASR结果发送到其他处理部件,所述其他处理部件可以是在执行ASR的装置本地和/或跨越网络116而分布。举例来说,可以将呈话音的单个文本表示的形式的ASR结果、包括多个假设和相应得分的N-最佳列表、点阵等发送到远程***114进行自然语言理解(NLU)处理,例如将文本转换为命令以供装置104、远程***114或另一装置(例如,运行与搜索引擎类似的特定应用的服务器等)执行。
执行NLU处理260(例如,服务器120)的装置可以包括各种部件,包括潜在专用的处理器、存储器、存储装置等。如图8中所示,NLU部件260可以包括辨识器863,所述辨识器可以包括命名实体辨识(NER)模块862,可以使用所述模块来识别与可以是可以由***辨识的命名实体相对应的查询文本的部分。被称为命名实体解析的下游过程实际上将文本部分链接到***已知的实际特定实体。为了执行命名实体解析,所述***可以利用存储在实体库存储装置882中的地名录信息(884a-884n)。地名录信息可以用于实体解析,例如使ASR结果与不同的实体(例如,歌曲名、联系人姓名等)匹配。可以将地名录链接到用户(例如,特定地名录可以与特定用户的音乐收藏相关联)、链接到特定领域(例如,购物),或者可以通过多种其他方式进行组织。
一般来说,NLU过程取得文本输入(例如,由ASR 250基于话语输入音频800处理过的文本输入)并且尝试作出文本的语义解译。也就是说,NLU过程基于个别词语来确定文本背后的含义并且随后实施那个含义。NLU处理260解译文本字符串以从用户得到意图或期望的动作,以及文本中的允许装置(例如,装置104)完成那个动作的相关几条信息。举例来说,如果使用ASR 250处理说出的话语并且输出文本“Everywhere播放Joe Songbird”,那么NLU过程可以确定用户希望让作为名为“Everywhere”的群316的成员的装置104的群按照同步的方式输出艺术家“Joe Songbird”的音乐的音频。
NLU可以处理与相同的话语相关的若干文本输入。举例来说,如果ASR 250输出N个文本段(作为N-最佳列表的部分),那么NLU可以处理所有N个输出以获得NLU结果。
如将在下文进一步论述,NLU过程可以被配置成进行解析和标记以对文本进行注释作为NLU处理的部分。举例来说,对于文本“Everywhere播放Joe Songbird”,可以将“播放”标记为命令(以输出音频文件的音频)并且可以将“Joe Songbird”和“Everywhere”标记为与所述命令相关联的特定实体。此外,可以使用NLU过程例如使用知识库872来提供响应于查询的回答数据。例如,可以使用知识库872响应于比如“今天的天气怎么样?”的查询而经由装置104提供TTS响应,作为对用户102的音频输出。
为了正确地执行对话音输入的NLU处理,NLU过程260可以被配置成确定话语的“领域”,以便确定并缩小由端点装置(例如,远程***114或装置104)提供的哪些服务可能相关。举例来说,端点装置可以提供与电话服务、联系人列表服务、日历/时间安排服务、音乐播放器服务等的交互相关的服务。单个文本查询中的词语可以暗示一个以上服务,并且一些服务可以在功能上进行链接(例如,电话服务和日历服务可以利用来自联系人列表的数据)。
命名实体辨识(NER)模块862接收呈ASR结果的形式的查询并且尝试识别可以用于解释含义的相关语法和词汇信息。为此,NLU模块260可以开始于识别可能与所接收的查询相关的潜在领域。NLU存储装置873可以包括识别与特定装置相关联的领域的装置的数据库(874a-874n)。举例来说,装置104可以与音乐、电话、日历、联系人列表和装置专有通信的领域相关联,但不与视频领域相关联。另外,实体库可以包括关于特定装置上的特定服务的按照装置ID、用户ID或家庭ID或某一其他指示符编制索引的数据库条目。
在NLU处理中,领域可以表示具有共同主题的一组分立的活动,例如“购物”、“音乐”、“日历”等。因此,个别领域可以与特定辨识器863、语言模型和/或语法数据库(876a-876n)、特定组意图/动作(878a-878n)和特定个性化词汇(886)相关联。个别地名录(884a-884n)可以包括与特定用户和/或装置相关联的按照领域编制索引的词汇信息。举例来说,地名录A(884a)可以包括领域索引词汇信息886aa到886an。举例来说,用户的音乐领域词汇信息可能包括专辑标题、艺术家姓名和歌曲名,而用户的联系人列表词汇信息可能包括联系人姓名。因为每个用户的音乐收藏和联系人列表可能是不同的,所以此个性化信息提高了实体解析度。
如上文所述,在传统的NLU处理中,可以应用适用于个别的所识别的领域的规则、模型和信息来处理查询。举例来说,如果查询潜在地暗示通信和音乐,那么可以使用用于通信的语法模型和词汇信息基本上并行地对查询进行NLU处理,并且将使用用于音乐的语法模型和词汇信息来处理所述查询。可以对基于由个别组的模型产生的查询的响应进行评分,其中通常将来自所有应用的领域的总的最高排名的结果选择为正确结果。
意图分类(IC)模块864解析所述查询以确定个别所识别的领域的意图,其中所述意图对应于将要执行的响应于所述查询的动作。个别领域可以与链接到意图的词语的数据库(878a-878n)相关联。举例来说,音乐意图数据库可以将例如“安静”、“关闭音量”和“静音”链接到“静音”意图。IC模块864通过将查询中的词语与意图数据库878中的词语和短语进行比较来识别个别所识别的领域的潜在意图。传统上,使用一组规则或模板来执行IC模块864对意图的确定,相对于传入的文本处理所述一组规则或模板以识别匹配的意图。
为了产生特定解译的响应,NER 862应用与相应领域相关联的语法模型和词汇信息以实际上辨识出在查询文本中提及的一个或多个实体。以此方式,NER 862识别稍后的命令处理可能需要的“空档”(例如,查询文本中的特定词语)。依据NER 862的复杂性,还可以使用不同特异性水平的类型(例如,名词、地点、城市、艺术家姓名、歌曲名等)来标注每个空档。个别的语法模型876可以包括通常在关于特定领域的话音(即,通用术语)中发现的实体名称(例如,名词),而来自地名录884的词汇信息886可以根据用户和/或装置而个性化。例如,与购物领域相关联的语法模型可以包括在人讨论购物时通常所使用的词语的数据库。
使用将要填充的“空档”或“字段”将由IC模块864识别的意图链接到领域专有的语法框架(例如,包括于876中)。每个空档/字段对应于***认为与实体相对应的查询文本的一部分。举例来说,如果“播放音乐”是所识别的意图,那么语法(876)框架可以对应于例如“播放{艺术家姓名}”、“播放{专辑名}”、“播放{歌曲名}”、“播放{艺术家姓名}的{歌曲名}”等的句子结构。然而,为了使得解析更灵活,这些框架通常将不被结构化为句子,而是基于使空档与语法标记关联。
举例来说,NER模块862可以解析所述查询以基于语法规则和/或模型将词语识别为主语、宾语、动词、介词等,之后辨识命名实体。IC模块864可以使用所识别的动词来识别意图,NER模块862随后可以使用所述意图来识别框架。“播放”意图的框架可以指定适用于播放所识别的“宾语”和任何宾语修饰语(例如,介词短语)的空档/字段的列表,例如{艺术家姓名}、{专辑名}、{歌曲名}等。NER模块862随后搜索领域专有和个性化的词典中的对应的字段,从而尝试使查询中的被标记为语法宾语或宾语修饰语的词语和短语与在数据库中所识别的词语和短语匹配。
此过程包括语义标记,这是根据词语或词语组合的类型/语义含义对词语或词语组合的标记。可以使用试探语法规则来执行解析,或者可以使用例如隐马尔可夫模型、最大熵模型、对数线性模型、条件随机域(CRF)等的技术来构建NER模型。
例如,对“播放Joe Songbird的歌曲1”的查询可能被解析和标记为{动词}:“播放”,{宾语}:“歌曲1”,{宾语介词}:“通过”和{宾语修饰语}:“Joe Songbird”。在所述过程中的此时,基于与音乐领域相关联的词语数据库将“播放”识别为动词,IC模块864将确定所述音乐领域对应于“播放音乐”的意图。在此阶段,尚未确定“歌曲1”和“Joe Songbird”的含义,但基于语法规则和模型,可以确定这些短语的文本涉及查询的语法宾语(例如,实体)。
随后使用链接到所述意图的框架来确定应搜索什么数据库字段以确定这些短语的含义,例如搜索用户的公报以寻找与框架空档的相似点。因此,“播放音乐意图”的框架可能指示尝试基于{艺术家姓名}、{专辑名}和{歌曲名}来解析所识别的宾语,并且同一意图的另一框架可能指示尝试基于{艺术家姓名}来解析宾语修饰语,并且基于链接到所识别的{艺术家姓名}的{专辑名}和{歌曲名}来解析宾语。如果对地名录的搜索未使用地名录信息解析出空档/字段,那么NER模块862可以搜索与领域(在知识库872中)相关联的通用词语的数据库。因此,例如,如果查询是“播放Joe Songbird的歌曲”,那么在未能确定被称为“JoeSongbird”的“歌曲”的专辑名或歌曲名之后,NER部件862可以搜索领域词汇表以寻找词语“歌曲”。在替代方案中,可以在地名录信息之前检查通用词语,或者可以尝试以上两者,从而潜在地产生两个不同的结果。
可以标记NLU处理的结果以将含义归于查询。因此,例如,“播放Joe Songbird的歌曲1”可能产生以下结果:{领域}音乐,{意图}播放音乐,{艺术家姓名}“Joe Songbird”,{媒体类型}歌曲以及{歌曲标题}“歌曲1”。作为另一示例,“播放Joe Songbird的歌曲”可能产生:{领域}音乐,{意图}播放音乐,{艺术家姓名}“Joe Songbird”以及{媒体类型}歌曲。
随后可以将来自NLU处理的输出数据(其可以包括标记文本、命令等)发送到命令处理器290。可以基于NLU输出来确定目的地命令处理器290。举例来说,如果NLU输出包括播放音乐的命令,那么目的地命令处理器290可以是音乐播放应用,例如位于装置104上或音乐播放器具中的被配置成执行音乐播放命令的音乐播放应用。如果NLU输出包括搜索请求,那么目的地命令处理器290可以包括搜索引擎处理器,例如位于搜索服务器上的被配置成执行搜索命令的搜索引擎处理器。
现有的***的NLU操作可以采取多领域架构的形式。可以单独地构建每个领域(其可以包括界定例如音乐、书籍等的较大概念的一组意图和实体空档,以及用于执行例如NER、IC等各种NLU操作的例如训练模型等部件),并且在运行时操作期间NLU部件260可以使用所述领域,其中对文本(例如,从ASR部件250输出的文本)执行NLU操作。个别领域可以具有用于执行NLU操作的各种步骤的特殊配置的部件。
举例来说,在NLU***中,所述***可以包括由用于可以由所述***(或连接到所述***的其他装置)执行的意图/命令的多个领域组成的多领域架构,所述多个领域例如为音乐、视频、书籍和信息。所述***可以包括多个领域辨识器,其中个别领域可以包括其自身的辨识器863。个别辨识器可以包括各种NLU部件,例如NER部件862、IC模块864和例如实体解析器的其他部件,或其他部件。
举例来说,音乐领域辨识器863-A(领域A)可以具有NER部件862-A,所述NER部件识别什么空档(例如,输入文本的部分)可以对应于与那个领域相关的特定词语。所述词语可以对应于实体,例如(对于音乐领域)表演者、专辑名、歌曲名等。NER部件862可以使用机器学习模型,例如领域专有条件随机域(CRF),以识别对应于实体的部分以及识别什么类型的实体对应于文本部分。举例来说,对于文本“播放Joe Songbird的歌曲”,针对音乐领域而训练的NER 862-A可以辨识文本部分[Joe Songbird]对应于实体和艺术家姓名。音乐领域辨识器863-A还可以具有其自身的意图分类(IC)部件864-A,所述意图分类部件可以确定文本的意图(假设所述文本处于规定领域内)。IC部件可以使用模型,例如领域专有最大熵分类器,以识别文本的意图,其中所述意图是用户想要***执行的动作。为此,远程***计算装置120可以包括模型训练部件370。所述模型训练部件可以用于训练上文论述的分类器/机器学习模型。
如上文所述,可以在单个话音处理***中采用多个装置。在此类多装置***中,所述装置中的个别装置可以包括用于执行话音处理的不同方面的不同部件。所述多个装置可以包括重叠部件。如图2、图3和图8中说明的装置104和远程装置120的部件是示例性的,并且可以位于独立装置中,或者可以被整体或部分地包括为较大装置或***的部件,可以跨越网络或通过网络连接的多个装置而分布等。
图9是用于基于在用于音频回放的群模式或个人模式下进行操作的命令而在混合拓扑700中的软WAP与WAP之间动态地切换的说明性过程900的直观流程图。
在902处,音频回放装置104可以至少部分地基于环境106中的第一话语而接收第一命令。举例来说,用户102可以说出语音命令“Everywhere播放Joe Songbird”,并且装置D的麦克风218可以基于对应于话语的输入音频800而产生音频数据802,并且可以将音频数据802传输到远程***114以便处理所述语音命令。远程***114可以执行上文描述的各种ASR技术和NLU技术以由命令处理器290产生所述第一命令,所述第一命令可以特定于音乐领域或服务。参与处理来自用户102的话音并且产生第一命令的远程***114的部件可能不知晓命令的预期目标。举例来说,在以上示例中用户102想要借以播放音乐的预期目标是被称为“Everywhere”的群316。因此,远程***114的ASR和NLU部件可以处理音频800以确定Everywhere对应于输出音频数据的目标,但这些部件可能不知晓“Everywhere”是对应于单个装置104还是多个装置104(例如,群316)。负责经由网络116将所述第一命令路由到装置104的远程***114的部件可以参考客户注册表314,以通过群316标识符确定“Everywhere”对应于包括多个装置104的群316。已经确定装置104作为“Everywhere”群316的成员的装置104的此路由部件随后可以选择主接收器装置104,所述主接收器装置将在902处接收第一命令。因此,对应于主接收器的装置104可以在框902处接收所述第一命令。
所述主接收器可以是与音频分发主装置(例如,在以上示例中的装置C)不同的装置104。在此情景下,主接收器将命令转发到音频分发主装置,所述第一命令指令所述音频分发主装置获得与艺术家“Joe Songbird”相关联的音频文件,以便起始经由名为“Everywhere”的群对音频文件进行同步音频回放。在一些实施方案中,所述第一命令可以包括音频回放操作、对应于艺术家Joe Songbird的歌曲的第一内容标识符,以及与包括装置A-D的Everywhere群相关联的目标标识符。主接收器可以基于与所述命令中的Everywhere群相关联的所述目标标识符的存在而将所述命令转发到音频分发主装置。所述目标标识符向主接收器告知将要将Everywhere群中的装置置于“群模式”下,以便经由Everywhere群按照同步的方式回放音频。
作为“Everywhere”群的音频分发主装置的装置C接收所述命令(当所述装置是主接收器时在框902处直接从远程***114接收,或者另外从主接收器转发)。所述命令可以指令音频分发主装置从内容源检索第一音频文件905。在904处,音频分发主装置从内容源119且经由环境106中的WAP 117接收(例如,通过遵循所述第一命令中的链接)第一音频文件905。音频文件905对应于所述第一命令中的内容标识符。所述第一命令中的第一内容标识符可以是指向内容源119的链接(例如,统一资源定位符(URL)),将在所述内容源中获得音频文件905,并且音频分发主装置104可以使用所述链接来检索音频文件905。
在906处,装置群中的将参与音频文件905的同步音频回放的一个或多个从属装置从音频分发主装置(例如,装置C)接收第一音频文件905。如在图9的框906旁边的直观图中所示,利用例如在图7中示出的混合拓扑700的混合拓扑可以致使个别从属装置经由WAP117从音频分发主装置(例如,装置C)接收第一音频文件905。对于经由环境106中的WAP 117连接到装置C(音频分发主装置)的从属装置A来说就是这样。对于直接连接到担当软WAP的音频分发主装置(例如,装置C)的例如从属装置B和从属装置D的个别从属装置,那些从属装置B和从属装置D直接从音频分发主装置接收呈多播分组的形式的第一音频文件905,所述第一音频文件未经由WAP 117进行传输。
在908处,“Everywhere”群中的现在拥有第一音频文件905的装置104可以按照同步的方式输出第一音频文件905的音频。在继续过程900的其余框之前,描述对可能在框908处发生的音频的同步输出的简要描述。
一般来说,本文描述的音频回放装置104被配置成按照同步的方式输出音频;“同步”基本上是指在以下意义上基本上同步:两个音频回放装置104之间的音频输出不会不同步超过已知人耳可感知的阈值漂移量(由于相应的本地时钟在不同的频率下运行)。当装置104位于房屋的不同房间中时,人耳可感知约5000微秒或更大的阈值漂移,而当至少两个装置104位于同一房间中时,150微秒或更大的阈值漂移可能是人耳所可感知的。因此,如本文所使用,音频的同步输出可以是指在以下意义上基本上同步:同一音频文件的音频可以在基本上相同时间(例如,彼此在数毫秒或数微秒以内)在相应装置104处开始回放,并且装置104的本地时钟之间的相对时间偏移可以在音频回放的过程中漂移达预定量,以便视为维持“同步性”。通过以此方式维持同步性,可以使由于相应装置104之间的时序的略微偏差而引起的回声效应最小化,并且常常得以消除。
音频的同步输出开始于音频分发。例如,群316中的所有装置104可以接收同一音频文件。可以实施流式传输协议,这允许音频分发主装置将指令从属装置“在此时播放此音频文件”的消息发送到从属装置。音频分发主装置可以负责协调从内容源119到从属装置104的音频分发。
再参看图2,音频回放装置104可以任选地包括音频管线255和任选的时间同步模块265。音频管线255可以包括媒体播放器,所述媒体播放器被配置成经由远程***114从内容源119接收音频数据(例如,音频文件)并且解码传入的音频流。音频管线255可以还包括:混频器,所述混频器从混合音频创建单个音频流,例如混合有音乐音频文件的TTS响应;以及输出路径,所述输出路径提供音频输出处理,例如EQ等。
时间同步模块265被配置成使群316中的装置104和一个或多个其他装置104之间的时间同步。时间同步协议可以与音频***的其余部分分开运行,并且保持所有分组的装置104的音频管线255时钟同步。一个装置104可以担当时间主装置(通常不同的装置作为音频分发主装置)。时间主装置与从属装置交换时间戳信息,使得所有从属装置可以计算并校正自身与时间主装置之间的时间差(偏斜,偏移=d偏斜/dt)。时间同步建立了主装置与从属装置之间的共同时基。装置104具有它们自身的在略微不同的频率下运行的晶体振荡器。举例来说,相应装置104上的晶体可能会快或慢20PPM(例如,20μs每秒)。两个装置因此可以相差达40PPM。如果此40PPM未经校正,那么扬声器之间的相位相干性将仅在4秒内就偏离超过150μs,并且将在约2分钟内偏离超过5ms。
因此,可以测量时钟(偏斜)与偏斜随时间的相对改变(漂移)之间的相对偏移,并且所述相对偏移用于对音频速率重新取样以与主装置的音频回放速率匹配,进而校正相应的装置104时钟之间的差异。可以使用时间戳交换技术来测量跨越不同音频回放装置104的时钟的偏斜和漂移。时间主装置可以采用第一时间戳并且将其发送到从属装置,并且响应于第一时间戳到达从属装置,从属装置可以采用第二时间戳并且将其发送到时间主装置。响应于第二时间戳到达时间主装置,时间主装置可以采用第三时间戳。还可以使用其他方法,例如用户数据报协议(UDP)广播技术,其中在时间主装置(传出)侧和从属装置(传入)侧两者上都采用时间戳,同时还尝试使从主装置到从属装置的飞行时间最小化。另一种可能的技术是在Wi-Fi信标包中使用高解析度定时寄存器以使装置同步(例如,同步于WAP 117的Wi-Fi信标,或同步于指定的软WAP的Wi-Fi信标,同时软WAP(即,主装置)使用上述时间戳交换技术同步于一个从属装置等)。
音频的同步输出还涉及音频布局,其中每个装置104确定将通过音频管线255处理音频文件的时长,之后经由扬声器216实际输出所述音频文件作为音频。这是因为一个装置104可以使用不同于下一个装置104的时间量通过其本地音频管线255来处理音频数据。因此,通过确定此时长,装置104可以确定何时将音频文件推送到音频管线255的起点,使得将在与群316中的其他装置104的音频输出基本上相同的时间输出对应于所述音频文件的音频。“基本上相同的时间”在这里是指来自群中的多个装置104的音频的输出在特定时间周期(例如,5ms)内开始。
继续再次参考图9,在框910处,音频回放装置104(例如,装置D)至少部分地基于环境106中的第一话语而接收第二命令。举例来说,用户102可以说出语音命令“在装置B上播放Jill Musician”,并且装置D的麦克风218可以基于对应于话语的输入音频800而产生音频数据802,并且可以将音频数据802传输到远程***114以便处理所述语音命令。远程***114可以执行上文描述的各种ASR技术和NLU技术以由命令处理器290产生所述第二命令,所述第二命令可以特定于音乐领域或服务,并且可以由装置104接收所述第二命令。所述第二命令可以由主接收器接收。如果主接收器不同于在语音命令中指定的目标装置(例如,在以上示例中的装置B),那么主接收器可以将所述命令转发到指定的目标装置104。所述第二命令可以指令装置B(目标装置)获得与艺术家“Jill Musician”相关联的音频文件,以便起始经由装置B在个人模式下对所述音频文件的同步音频回放。在一些实施方案中,所述第二命令可以包括音频回放操作、对应于艺术家Jill Musician的歌曲的第二内容标识符,以及与在用户102的语音命令中指定的实体(例如,在以上示例中的装置B)相关联的目标标识符。这告诉主接收器和目标装置(例如,装置B)应将装置B置于“个人模式”下以便由装置B独自地回放音频。
在912处,作为将要在其上输出音频文件的目标装置的装置B接收第二音频文件913,最终经由通过环境106中的WAP 117进行接收而从内容源119获得所述第二音频文件。音频文件913对应于所述第二命令中的内容标识符。所述第二命令中的第二内容标识符可以是指向内容源119的链接(例如,URL),将在所述内容源中获得音频文件913,并且目标装置B可以使用所述链接来检索音频文件913。
在914处,目标装置B可以输出第二音频文件913的音频。值得注意的是,虽然装置B在处于群模式时被配置成从担当软WAP的音频分发主装置直接接收音频数据,但装置B仍被在910处接收的第二命令指令在个人模式下操作,并且从直接从主装置接收音频数据动态地切换为经由环境中的WAP 117接收音频数据。相比而言,如果装置B将保持在其中所述装置从音频分发主装置直接接收音频数据的“软WAP”配置中,那么音频分发主装置将必须检索第二音频文件913并且将所述音频文件913直接发送到从属装置B以便在装置B上输出音频。从连网带宽的角度来看,这是低效的,尤其考虑到以下可能情景:群中的许多从属装置104切换为个人模式并且它们全部试图从担当软WAP的音频分发主装置直接访问音频数据。替代地,过程900允许这些从属装置104在先前在群模式下操作而将在个人模式下操作时动态地切换为经由环境中的WAP 117接收音频数据。
图10是用于配置从属装置以经由混合拓扑中的软WAP或WAP从主装置访问音频数据的说明性过程1000的直观流程图,经由软WAP还是WAP取决于在软WAP与WAP之间所测得的相应的信号强度值。
在1002处,例如从属装置D(或装置104(4))的从属装置可以确定从属装置104(4)与担当混合拓扑700中的软WAP的另一音频回放装置104(3)(例如,装置C)之间的第一信号强度128(1)值(例如,第一RSSI值)。
在1004处,从属装置(例如,装置D104(4))可以确定环境106中的从属装置104(4)与本地WAP 117之间的第二信号强度128(2)值(例如,第二RSSI值)。
在1006处,可以确定第一信号强度128(1)值是否大于第二信号强度128(2)值(或比第二信号强度128(2)值大超过阈值量)。在将信号强度值128(1)/(2)发送到远程***114进行比较之后,1006处的此确定可以由从属装置104(4)自身或由另一装置(例如,远程***114的计算装置120)作出。
如果在1006处确定第一信号强度128(1)值大于第二信号强度128(2)值,那么过程1000遵循从1006到1008的“是”路线,其中从属装置104(4)(或装置D)被配置成从担当软WAP的音频回放装置104(3)(例如,装置C)接收音频数据。举例来说,从属装置104(4)可以被配置成通过接收含有音频文件的至少一部分的一个或多个多播分组而从担当混合拓扑700中的软WAP的音频分发主装置104(3)接收音频文件,而不在将音频文件从音频分发主装置104(3)传输到从属装置104(4)时通过WAP 117路由所述音频文件。
如果在1006处确定第二信号强度128(2)值大于第一信号强度128(1)值,那么过程遵循从1006到1010的“否”路线,其中从属装置104(4)(或装置D)被配置成经由环境106中的WAP 117从音频分发主装置104(3)(例如,装置C)接收音频数据。举例来说,从属装置104(4)可以被配置成通过经由WAP 117接收含有音频文件的至少一部分的一个或多个单播包而从混合拓扑700中的音频分发主装置104(3)接收音频文件。于在1006处确定信号强度值128(1)和128(2)相等的情况下,可以选择1008与1010之间的默认配置,例如在框1008处默认从担当软WAP的音频分发主装置104(3)接收音频数据。因此,过程1000允许装置104的群316内的从属装置104对自身进行配置,以当与从属装置与本地WAP 117之间的信号强度相比在从属装置与软WAP之间存在更好的信号强度128时与担当软WAP的音频分发主装置104直接通信,并且反之亦然。
图11是用于配置从属装置以经由混合拓扑中的软WAP或WAP从主装置访问音频数据的说明性过程1100的直观流程图。
在1102处,音频回放装置104可以至少部分地基于环境106中的第一话语而接收第一命令。在示例性过程1100中,环境106可以包括具有多个房间的物理结构,例如在图1中示出的房屋,其中装置D位于起居室112中。因此,在图11的示例中,用户102可以说出语音命令“在群2上播放Joe Songbird”,并且装置D的麦克风218可以基于对应于话语的输入音频800而产生音频数据802,并且可以将音频数据802传输到远程***114以便处理所述语音命令。远程***114可以执行上文描述的各种ASR技术和NLU技术以由命令处理器290产生所述第一命令,所述第一命令可以特定于音乐领域或服务,并且可以由装置104接收所述第一命令。所述第一命令可以由主接收器接收,并且当所述主接收器不同于音频分发主装置(例如,在以上示例中的装置C)时,可以将所述第一命令转发到音频分发主装置,所述第一命令指令所述音频分发主装置获得与艺术家“Joe Songbird”相关联的音频文件,以便起始经由名为“群2”的群对音频文件进行同步音频回放。假设群2包括在图1A和图1B的环境106中示出的装置B、装置C和装置D。在一些实施方案中,所述第一命令可以包括音频回放操作、对应于艺术家Joe Songbird的歌曲的第一内容标识符,以及与包括装置B-D的群2相关联的目标标识符。这告诉主接收器和音频分发主装置将要把群2中的装置置于“群模式”下,以便经由群2按照同步的方式回放音频。
在1104处,作为群2的音频分发主装置的装置C接收第一音频文件1105,最终从内容源119获得所述第一音频文件并且经由环境106中的WAP 117接收所述第一音频文件。音频文件1105对应于所述第一命令中的内容标识符。所述第一命令中的第一内容标识符可以是指向内容源119的链接(例如,URL),将在所述内容源中获得音频文件1105,并且音频分发主装置104可以使用所述链接来检索音频文件1105。
在1106处,音频分发主装置(例如,装置C)确定是经由“外部AP模式”还是经由“软AP模式”(有时称为“混合模式”)将音频文件1105发送到群中的从属装置(例如,群2中的从属装置B和D)。如果音频分发主装置确定经由“外部AP模式”将音频文件1105发送到群中的从属装置,那么过程1100遵循从1106到1108的“否”路线,其中可以经由环境106中的WAP117在群2中的个别从属装置104(例如,装置B和D)处接收音频文件1105。也就是说,在框1108处执行“外部AP模式”进行音频分发涉及音频分发主装置(例如,装置C)将音频文件1105的副本发送到WAP 117,并且WAP 117将音频文件1105的副本转发到从属装置(例如,装置B和D)。
在1110处,当群2中的所有装置104都拥有音频文件1105时,群2中的装置104(例如,装置B、装置C和装置D)可以按照同步的方式输出音频文件1105的音频。
在1106处,如果确定将经由“软AP模式”(或“混合模式”)将音频文件1105发送到群中的从属装置,那么过程1100可以遵循从1106到1112的“是”路线,其中可以在群2中的个别从属装置104(例如,装置B和装置D)处从担当混合拓扑700中的软WAP的音频分发主装置(例如,装置C)直接接收音频文件1105。将了解,在框1112处分发音频文件1105可以包括将音频文件直接发送到群中的一些从属装置,并且经由本地WAP 117发送到群中的其他从属装置。例如,在图7中示出的混合拓扑的情况下,如果所讨论的群包括装置A、装置B、装置C和装置D,那么音频分发主装置(装置C)可以经由本地WAP 117将音频文件1105发送到装置A,并且可以将音频文件1105直接发送到装置B和装置D(即,不通过本地WAP 117)。因此,过程1100允许音频回放装置104动态地确定是使用软WAP还是使用环境106中的本地WAP 117以便在特定群316中的装置104之间分发音频数据。将了解,群316中的装置104可以物理地位于多个房间中(例如,房屋内)或单个房间中,并且可以选择参考过程1100所描述的最有效的音频分发模式。
图12是用于当在语音命令中未指定目标时选择音频输出的目标的说明性过程1200的一部分的直观流程图。如本文所使用,“目标”或“目标装置”是指将输出音频的单个装置104或装置104的群。在单个目标装置的情况下,同步并不适用。然而,在多个装置表示音频输出的目标的情况下,由所述目标(即,多个装置104)按照同步的方式输出音频,如本文描述。
在1202处,可以至少部分地基于环境106中的第一话语来确定第一语音命令,所述第一语音命令指定目标。举例来说,用户102可以说出语音命令“Everywhere播放JoeSongbird”(“Everywhere”对应于与装置A-D相关联的目标)。装置D的麦克风218可以基于对应于话语的输入音频800而产生音频数据802,并且可以将音频数据802传输到远程***114以便处理所述语音命令。远程***114可以执行上文描述的各种ASR技术和NLU技术以由命令处理器290产生所述第一命令,所述第一命令可以特定于音乐领域或服务,并且可以由装置104接收所述第一命令。所述第一命令可以由主接收器接收,并且当所述主接收器不同于音频分发主装置(例如,在以上示例中的装置C)时,可以将所述第一命令转发到音频分发主装置。所述第一命令指令所述音频分发主装置获得与艺术家“Joe Songbird”相关联的音频文件,以便起始经由名为“Everywhere”的群对音频文件进行同步音频回放。在一些实施方案中,所述第一命令可以包括音频回放操作、对应于艺术家Joe Songbird的歌曲的第一内容标识符,以及与包括装置A-D的Everywhere群相关联的目标标识符。这告诉主接收器和音频分发主装置将要把Everywhere群中的装置置于“群模式”下,以便经由Everywhere群按照同步的方式回放音频。
在1204处,可以启动定时器,所述定时器将运行预定时间周期。在1206处,作为“Everywhere”群的音频分发主装置的装置C接收第一音频文件1205,最终从内容源119获得所述第一音频文件。音频文件1205对应于所述第一命令中的内容标识符。所述第一命令中的第一内容标识符可以是指向内容源119的链接(例如,URL),将在所述内容源中获得音频文件1205,并且音频分发主装置104可以使用所述链接来检索音频文件1205。
在1208处,装置104的群中的将参与音频文件1205的同步音频回放的一个或多个从属装置从音频分发主装置(例如,装置C)接收第一音频文件1205。
在1210处,“Everywhere”群中的现在拥有第一音频文件1205的装置104可以按照同步的方式输出第一音频文件1205的音频。
在1212处,可以确定后续的语音命令,其中所述语音命令未指定用于回放音频数据的目标装置。举例来说,用户102可以说出语音命令“播放Jill Musician”,并且装置D的麦克风218可以基于对应于话语的输入音频800而产生音频数据802,并且可以将音频数据802传输到远程***114以便处理所述语音命令。远程***114可以执行上文描述的各种ASR技术和NLU技术,以确定来自用户102的涉及对来自指定艺术家的音乐的音频回放但未明确指定目标输出装置104(或装置群316)的语音命令。
在1214处,可以评估一个或多个准则以确定在1212处确定语音命令时是否满足所述一个或多个准则。
当在检测到对应于第二语音命令“播放Jill Musician”的第二话语的时间时或之前已经流逝了预定时间周期时,可以在1214处满足准则。此可以通过以下操作来确定:确定自从事件以来经过的时间量,并且确定所述时间量是否满足或超过阈值时间量(即,预定时间周期)。将了解,可以从在任何合适的时间点起始的开始时间来评估预定时间周期的流逝。在图12中,在1204处启动定时器,之后在框1206处在主装置处接收第一音频文件。然而,在一些实施方案中,可以响应于在框1210之后停止(例如,停止、暂停等)第一音频文件的音频的输出而启动定时器。例如,用户102可以通过说出在框1202处确定的第一语音命令来起始对应于第一音频文件1205的第一音频内容的回放,并且随后说出停止音乐的语音命令,此时可以启动定时器,并且可以在框1214处从在停止(或暂停)音乐时的时间点来评估预定时间周期的流逝。可以响应于来自用户102的肯定命令(例如,输入)而停止音乐,或者音频内容的输出可能会超时,例如当专辑的回放完成播放专辑中的最后一首歌曲时。
作为另一示例,当第一音频文件1205的音频不是由Everywhere群中的装置104的群输出时,可以在1214处满足准则。作为另一示例,当在1212处确定的语音命令不与音乐相关命令的类别相关联时(例如,可以将下一首、前一首、停止、暂停、播放等全部归类为音乐相关命令,使得确定不属于此类别的命令不是音乐相关命令),可以在1214处满足准则。作为另一示例,当在语音命令中未指定目标时,当存在让特定装置104或装置104的群316输出音频的所存储的偏好时,可以在1214处满足准则。如果在1216处未满足这些或其他准则,那么过程1200遵循从1216到图13的过程1300的框1302的“否”路线,如图12和图13中的换页参考“D”所示。在一些配置中,可以响应于检测到第二话语而将定时器复位,而不管第二语音命令是指定了目标还是未指定目标。在一些配置中,可以仅在检测到指定目标的语音命令的情况下才将定时器复位。
在1302处,可以将隐含目标确定(或选择)为具有对应于最近的目标的目标标识符,在以上示例中,所述隐含目标包括具有作为群316的成员的装置A-D的“Everywhere”群316。在一些实施方案中,一旦在1302处确定了隐含目标,便可以在包括音频回放操作的音频分发主装置(例如,装置C)处接收命令。举例来说,命令处理器290可以产生命令并且将所述命令发送到音频分发主装置(例如,装置C),所述命令包括音频回放操作、对应于艺术家Jill Musician的歌曲的第二内容标识符,以及与在1302处被确定为隐含目标的Everywhere群相关联的目标标识符。这告诉音频分发主装置将要把Everywhere群中的装置置于“群模式”下,以便经由Everywhere群按照同步的方式回放音频。
在1304处,作为“Everywhere”群的音频分发主装置的装置C接收第二音频文件1305,最终从内容源119获得所述第二音频文件。音频文件1305对应于基于未指定目标输出装置104(或装置104的群316)的用户的第二话语的第二命令中的内容标识符。
在1306处,装置104的群中的将参与音频文件1305的同步音频回放的一个或多个从属装置从音频分发主装置(例如,装置C)接收第二音频文件1305。
在1308处,“Everywhere”群中的现在拥有第二音频文件1305的装置104可以按照同步的方式输出第二音频文件1305的音频。
返回到图12,在决策框1214处,如果确定于在1212处确定语音命令未指定目标输出装置104(或装置104的群316)时满足准则中的一者或多者,那么过程1200遵循从1214到图14的过程1400的决策框1402的“是”路线,如图12和图14中的换页参考“E”所示。将了解,对于包括预定时间周期的流逝的准则,可以从映射到环境中的特定装置104的多个不同的时间周期中选择在决策框1214处评估的预定时间周期。举例来说,如果第一音频回放装置104(1)(例如,装置A)检测到第一话语,那么可以选择第一时间周期,而如果第二音频回放装置104(2)(例如,装置B)检测到第一话语,那么可以选择不同于所述第一时间周期的第二时间周期。因此,用于选择隐含目标的时间周期可以基于检测到语音命令的装置104而变。
在1402处,可以确定当在语音命令中未指定装置时是否存在用于确定隐含目标输出装置104(或装置104的群316)的所存储的用户偏好。例如,用户102可以指定当用户102未另外在语音命令中指定目标装置时让与用户102的起居室112中的装置104相对应的群316回放音频的偏好。
在1402处,如果可以识别所存储的用户偏好,那么过程1400前进到1404,其中可以基于所存储的偏好来确定隐含目标。在图14的示例中,所述目标具有与相关联的目标具有与包括装置C和装置D的“群3”相对应的目标标识符。
在1406处,作为群3的音频分发主装置的装置C接收第二音频文件1405,最终从内容源119获得所述第二音频文件。音频文件1405对应于基于未指定目标输出装置104(或装置104的群316)的用户102的第二话语的第二语音命令中的内容标识符,在此情况下,内容标识符对应于艺术家Jill Musician的歌曲。
在1408处,装置104的群中的将参与音频文件1405的同步音频回放的一个或多个从属装置从音频分发主装置(例如,装置C)接收第二音频文件1405。
在1410处,群3中的现在拥有第二音频文件1405的装置104可以按照同步的方式输出第二音频文件1405的音频。
在决策框1402处,如果未识别所存储的用户偏好,那么过程1400遵循从1402到1412的“否”路线,其中可以确定默认的隐含目标。可以将默认的隐含目标设定为任何合适的装置104(或装置104的群316),例如检测与在1212处确定的语音命令相对应的话语的装置104,在此情况下是装置D。
在1414处,音频回放装置104接收第二音频文件1405,最终从内容源119获得所述第二音频文件。音频文件1405对应于基于未指定目标输出装置104(或装置104的群316)的用户102的第二话语的第二语音命令中的内容标识符,在此情况下,内容标识符对应于艺术家Jill Musician的歌曲。如果默认的隐含目标是单个装置104,那么单个装置104(例如,装置D)可以在1412处接收音频文件1405。然而,如果默认的隐含目标是装置104的群316,那么音频分发主装置可以接收音频文件1405,与在框1406旁边的直观图中一样。
在1416处,隐含的目标输出装置可以输出音频文件1405的音频。将了解,如果在1412处确定的默认的隐含目标是装置的群316,那么装置104的群中的将参与音频文件1405的同步音频回放的一个或多个从属装置可以从音频分发主装置(例如,装置C)接收第二音频文件1405,并且所述群可以参与音频文件1405的音频的同步输出。
因此,分别在图12、图13和图14中的过程1200、过程1300和过程1400的组合描述了用于在确定语音命令未明确指定目标装置时确定隐含目标输出装置104(或装置104的群316)的技术。在一个情景下,可以利用定时器,并且如果在过程1200的1212处确定第二语音命令时自从最近的语音命令以来尚未流逝预定时间周期,那么可以将最近的目标确定为隐含目标。因此,在自从“Everywhere播放Joe Songbird”的语音命令以来在预定时间周期内说出“播放Jill Musician”的语音命令的用户102将体验到在“Everywhere”装置104的群上回放的Jill Musician的音乐。然而,如果用户102在所述时间周期已经流逝之后说出相同的语音命令,那么可以将优选的目标输出装置104选择为隐含目标,并且如果未识别所存储的偏好,那么可以将默认的目标输出装置104选择为隐含目标。
于可以在决策框1214处评估的其他准则方面,图12和图14说明以下情景:即使自从在用户102说出指定特定目标(例如,“Everywhere”群)的语音命令时以来尚未流逝预定时间周期,也可以将与最近的目标不同的目标选择为隐含目标。举例来说,如果在1214处确定第一音频文件1205的音频不是由“Everywhere”群输出,那么图14的算法根据所存储的偏好来选择隐含目标,或者选择在不存在所存储的偏好的情况下的默认目标。因此,如果用户102停止回放Joe Songbird的歌曲,并且随后在预定时间周期内说出“播放JillMusician”,那么可以基于过程1400将与最近的目标不同的目标选择为隐含目标。作为另一示例,如果在1214处确定在1212处确定的语音命令不与音乐相关命令的类别相关联,那么图14的算法根据所存储的偏好来选择隐含目标,或者选择在不存在所存储的偏好的情况下的默认目标。因此,如果Joe Songbird的音乐当前在装置104的“Everywhere”群上播放,并且用户102说出语音命令“今天的天气怎么样”(非音乐相关语音命令),那么可以将与最近的目标不同的目标选择为隐含目标以输出音频。在此示例中,音频输出可以是TTS响应而不是音频文件。
本文描述的环境和个别元件当然可以包括许多其他逻辑部件、编程部件和物理部件,其中在附图中示出的部件仅仅是与本文论述相关的示例。
还可以鉴于以下条款来理解前述内容。
1.一种方法,所述方法包括:
确定环境中的第一音频回放装置与无线接入点(WAP)之间的第一信号强度值,所述第一信号强度值是负值;
将第一得分指派给所述第一音频回放装置,所述第一得分是通过将预定义负值除以所述第一信号强度值来计算;
至少部分地基于所述第二音频回放装置与所述WAP之间的第二信号强度值而将第二得分指派给第二音频回放装置;
确定所述第一得分大于所述第二得分;
至少部分地基于所述第一得分大于所述第二得分而将所述第一音频回放装置指定为第一候选音频分发主装置;
将所述第二音频回放装置指定为第一候选从属装置;
确定基于从所述第一音频回放装置发送到所述第二音频回放装置的数据量的数据吞吐量值大于预定义阈值;以及
将所述第一音频回放装置选择为音频分发主装置,将把音频数据发送到所述音频分发主装置以便由所述第一音频回放装置和所述第二音频回放装置同步地输出与所述音频数据相对应的音频内容。
2.根据条款1的方法,所述方法还包括:
在将所述量的所述数据从所述第一音频回放装置发送到所述第二音频回放装置之后:
将所述第二音频回放装置指定为第二候选音频分发主装置;
将所述第一音频回放装置指定为第二候选从属装置;
确定基于从所述第二音频回放装置发送到所述第一音频回放装置的第二数据的第二量的第二数据吞吐量值大于所述预定义阈值;
确定自从将所述量的所述数据从所述第一音频回放装置发送到所述第二音频回放装置以来已经流逝预定时间周期;以及
确定与所述数据吞吐量值相关联的第一吞吐量测试得分大于与所述第二数据吞吐量值相关联的第二吞吐量测试得分,
其中将所述第一音频回放装置选择为所述音频分发主装置是至少部分地基于所述第一吞吐量测试得分大于所述第二吞吐量测试得分。
3.根据条款1或2的方法,所述方法还包括:
通过在所述第一音频回放装置处确定第一接收信号强度指示(RSSI)值来确定所述第一信号强度值;以及
通过在所述第二音频回放装置处确定第二RSSI值来确定所述第二信号强度值。
4.一种方法,所述方法包括:
确定第一音频回放装置的第一得分,其中所述第一得分指示所述第一音频回放装置在被配置成将音频数据发送到一个或多个其他装置以便由所述第一音频回放装置和所述一个或多个其他装置进行同步输出时的第一性能水平;
确定第二音频回放装置的第二得分,其中所述第二得分指示所述第二音频回放装置的第二性能水平;
至少部分地基于所述第一得分和所述第二得分而确定所述第一音频回放装置将把测试数据发送到所述第二音频回放装置;
确定所述第二音频回放装置将从所述第一音频回放装置接收所述测试数据;
确定至少部分地基于在一定时间周期期间从所述第一音频回放装置发送到所述第二音频回放装置的所述测试数据的量的数据吞吐量值满足预定义阈值;以及
选择所述第一音频回放装置将未来的音频数据发送到所述第二音频回放装置以便由所述第一音频回放装置和所述第二音频回放装置进行同步输出。
5.根据条款4的方法,其中选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出是在选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出之前不确定额外的数据吞吐量值的情况下进行的。
6.根据条款4的方法,所述方法还包括:
在将所述量的所述测试数据从所述第一音频回放装置发送到所述第二音频回放装置之后:
确定至少部分地基于在所述时间周期期间从所述第二音频回放装置发送到所述第一音频回放装置的第二测试数据的第二量的第二数据吞吐量值满足所述预定义阈值;
确定自从将所述量的所述测试数据从所述第一音频回放装置发送到所述第二音频回放装置以来已经流逝预定时间周期;以及
确定与所述数据吞吐量值相关联的第一吞吐量测试得分大于与所述第二数据吞吐量值相关联的第二吞吐量测试得分,
其中选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出是至少部分地基于所述第一吞吐量测试得分大于所述第二吞吐量测试得分。
7.根据条款4的方法,所述方法还包括,在确定所述第一音频回放装置将把所述测试数据发送到所述第二音频回放装置之前:
确定第三音频回放装置的第三得分,其中所述第三得分指示所述第三音频回放装置的第三性能水平;以及
至少部分地基于所述第三得分:
确定至少部分地基于在所述时间周期期间从所述第三音频回放装置发送到所述第一音频回放装置的第二测试数据的第二量的第二数据吞吐量值不满足所述预定义阈值;以及
确定至少部分地基于在所述时间周期期间从所述第三音频回放装置发送到所述第一音频回放装置的第三测试数据的第三量的第三数据吞吐量值不满足所述预定义阈值,
其中选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出是在选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出之前不确定额外的数据吞吐量值的情况下进行的。
8.根据条款4的方法,所述方法还包括:
确定所述第一音频回放装置与无线接入点(WAP)之间的第一信号强度值;以及
确定所述第二音频回放装置与所述WAP之间的第二信号强度值,
其中所述第一得分至少部分地基于所述第一信号强度值,并且
其中所述第二得分至少部分地基于所述第二信号强度值。
9.根据条款4的方法,所述方法还包括:
确定所述第一音频回放装置的第一类型;以及
确定所述第二音频回放装置的第二类型,
其中所述第一得分至少部分地基于所述第一音频回放装置的所述第一类型,并且
其中所述第二得分至少部分地基于所述第二音频回放装置的所述第二类型。
10.根据条款4的方法,所述方法还包括确定所述第二音频回放装置的通信接口在确定所述第二得分时正在发送其他数据或接收其他数据中的至少一者,其中所述第二得分至少部分地基于所述通信接口在确定所述第二得分时发送或接收其他数据。
11.根据条款4的方法,所述方法还包括,在选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出之后:
确定至少部分地基于在所述时间周期期间从所述第二音频回放装置发送到所述第一音频回放装置的第二测试数据的第二量的第二数据吞吐量值满足所述预定义阈值;
确定所述第二数据吞吐量值大于所述数据吞吐量值;以及
选择所述第二音频回放装置将所述未来的音频数据或不同的未来的音频数据发送到所述第一音频回放装置以便由所述第一音频回放装置和所述第二音频回放装置进行所述同步输出。
12.根据条款11的方法,其中所述第一得分至少部分地基于所述第一音频回放装置与无线接入点(WAP)之间的第一信号强度值,并且其中所述第二得分至少部分地基于所述第二音频回放装置与所述WAP之间的第二信号强度值,所述方法还包括,在选择所述第一音频回放装置发送所述未来的音频数据以便进行所述同步输出之后且在将所述第二量的所述第二测试数据从所述第二音频回放装置发送到所述第一音频回放装置之前:
确定与所述第一音频回放装置相关联的第三信号强度值;
至少部分地基于所述第三信号强度值而将第三得分指派给所述第一音频回放装置;
确定与所述第二音频回放装置相关联的第四信号强度值;
至少部分地基于所述第四信号强度值而将第四得分指派给所述第二音频回放装置;以及
确定至少部分地基于所述第三得分和所述第四得分来测量所述第二数据吞吐量值。
13.根据条款11的方法,所述方法还包括确定在所述第二数据吞吐量值满足所述预定义阈值之前已经流逝了预定时间周期。
14.根据条款11的方法,所述方法还包括确定所述第一音频回放装置已经在环境内移动,其中响应于确定所述第一音频回放装置已经在所述环境内移动而执行所述第二数据吞吐量值满足所述预定义阈值。
15.一种***,所述***包括:
一个或多个计算装置,所述一个或多个计算装置被配置成使得第一音频回放装置和第二音频回放装置能够进行同步音频回放,
其中所述一个或多个计算装置中的至少一者被配置成:
确定所述第一音频回放装置的第一得分,其中所述第一得分指示所述第一音频回放装置在被配置成将音频数据发送到一个或多个其他装置以便由所述第一音频回放装置和所述一个或多个其他装置进行同步输出时的第一性能水平;
确定所述第二音频回放装置的第二得分,其中所述第二得分指示所述第二音频回放装置的第二性能水平;
至少部分地基于所述第一得分和所述第二得分而确定所述第一音频回放装置将把测试数据发送到所述第二音频回放装置;
确定所述第二音频回放装置将从所述第一音频回放装置接收所述测试数据;
确定至少部分地基于在一定时间周期期间从所述第一音频回放装置发送到所述第二音频回放装置的所述测试数据的量的数据吞吐量值满足预定义阈值;以及
选择所述第一音频回放装置将未来的音频数据发送到所述第二音频回放装置以便由所述第一音频回放装置和所述第二音频回放装置进行同步输出。
16.根据条款15的***,其中所述第一得分至少部分地基于所述第一音频回放装置与无线接入点(WAP)之间的第一信号强度值,并且其中所述第二得分至少部分地基于所述第二音频回放装置与所述WAP之间的第二信号强度值。
17.根据条款15的***,其中第三音频回放装置与所述第一音频回放装置和所述第二音频回放装置一起位于某一环境中,并且其中所述一个或多个计算装置中的至少一者进一步被配置成在选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置之前:
确定与所述第三音频回放装置相关联的第二数据吞吐量值;以及
确定所述第二数据吞吐量值满足所述预定义阈值。
18.根据条款15的***,其中所述一个或多个计算装置中的至少一者进一步被配置成:
将关于群配置的信息发送到所述第一音频回放装置或所述第二音频回放装置中的至少一者,所述群配置选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出,并且选择所述第二音频回放装置从所述第一音频回放装置接收所述未来的音频数据以便进行所述同步输出。
19.根据条款15的***,其中选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出是在选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出之前不确定额外的数据吞吐量值的情况下进行的。
20.根据条款15的***,其中所述第一得分至少部分地基于所述第一音频回放装置的第一类型,并且其中所述第二得分至少部分地基于所述第二音频回放装置的第二类型。
21.一种方法,所述方法包括:
配置第一音频回放装置以担当所述第一音频回放装置、第二音频回放装置和WAP所处的环境中的软无线接入点(WAP),其中所述软WAP被配置成在不通过所述WAP路由所述音频数据的情况下将音频数据发送到至少所述第二音频回放装置;
从话音处理***接收至少部分地基于由所述第二音频回放装置检测到的第一话语的第一命令,所述第一命令包括音频回放操作、第一内容标识符,和与包括所述第一音频回放装置和所述第二音频回放装置的群相对应的第一标识符;
于在所述第二音频回放装置处接收所述第一音频数据之前不将第一音频数据从所述第一音频回放装置发送到所述WAP的情况下,在所述第二音频回放装置处从所述第一音频回放装置接收所述第一音频数据,其中所述第一音频数据对应于所述第一内容标识符;
由所述第一音频回放装置输出对应于所述第一音频数据的第一音频内容;
由所述第二音频回放装置按照与所述第一音频回放装置输出所述第一音频内容同步的方式输出所述第一音频内容;
从话音处理***接收至少部分地基于由所述第二音频回放装置检测到的第二话语的第二命令,所述第二命令包括音频回放操作、第二内容标识符,和与所述第二音频回放装置相对应且不与所述第一音频回放装置相对应的第二标识符;
于在所述第二音频回放装置处接收第二音频数据之前不将所述第二音频数据从所述WAP发送到所述第一音频回放装置的情况下,在所述第二音频回放装置处从内容源且经由所述WAP接收所述第二音频数据,其中所述第二音频数据对应于所述第二内容标识符;以及
由所述第二音频回放装置输出对应于所述第二音频数据的第二音频内容。
22.根据条款21的方法,其中在所述第二音频回放装置处从所述第一音频回放装置直接接收所述第一音频数据分组括在所述第二音频回放装置处从所述第一音频回放装置接收含有所述第一音频数据的至少一部分的多播分组,所述多播分组包括被发送到多播群的一个或多个成员的数据分组。
23.根据条款21的方法,所述方法还包括:
确定所述第二音频回放装置与所述第一音频回放装置之间的第一信号强度值;
确定所述第二音频回放装置与所述WAP之间的第二信号强度值;以及至少部分地基于所述第一信号强度值和所述第二信号强度值来配置所述第二音频回放装置以沿着不通过所述WAP来路由从所述第一音频回放装置发送的所述音频数据的直接无线通信路径从所述第一音频回放装置接收音频数据。
24.一种方法,所述方法包括:
接收至少部分地基于第一用户输入的第一命令,所述第一命令包括音频回放操作、第一内容标识符,和与输出音频的第一目标相对应的第一标识符,所述第一目标包括第一音频回放装置和第二音频回放装置;
于在所述第二音频回放装置处接收所述第一音频数据之前不将第一音频数据从所述第一音频回放装置发送到无线接入点(WAP)的情况下,在所述第二音频回放装置处从所述第一音频回放装置接收所述第一音频数据,所述第一音频数据对应于所述第一内容标识符;
由所述第二音频回放装置按照与所述第一音频回放装置输出所述第一音频内容同步的方式输出对应于所述第一音频数据的第一音频内容;
接收至少部分地基于第二用户输入的第二命令,所述第二命令包括音频回放操作、第二内容标识符,和与输出音频的第二目标相对应的第二标识符,所述第二目标不同于所述第一目标且包括所述第二音频回放装置;
于在所述第二音频回放装置处接收第二音频数据之前不将所述第二音频数据从所述WAP发送到所述第一音频回放装置的情况下,在所述第二音频回放装置处从内容源且经由所述WAP接收所述第二音频数据,所述第二音频数据对应于所述第二内容标识符;以及
由所述第二音频回放装置输出对应于所述第二音频数据的第二音频内容。
25.根据条款24的方法,其中在所述第二音频回放装置处从所述第一音频回放装置接收所述第一音频数据分组括在所述第二音频回放装置处从所述第一音频回放装置接收含有所述第一音频数据的至少一部分的多播分组,所述多播分组包括被发送到多播群的一个或多个成员的数据分组。
26.根据条款24的方法,所述方法还包括:
确定所述第二音频回放装置未接收含有所述第一音频数据的至少一部分的第一多播分组,
其中在所述第二音频回放装置处从所述第一音频回放装置接收所述第一音频数据分组括从所述第一音频回放装置接收含有第一音频文件的至少部分且是由所述第一音频回放装置响应于确定所述第二音频回放装置未接收所述第一多播分组而重新发送的第二多播分组。
27.根据条款24的方法,所述方法还包括:
接收至少部分地基于第三用户输入的第三命令,所述第三命令包括音频回放操作、第三内容标识符,和与所述第一目标相对应的所述第一标识符;
于在所述第二音频回放装置处接收第三音频数据之前不将所述第三音频数据从所述第一音频回放装置发送到所述WAP的情况下,在所述第二音频回放装置处从所述第一音频回放装置接收所述第三音频数据;以及
由所述第二音频回放装置按照与所述第一音频回放装置输出所述第三音频内容同步的方式输出对应于所述第三音频数据的第三音频内容。
28.根据条款24的方法,所述方法还包括:
确定所述第二音频回放装置与所述第一音频回放装置之间的第一信号强度值;
确定所述第二音频回放装置与所述WAP之间的第二信号强度值;以及至少部分地基于所述第一信号强度值和所述第二信号强度值来配置所述第二音频回放装置以沿着直接无线通信路径从所述第一音频回放装置接收音频数据。
29.根据条款24的方法,其中第三音频回放装置与所述第一音频回放装置和所述第二音频回放装置以及所述WAP一起位于某一环境中,所述方法还包括:
确定所述第三音频回放装置与所述第一音频回放装置之间的第一信号强度值;
确定所述第三音频回放装置与所述WAP之间的第二信号强度值;以及至少部分地基于所述第二信号强度值和所述第一信号强度值来配置所述第三音频回放装置,以沿着将所述音频数据从所述第一音频回放装置发送到所述WAP并且从所述WAP发送到所述第三音频回放装置的通信路径从所述第一音频回放装置接收音频数据。
30.根据条款29的方法,所述方法还包括:
接收至少部分地基于第三用户输入的第三命令,所述第三命令包括所述音频回放操作、第三内容标识符,和与输出音频的第三目标相对应的第三标识符,所述第三目标包括所述第一音频回放装置、所述第二音频回放装置和所述第三音频回放装置;
在所述第一音频回放装置处从所述内容源且经由所述WAP接收第三音频数据,所述第三音频数据对应于所述第三内容标识符;以及
在所述第三音频回放装置处从所述第一音频回放装置且经由所述WAP接收所述第三音频数据。
31.根据条款24的方法,其中:
所述第一用户输入包括来自用户的第一话语;
所述第二用户输入包括来自用户的第二话语;
接收所述第一命令包括从远程计算装置接收所述第一命令,所述远程计算装置对与所述第一话语相对应的第一话音数据执行话音辨识;以及
接收所述第二命令包括从所述远程计算装置接收所述第二命令,所述远程计算装置对与所述第二话语相对应的第二话音数据执行话音辨识。
32.根据条款24的方法,其中:
第三音频回放装置与所述第一音频回放装置和所述第二音频回放装置以及所述WAP一起位于某一环境中;
所述方法还包括:
接收至少部分地基于第三用户输入的第三命令,所述第三命令包括所述音频回放操作、第三内容标识符,和与输出音频的第三目标相对应的第三标识符,所述第三目标包括所述第一音频回放装置、所述第二音频回放装置和所述第三音频回放装置;
在所述第一音频回放装置处从所述内容源且经由所述WAP接收第三音频数据,所述第三音频数据对应于所述第三内容标识符;
在所述第三音频回放装置处从所述第一音频回放装置且经由所述WAP接收所述第三音频数据;
在不将所述第三音频数据从所述第一音频回放装置发送到所述WAP并从所述WAP发送到所述第二音频回放装置的情况下,在所述第二音频回放装置处从所述第一音频回放装置接收所述第三音频数据;以及
由所述第二音频回放装置按照与所述第一音频回放装置和所述第三音频回放装置输出所述第三音频内容同步的方式输出对应于所述第三音频数据的第三音频内容。
33.一种***,所述***包括:
第一音频回放装置;
其中所述第一音频回放装置被配置成:
从第二音频回放装置接收第一音频数据,其中所述第一音频数据对应于在从一个或多个计算装置接收的第一命令中指定的第一内容标识符,所述一个或多个计算装置被配置成使得所述第一音频回放装置和所述第二音频回放装置能够进行同步音频回放,所述第一命令至少部分地基于第一用户输入并且包括音频回放操作、第一内容标识符和与输出音频的第一目标相对应的第一标识符,所述第一目标包括所述第一音频回放装置和所述第二音频回放装置,并且其中于在所述第一音频回放装置处接收所述第一音频数据之前不将所述第一音频数据从所述第二音频回放装置发送到无线接入点(WAP)的情况下,由所述第一音频回放装置接收所述第一音频数据;
按照与第二音频回放装置输出所述第一音频内容同步的方式输出对应于所述第一音频数据的第一音频内容;
于在所述第一音频回放装置处接收第二音频数据之前不将所述第二音频数据从所述WAP发送到所述第二音频回放装置的情况下,从内容源且经由所述WAP接收所述第二音频数据,所述第二音频数据与在从所述一个或多个计算装置接收的第二命令中指定的第二内容标识符相对应,所述第二命令至少部分地基于第二用户输入并且包括所述音频回放操作、所述第二内容标识符和与输出音频的第二目标相对应的第二标识符,所述第二目标不同于所述第一目标并且包括所述第一音频回放装置;以及
输出对应于所述第二音频数据的第二音频内容。
34.根据条款33的***,其中所述第一音频回放装置进一步被配置成从所述第二音频回放装置接收所述第一音频数据作为含有所述第一音频数据的至少一部分的多播分组,所述多播分组包括被发送到多播群的一个或多个成员的数据分组。
35.根据条款33的***,其中所述第一音频回放装置进一步被配置成:
从所述第二音频回放装置接收第三音频数据,其中所述第三音频数据对应于在从所述一个或多个计算装置接收的第三命令中指定的内容标识符,所述第三命令至少部分地基于第三用户输入并且包括所述音频回放操作、所述第三内容标识符,和与所述第一目标相对应的所述第一标识符,并且其中于在所述第一音频回放装置处接收所述第三音频数据之前不将所述第三音频数据从所述第二音频回放装置发送到所述WAP的情况下,从所述第二音频回放装置接收所述第三音频数据;以及
按照与第二音频回放装置输出所述第三音频内容同步的方式输出对应于所述第三音频数据的第三音频内容;
36.根据条款33的***,其中所述第一音频回放装置进一步被配置成至少部分地基于第一信号强度值和第二信号强度值而沿着不通过所述WAP从所述第二音频回放装置发送所述音频数据的直接无线通信路径来从所述第二音频回放装置接收音频数据,其中所述第一信号强度值是在所述第一音频回放装置与所述第二音频回放装置之间所测得的信号强度值,并且其中所述第二信号强度值是在所述第一音频回放装置与所述WAP之间所测得的信号强度值。
37.根据条款33的***,所述***还包括第三音频回放装置,所述第三音频回放装置被配置成至少部分地基于第二信号强度值和第一信号强度值而沿着将所述音频数据从所述第二音频回放装置发送到所述WAP且从所述WAP发送到所述第三音频回放装置的通信路径来从所述第二音频回放装置接收音频数据,其中所述第一信号强度值是在所述第三音频回放装置与所述第二音频回放装置之间所测得的信号强度值,并且其中所述第二信号强度值是在所述第三音频回放装置与所述WAP之间所测得的信号强度值。
38.根据条款37的***,其中所述第一音频回放装置进一步被配置成:
从所述内容源且经由所述WAP接收第三音频数据,其中所述第三音频数据对应于在从所述一个或多个计算装置接收的第三命令中指定的第三内容标识符,所述第三命令至少部分地基于第三用户输入并且包括所述音频回放操作、所述第三内容标识符,和与输出音频的第三目标相对应的第三标识符,所述第三目标包括所述第一音频回放装置、所述第二音频回放装置和所述第三音频回放装置。
39.根据条款33的***,其中:
所述第一用户输入包括来自在所述第一音频回放装置和所述第二音频回放装置与所述WAP一起所处的环境中的用户的第一话语;
所述第二用户输入包括来自所述环境中的用户的第二话语;
所述第一音频回放装置进一步被配置成:
至少部分地基于所述第一话语而产生第一话音数据;以及
至少部分地基于所述第二话语而产生第二话音数据;以及
所述一个或多个计算装置进一步被配置成:
对所述第一话音数据执行话音辨识以产生所述第一命令;以及
对所述第二话音数据执行话音辨识以产生所述第二命令。
40.根据条款33的***,所述***还包括第三音频回放装置,所述第三音频回放装置位于所述第一音频回放装置和所述第二音频回放装置与所述WAP一起所处的环境中,其中:
所述一个或多个计算装置进一步被配置成至少部分地基于第三用户输入而产生第三命令,所述第三命令包括所述音频回放操作、第三内容标识符,和与输出音频的第三目标相对应的第三标识符,所述第三目标包括所述第一音频回放装置、所述第二音频回放装置和所述第三音频回放装置;
所述第二音频回放装置进一步被配置成从所述内容源且经由所述WAP接收与所述第三内容标识符相对应的第三音频数据;
所述第三音频回放装置被配置成从所述第二音频回放装置且经由所述WAP接收所述第三音频数据;
所述第一音频回放装置进一步被配置成在不将所述第三音频数据发送到所述WAP的情况下从所述第二音频回放装置接收所述第三音频数据;并且
所述第一音频回放装置、所述第二音频回放装置和所述第三音频回放装置进一步被配置成按照同步的方式输出与所述第三音频数据相对应的第三音频内容。
41.一种方法,所述方法包括:
由话音处理***且至少部分地基于由环境中的第一音频回放装置接收的第一话语来确定第一音频内容和将输出所述第一音频内容的装置群,所述装置群包括所述第一音频回放装置和第二音频回放装置;
将第一音频数据发送到所述第一音频回放装置以便由所述第一音频回放装置和所述第二音频回放装置同步地输出所述第一音频内容;
由所述话音处理***且至少部分地基于由所述第一音频回放装置接收的第二话语来确定第二音频内容;
由所述话音处理***确定所述第二话语省略针对特定输出装置;
确定自从在接收所述第二话语的时间时或之前停止的所述第一音频内容的同步输出以来尚未流逝预定时间周期;
至少部分地基于在所述时间时所述预定时间周期尚未流逝而选择用于输出所述第二音频内容的装置群;以及
将第二音频数据发送到所述第一音频回放装置以便由所述第一音频回放装置和所述第二音频回放装置同步地输出所述第二音频内容;
42.根据条款41的方法,所述方法还包括:
由所述话音处理***且至少部分地基于由所述第一音频回放装置接收的第三话语来确定第三音频内容;
由所述话音处理***确定所述第三话语省略针对特定输出装置;
确定在接收所述第三话语的第二时间时或之前所述预定时间周期已经流逝;
至少部分地基于所述预定时间周期在所述第二时间时已经流逝,选择所述第一音频回放装置来输出所述第三音频内容;以及
将第三音频数据发送到所述第一音频回放装置以便由所述第一音频回放装置输出所述第三音频内容。
43.根据条款42的方法,其中确定在所述第二时间时所述预定时间周期已经流逝包括确定自从所述第二音频内容的所述同步输出停止以来已经流逝了所述预定时间周期。
44.根据条款42的方法,其中选择所述第一音频回放装置以便输出所述第三音频内容进一步基于所存储的偏好响应于确定所述预定时间周期已经流逝而将所述第一音频回放装置指定为优选的输出装置。
45.一种方法,所述方法包括:
至少部分地基于从第一音频回放装置接收的第一话音数据来确定第一音频内容,和包括所述第一音频回放装置和第二音频回放装置的输出装置群;
将第一音频数据发送到所述第一音频回放装置或所述第二音频回放装置中的至少一者以便由所述第一音频回放装置和所述第二音频回放装置同步地输出所述第一音频内容;
至少部分地基于从所述第一音频回放装置或所述第二音频回放装置中的至少一者接收的第二话音数据来确定第二音频内容;
确定所述第二话音数据省略了特定输出装置;
确定在接收所述第二话音数据的时间时或之前满足准则;
至少部分地基于在所述时间时满足所述准则而在所述第一音频回放装置和所述第二音频回放装置中选择音频回放装置以便输出所述第二音频内容;以及
将第二音频数据发送到所述音频回放装置以便由所述音频回放装置同步地输出所述第二音频内容。
46.根据条款45的方法,其中确定在所述时间时满足所述准则包括:
确定自从所述第一音频内容的所述同步输出停止以来经过的时间量;以及
确定所述时间量满足或超过阈值时间量。
47.根据条款46的方法,所述方法还包括至少部分地基于已经从所述第一音频回放装置接收到所述第一话音数据而从多个不同的时间周期中选择所述阈值时间量。
48.根据条款45的方法,其中选择所述音频回放装置进一步基于所存储的偏好响应于确定满足所述准则而将所述音频回放装置指定为优选的输出装置。
49.根据条款45的方法,其中确定在所述时间时满足所述准则包括:
确定自从确定所述输出装置群以来经过的时间量;以及
确定所述时间量满足或超过阈值时间量。
50.根据条款49的方法,所述方法还包括至少部分地基于已经从所述第一音频回放装置接收到所述第一话音数据而从多个不同的时间周期中选择所述阈值时间量。
51.根据条款45的方法,其中确定在所述时间时满足所述准则包括确定在所述时间时所述第一音频回放装置和所述第二音频回放装置未按照同步的方式输出所述第一音频内容。
52.根据条款45的方法,其中确定在所述时间时满足所述准则包括确定基于所述第二话音数据的命令不与音乐相关命令的类别相关联。
53.根据条款45的方法,所述方法还包括:
至少部分地基于从所述第一音频回放装置和所述第二音频回放装置中的至少一个音频回放装置接收的第三话音数据来确定所述第三话音数据省略了特定输出装置;
确定在接收第三话音数据的第二时间时或之前未满足所述准则;
至少部分地基于所述第三话音数据而产生文本-话音(TTS)输出;
至少部分地基于产生所述TTS输出而确定所述至少一个音频回放装置将输出所述TTS输出;以及
将所述TTS输出发送到所述至少一个音频回放装置以便由所述音频回放装置输出所述TTS输出。
54.根据条款45的方法,其中确定在所述时间时满足所述准则包括:
确定自从所述第一音频内容的所述同步输出停止以来经过的时间量;以及
确定所述时间量满足或超过阈值时间量,
所述方法还包括:
至少部分地基于从所述第一音频回放装置和所述第二音频回放装置中的至少一个音频回放装置接收的第三话音数据来确定第三音频内容和所述输出装置群;以及
将第三音频数据发送到所述第一音频回放装置以便由所述第一音频回放装置和所述第二音频回放装置同步地输出所述第三音频内容。
55.一种***,所述***包括:
一个或多个计算装置,所述一个或多个计算装置被配置成使得第一音频回放装置和第二音频回放装置能够进行同步音频回放,
其中所述一个或多个计算装置中的至少一者被配置成:
至少部分地基于从所述第一音频回放装置接收的第一话音数据来确定第一音频内容,和包括所述第一音频回放装置和所述第二音频回放装置的输出装置群;
将第一音频数据发送到所述第一音频回放装置或所述第二音频回放装置中的至少一者以便由所述第一音频回放装置和所述第二音频回放装置同步地输出所述第一音频内容;
至少部分地基于从所述第一音频回放装置或所述第二音频回放装置中的至少一者接收的第二话音数据来确定第二音频内容;
确定所述第二话音数据省略了特定输出装置;
确定在接收所述第二话音数据的时间时或之前满足准则;
至少部分地基于在所述时间时满足所述准则而在所述第一音频回放装置和所述第二音频回放装置中选择音频回放装置以便输出所述第二音频内容;以及
将第二音频数据发送到所述音频回放装置以便由所述音频回放装置同步地输出所述第二音频内容。
56.根据条款55的***,其中确定在所述时间时满足所述准则包括:
确定自从所述第一音频内容的所述同步输出停止以来经过的时间量;以及
确定所述时间量满足或超过阈值时间量。
57.根据条款56的***,其中所述一个或多个计算装置进一步被配置成至少部分地基于从所述第一音频回放装置接收所述第一话音数据而从多个不同的时间周期中选择所述阈值时间量。
58.根据条款55的***,其中确定在所述时间时满足所述准则包括:
确定自从确定所述输出装置群以来经过的时间量;以及
确定所述时间量满足或超过阈值时间量。
59.根据条款55的***,其中确定在所述时间时满足所述准则包括确定在所述时间时所述第一音频回放装置和所述第二音频回放装置未按照同步的方式输出所述第一音频内容。
60.根据条款55的***,其中确定在所述时间时满足所述准则包括确定至少部分地基于所述第二话音数据的命令不与音乐相关命令的类别相关联。
可以使用其他架构来实施所描述的功能性,并且既定在本公开的范围内。此外,虽然在上文出于论述的目的界定了责任的特定分布,但可能依据情形通过不同的方式分布和划分各种功能和责任。
此外,尽管已用结构特征和/或方法动作特有的语言描述了主题,但应理解,在所附权利要求书中所界定的主题不一定限于所描述的特定特征或动作。而是,所述特定特征和动作是作为实施权利要求书的示例性形式而公开的。
尽管已用结构特征和/或方法动作特有的语言描述了主题,但应理解,在所附权利要求书中所界定的主题不一定限于所描述的特定特征或动作。而是,所述特定特征和动作是作为实施权利要求书的说明性形式而公开的。
Claims (20)
1.一种方法,所述方法包括:
接收至少部分地基于第一用户输入的第一命令,所述第一命令包括音频回放操作、第一内容标识符,和与输出音频的第一目标相对应的第一标识符,所述第一目标包括第一音频回放装置和第二音频回放装置;
于在所述第二音频回放装置处接收第一音频数据之前不将所述第一音频数据从所述第一音频回放装置发送到无线接入点(WAP)的情况下,在所述第二音频回放装置处从所述第一音频回放装置接收所述第一音频数据,所述第一音频数据对应于所述第一内容标识符;
由所述第二音频回放装置按照与所述第一音频回放装置输出所述第一音频内容同步的方式输出对应于所述第一音频数据的第一音频内容;
接收至少部分地基于第二用户输入的第二命令,所述第二命令包括所述音频回放操作、第二内容标识符,和与输出音频的第二目标相对应的第二标识符,所述第二目标不同于所述第一目标并且包括所述第二音频回放装置;
于在所述第二音频回放装置处接收第二音频数据之前不将所述第二音频数据从所述WAP发送到所述第一音频回放装置的情况下,在所述第二音频回放装置处从内容源且经由所述WAP接收所述第二音频数据,所述第二音频数据对应于所述第二内容标识符;以及
由所述第二音频回放装置输出对应于所述第二音频数据的第二音频内容。
2.如权利要求1所述的方法,所述方法包括:
配置第一音频回放装置以担当所述第一音频回放装置、第二音频回放装置和所述WAP所处的环境中的软WAP,其中所述软WAP被配置成在不通过所述WAP路由所述音频数据的情况下将音频数据发送到至少所述第二音频回放装置;
从话音处理***接收至少部分地基于由所述第二音频回放装置检测到的第一话语的第三命令,所述第一命令包括第二音频回放操作、第三内容标识符,和与包括所述第一音频回放装置和所述第二音频回放装置的群相对应的第三标识符;
于在所述第二音频回放装置处接收第三音频数据之前不将所述第三音频数据从所述第一音频回放装置发送到所述WAP的情况下,在所述第二音频回放装置处从所述第一音频回放装置接收所述第三音频数据,其中所述第三音频数据对应于所述第三内容标识符;
由所述第一音频回放装置输出对应于所述第三音频数据的第三音频内容;
由所述第二音频回放装置按照与所述第一音频回放装置输出所述第三音频内容同步的方式输出所述第三音频内容;
从话音处理***接收至少部分地基于由所述第二音频回放装置检测到的第二话语的第二命令,所述第二命令包括所述第二音频回放操作、第四内容标识符,和与所述第二音频回放装置相对应且不与所述第一音频回放装置相对应的第四标识符;
于在所述第二音频回放装置处接收第四音频数据之前不将所述第四音频数据从所述WAP发送到所述第一音频回放装置的情况下,在所述第二音频回放装置处从内容源且经由所述WAP接收所述第四音频数据,其中所述第四音频数据对应于所述第四内容标识符;以及
由所述第二音频回放装置输出对应于所述第四音频数据的第四音频内容。
3.如权利要求1所述的方法,其中在所述第二音频回放装置处从所述第一音频回放装置接收所述第一音频数据分组括在所述第二音频回放装置处从所述第一音频回放装置接收含有所述第一音频数据的至少一部分的多播分组,所述多播分组包括被发送到多播群的一个或多个成员的数据分组。
4.如权利要求1所述的方法,所述方法还包括:
确定所述第二音频回放装置未接收含有所述第一音频数据的至少一部分的第一多播分组,
其中在所述第二音频回放装置处从所述第一音频回放装置接收所述第一音频数据分组括从所述第一音频回放装置接收含有第一音频文件的至少部分且是由所述第一音频回放装置响应于确定所述第二音频回放装置未接收所述第一多播分组而重新发送的第二多播分组。
5.如权利要求1所述的方法,所述方法还包括:
接收至少部分地基于第三用户输入的第三命令,所述第三命令包括所述音频回放操作、第三内容标识符,和与所述第一目标相对应的所述第一标识符;
于在所述第二音频回放装置处接收第三音频数据之前不将所述第三音频数据从所述第一音频回放装置发送到所述WAP的情况下,在所述第二音频回放装置处从所述第一音频回放装置接收所述第三音频数据;以及
由所述第二音频回放装置按照与所述第一音频回放装置输出所述第三音频内容同步的方式输出对应于所述第三音频数据的第三音频内容。
6.如权利要求1所述的方法,所述方法还包括:
确定所述第二音频回放装置与所述第一音频回放装置之间的第一信号强度值;
确定所述第二音频回放装置与所述WAP之间的第二信号强度值;以及
至少部分地基于所述第一信号强度值和所述第二信号强度值来配置所述第二音频回放装置以沿着直接无线通信路径从所述第一音频回放装置接收音频数据。
7.如权利要求1所述的方法,其中第三音频回放装置与所述第一音频回放装置和所述第二音频回放装置以及所述WAP一起位于某一环境中,所述方法还包括:
确定所述第三音频回放装置与所述第一音频回放装置之间的第一信号强度值;
确定所述第三音频回放装置与所述WAP之间的第二信号强度值;以及
至少部分地基于所述第二信号强度值和所述第一信号强度值来配置所述第三音频回放装置,以沿着将所述音频数据从所述第一音频回放装置发送到所述WAP并且从所述WAP发送到所述第三音频回放装置的通信路径从所述第一音频回放装置接收音频数据。
8.如权利要求7所述的方法,所述方法还包括:
接收至少部分地基于第三用户输入的第三命令,所述第三命令包括所述音频回放操作、第三内容标识符,和与输出音频的第三目标相对应的第三标识符,所述第三目标包括所述第一音频回放装置、所述第二音频回放装置和所述第三音频回放装置;
在所述第一音频回放装置处从所述内容源且经由所述WAP接收第三音频数据,所述第三音频数据对应于所述第三内容标识符;以及
在所述第三音频回放装置处从所述第一音频回放装置且经由所述WAP接收所述第三音频数据。
9.如权利要求1所述的方法,其中:
所述第一用户输入包括来自用户的第一话语;
所述第二用户输入包括来自所述用户的第二话语;
接收所述第一命令包括从远程计算装置接收所述第一命令,所述远程计算装置对与所述第一话语相对应的第一话音数据执行话音辨识;并且
接收所述第二命令包括从所述远程计算装置接收所述第二命令,所述远程计算装置对与所述第二话语相对应的第二话音数据执行话音辨识。
10.如权利要求1所述的方法,其中:
第三音频回放装置与所述第一音频回放装置和所述第二音频回放装置以及所述WAP一起位于某一环境中;
所述方法还包括:
接收至少部分地基于第三用户输入的第三命令,所述第三命令包括所述音频回放操作、第三内容标识符,和与输出音频的第三目标相对应的第三标识符,所述第三目标包括所述第一音频回放装置、所述第二音频回放装置和所述第三音频回放装置;
在所述第一音频回放装置处从所述内容源且经由所述WAP接收第三音频数据,所述第三音频数据对应于所述第三内容标识符;
在所述第三音频回放装置处从所述第一音频回放装置且经由所述WAP接收所述第三音频数据;
在不将所述第三音频数据从所述第一音频回放装置发送到所述WAP并从所述WAP发送到所述第二音频回放装置的情况下,在所述第二音频回放装置处从所述第一音频回放装置接收所述第三音频数据;以及
由所述第二音频回放装置按照与所述第一音频回放装置和所述第三音频回放装置输出所述第三音频内容同步的方式输出对应于所述第三音频数据的第三音频内容。
11.一种***,所述***包括:
一个或多个计算装置,所述一个或多个计算装置被配置成使得第一音频回放装置和第二音频回放装置能够进行同步音频回放,
其中所述一个或多个计算装置中的至少一者被配置成:
确定所述第一音频回放装置的第一得分,其中所述第一得分指示所述第一音频回放装置在被配置成将音频数据发送到一个或多个其他装置以便由所述第一音频回放装置和所述一个或多个其他装置进行同步输出时的第一性能水平;
确定所述第二音频回放装置的第二得分,其中所述第二得分指示所述第二音频回放装置的第二性能水平;
至少部分地基于所述第一得分和所述第二得分而确定所述第一音频回放装置将把测试数据发送到所述第二音频回放装置;
确定所述第二音频回放装置将从所述第一音频回放装置接收所述测试数据;
确定至少部分地基于在一定时间周期期间从所述第一音频回放装置发送到所述第二音频回放装置的所述测试数据的量的数据吞吐量值满足预定义阈值;以及
选择所述第一音频回放装置将未来的音频数据发送到所述第二音频回放装置以便由所述第一音频回放装置和所述第二音频回放装置进行同步输出。
12.如权利要求11所述的***,其中所述第一得分至少部分地基于所述第一音频回放装置与无线接入点(WAP)之间的第一信号强度值,并且其中所述第二得分至少部分地基于所述第二音频回放装置与所述WAP之间的第二信号强度值。
13.如权利要求11所述的***,其中第三音频回放装置与所述第一音频回放装置和所述第二音频回放装置一起位于某一环境中,并且其中所述一个或多个计算装置中的至少一者还被配置成在选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置之前:
确定与所述第三音频回放装置相关联的第二数据吞吐量值;以及
确定所述第二数据吞吐量值满足所述预定义阈值。
14.如权利要求11所述的***,其中所述一个或多个计算装置中的至少一者还被配置成:
将关于群配置的信息发送到所述第一音频回放装置或所述第二音频回放装置中的至少一者,所述群配置选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出,并且选择所述第二音频回放装置从所述第一音频回放装置接收所述未来的音频数据以便进行所述同步输出。
15.如权利要求11所述的***,其中选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出是在选择所述第一音频回放装置将所述未来的音频数据发送到所述第二音频回放装置以便进行所述同步输出之前不确定额外的数据吞吐量值的情况下进行的。
16.如权利要求11所述的***,其中所述第一得分至少部分地基于所述第一音频回放装置的第一类型,并且其中所述第二得分至少部分地基于所述第二音频回放装置的第二类型。
17.如权利要求11所述的***,其中所述一个或多个计算装置中的所述至少一者被配置成:
至少部分地基于从所述第一音频回放装置接收的第一话音数据来确定第一音频内容,和包括所述第一音频回放装置和所述第二音频回放装置的输出装置群;
将第一音频数据发送到所述第一音频回放装置或所述第二音频回放装置中的至少一者以便由所述第一音频回放装置和所述第二音频回放装置同步地输出所述第一音频内容;
至少部分地基于从所述第一音频回放装置或所述第二音频回放装置中的至少一者接收的第二话音数据来确定第二音频内容;
确定所述第二话音数据省略了特定输出装置;
确定在接收所述第二话音数据的时间时或之前满足准则;
至少部分地基于在所述时间时满足所述准则而在所述第一音频回放装置和所述第二音频回放装置中选择音频回放装置以便输出所述第二音频内容;以及
将第二音频数据发送到所述音频回放装置以便由所述音频回放装置同步地输出所述第二音频内容。
18.如权利要求17所述的***,其中确定在所述时间时满足所述准则包括:
确定自从所述第一音频内容的所述同步输出停止以来经过的时间量;以及
确定所述时间量满足或超过阈值时间量。
19.如权利要求18所述的***,其中所述一个或多个计算装置还被配置成至少部分地基于从所述第一音频回放装置接收所述第一话音数据而从多个不同的时间周期中选择所述阈值时间量。
20.如权利要求17所述的***,其中确定在所述时间时满足所述准则包括以下各者中的至少一者:
(1)确定自从确定所述输出装置群以来经过的时间量,并且确定所述时间量满足或超过阈值时间量;
(2)确定在所述时间时所述第一音频回放装置和所述第二音频回放装置未按照同步的方式输出所述第一音频内容;或
(3)确定至少部分地基于所述第二话音数据的命令不与音乐相关命令的类别相关联。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/433,874 | 2017-02-15 | ||
US15/433,953 US10839795B2 (en) | 2017-02-15 | 2017-02-15 | Implicit target selection for multiple audio playback devices in an environment |
US15/433,874 US10264358B2 (en) | 2017-02-15 | 2017-02-15 | Selection of master device for synchronized audio |
US15/433,953 | 2017-02-15 | ||
US15/433,920 US10431217B2 (en) | 2017-02-15 | 2017-02-15 | Audio playback device that dynamically switches between receiving audio data from a soft access point and receiving audio data from a local access point |
US15/433,920 | 2017-02-15 | ||
PCT/US2018/018233 WO2018152242A1 (en) | 2017-02-15 | 2018-02-14 | Selection of master device for synchronized audio |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110383236A true CN110383236A (zh) | 2019-10-25 |
Family
ID=63170740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880012236.3A Pending CN110383236A (zh) | 2017-02-15 | 2018-02-14 | 对主装置进行选择以实现同步音频 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3583509A4 (zh) |
CN (1) | CN110383236A (zh) |
WO (1) | WO2018152242A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754798A (zh) * | 2018-12-20 | 2019-05-14 | 歌尔股份有限公司 | 多音箱同步控制方法、***及音箱 |
CN112968921A (zh) * | 2021-01-18 | 2021-06-15 | 浙江大华技术股份有限公司 | 一种数据更新方法、装置和计算机可读存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10433057B2 (en) * | 2017-10-23 | 2019-10-01 | Bose Corporation | Wireless audio synchronization |
US11064228B2 (en) * | 2019-04-02 | 2021-07-13 | Qualcomm Incorporated | Audio playback timing adjustment |
US10747495B1 (en) | 2019-05-31 | 2020-08-18 | Microsoft Technology Licensing, Llc | Device aggregation representing multiple endpoints as one |
US10884973B2 (en) | 2019-05-31 | 2021-01-05 | Microsoft Technology Licensing, Llc | Synchronization of audio across multiple devices |
US11170800B2 (en) | 2020-02-27 | 2021-11-09 | Microsoft Technology Licensing, Llc | Adjusting user experience for multiuser sessions based on vocal-characteristic models |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014043405A1 (en) * | 2012-09-14 | 2014-03-20 | Dts, Inc. | Playback synchronization |
US20140098713A1 (en) * | 2012-10-10 | 2014-04-10 | Sonos, Inc. | Methods and apparatus for multicast optimization |
US20150334338A1 (en) * | 2014-05-16 | 2015-11-19 | Samsung Electronics Co., Ltd. | Content output apparatus, mobile apparatus, and controlling methods thereof |
CN105164678A (zh) * | 2013-03-15 | 2015-12-16 | 伯斯有限公司 | 音频***以及相关的设备和方法 |
US9431021B1 (en) * | 2014-03-27 | 2016-08-30 | Amazon Technologies, Inc. | Device grouping for audio based interactivity |
US20160379638A1 (en) * | 2015-06-26 | 2016-12-29 | Amazon Technologies, Inc. | Input speech quality matching |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7333519B2 (en) * | 2002-04-23 | 2008-02-19 | Gateway Inc. | Method of manually fine tuning audio synchronization of a home network |
US20130097302A9 (en) * | 2003-10-01 | 2013-04-18 | Robert Khedouri | Audio visual player apparatus and system and method of content distribution using the same |
US7631119B2 (en) * | 2004-06-25 | 2009-12-08 | Apple Inc. | Techniques for providing audio for synchronized playback by multiple devices |
US8015306B2 (en) * | 2005-01-05 | 2011-09-06 | Control4 Corporation | Method and apparatus for synchronizing playback of streaming media in multiple output devices |
US8364296B2 (en) * | 2008-01-02 | 2013-01-29 | International Business Machines Corporation | Method and system for synchronizing playing of an ordered list of auditory content on multiple playback devices |
US8423893B2 (en) * | 2008-01-07 | 2013-04-16 | Altec Lansing Australia Pty Limited | User interface for managing the operation of networked media playback devices |
US9693127B2 (en) * | 2014-05-14 | 2017-06-27 | Samsung Electronics Co., Ltd | Method and apparatus for communicating audio data |
JP6536201B2 (ja) * | 2015-06-16 | 2019-07-03 | ヤマハ株式会社 | 制御端末装置、オーディオシステムおよびオーディオシステム制御プログラム |
-
2018
- 2018-02-14 WO PCT/US2018/018233 patent/WO2018152242A1/en unknown
- 2018-02-14 EP EP18753983.8A patent/EP3583509A4/en active Pending
- 2018-02-14 CN CN201880012236.3A patent/CN110383236A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014043405A1 (en) * | 2012-09-14 | 2014-03-20 | Dts, Inc. | Playback synchronization |
US20140098713A1 (en) * | 2012-10-10 | 2014-04-10 | Sonos, Inc. | Methods and apparatus for multicast optimization |
CN105164678A (zh) * | 2013-03-15 | 2015-12-16 | 伯斯有限公司 | 音频***以及相关的设备和方法 |
US9431021B1 (en) * | 2014-03-27 | 2016-08-30 | Amazon Technologies, Inc. | Device grouping for audio based interactivity |
US20150334338A1 (en) * | 2014-05-16 | 2015-11-19 | Samsung Electronics Co., Ltd. | Content output apparatus, mobile apparatus, and controlling methods thereof |
US20160379638A1 (en) * | 2015-06-26 | 2016-12-29 | Amazon Technologies, Inc. | Input speech quality matching |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754798A (zh) * | 2018-12-20 | 2019-05-14 | 歌尔股份有限公司 | 多音箱同步控制方法、***及音箱 |
CN109754798B (zh) * | 2018-12-20 | 2021-10-15 | 歌尔股份有限公司 | 多音箱同步控制方法、***及音箱 |
CN112968921A (zh) * | 2021-01-18 | 2021-06-15 | 浙江大华技术股份有限公司 | 一种数据更新方法、装置和计算机可读存储介质 |
CN112968921B (zh) * | 2021-01-18 | 2023-05-16 | 浙江大华技术股份有限公司 | 一种数据更新方法、装置和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3583509A1 (en) | 2019-12-25 |
WO2018152242A1 (en) | 2018-08-23 |
EP3583509A4 (en) | 2020-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11758328B2 (en) | Selection of master device for synchronized audio | |
US20210074291A1 (en) | Implicit target selection for multiple audio playback devices in an environment | |
US10431217B2 (en) | Audio playback device that dynamically switches between receiving audio data from a soft access point and receiving audio data from a local access point | |
CN110383236A (zh) | 对主装置进行选择以实现同步音频 | |
US10374816B1 (en) | Network conference management and arbitration via voice-capturing devices | |
US11949818B1 (en) | Selecting user device during communications session | |
JP7152196B2 (ja) | 音声エージェントの進行 | |
CN109074806A (zh) | 控制分布式音频输出以实现语音输出 | |
CN106653008B (zh) | 一种语音控制方法、装置及*** | |
US10536288B1 (en) | Network conference management and arbitration via voice-capturing devices | |
US20200153646A1 (en) | Network conference management and arbitration via voice-capturing devices | |
CN108847225B (zh) | 一种机场多人语音服务的机器人及其方法 | |
US20230048755A1 (en) | Audio output configuration for moving devices | |
CN109791764A (zh) | 基于话音的通信 | |
US12002469B2 (en) | Multi-device output management based on speech characteristics | |
US20220161131A1 (en) | Systems and devices for controlling network applications | |
US12002444B1 (en) | Coordinated multi-device noise cancellation | |
US20240257809A1 (en) | Multi-device output management |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20191025 |