音频信号处理的方法、系统和介质转让专利

申请号 : CN201880039573.1

文献号 : CN110741435B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : G·琴加莱A·马特奥斯索莱

申请人 : 杜比国际公司

摘要 :

描述了用于同步在音频事件期间由多个独立设备捕获的音频信号的方法、系统和计算机程序产品。例如多个智能电话的多个记录设备记录所述音频事件。计算机系统从设备接收多个音频信号。系统基于两个音频信号的波形的相互关系来确定所述两个音频信号之间的第一延迟。随后,所述系统通过计算每个音频信号的相应包络的导数来检测每个音频信号中存在的起音。所述系统基于所述两个音频信号的起音的相互关系来确定所述两个音频信号之间的第二延迟。在确定使用所述第二延迟比使用所述第一延迟更能改善声音质量时,所述系统使用所述第二延迟来同步所述音频信号。

权利要求 :

1.一种音频信号处理的方法,包括:接收第一音频信号和第二音频信号;

基于所述第一音频信号和所述第二音频信号的波形来确定所述第一音频信号与所述第二音频信号之间的第一相互关系;

确定所述第一音频信号的第一起音和所述第二音频信号的第二起音,其中,确定所述第一起音和所述第二起音包括:确定所述第一音频信号的第一包络和所述第二音频信号的第二包络,将所述第一起音确定为所述第一包络的导数的正部分,并且将所述第二起音确定为所述第二包络的导数的正部分;

确定所述第一起音与所述第二起音之间的第二相互关系;

基于所述第一相互关系和所述第二相互关系在时间上对齐所述第一音频信号和所述第二音频信号;以及

将经对齐的第一音频信号和第二音频信号提供给消费设备,其中,所述方法由一个或多个计算机处理器执行。

2.如权利要求1所述的方法,其中,在时间上对齐所述第一音频信号和所述第二音频信号包括:

根据与所述第一音频信号和所述第二音频信号之间的所述第一相互关系的最大值或最大绝对值对应的第一延迟来预对齐所述第一音频信号和所述第二音频信号;以及根据与所述第一起音和所述第二起音之间的所述第二相互关系的最大值对应的第二延迟来调整对经预对齐的第一音频信号和第二音频信号的对齐。

3.如权利要求2所述的方法,其中,预对齐所述第一音频信号和所述第二音频信号是根据与所述第一相互关系的所述最大绝对值对应的所述第一延迟来执行的,并且所述方法包括:

确定所述第一相互关系在所述最大绝对值处的符号为负;以及使所述第一音频信号或所述第二音频信号之一反相。

4.如权利要求2所述的方法,其中,根据所述第二延迟来调整对所述经预对齐的第一音频信号和第二音频信号的对齐包括:将所述经预对齐的第一音频信号和第二音频信号切分到多个缓冲区中;

针对每个所述缓冲区:

计算在所述缓冲区内的所述第一起音的部分与在所述缓冲区内的所述第二起音的部分之间的相应相互关系;以及

根据所述相应相互关系的最大值来确定相应缓冲区级延迟;以及从所述缓冲区级延迟中确定所述第二延迟;以及根据所述第二延迟来调整所述经预对齐的第一音频信号和第二音频信号。

5.如权利要求4所述的方法,其中,从所述缓冲区级延迟中确定所述第二延迟包括:从所述缓冲区级延迟中选择与所述缓冲区当中的所述第一起音与所述第二起音之间的一个或多个最高相互关系对应的一个或多个缓冲区级延迟;以及将所选择的一个或多个缓冲区级延迟的平均值指定为所述第二延迟。

6.如权利要求4所述的方法,其中,从所述缓冲区级延迟中确定所述第二延迟包括:确定所述缓冲区级延迟的直方图,所述直方图包括多个仓,每个仓具有与预先指定的最大可接受不对齐值对应的仓宽度,每个仓包含具有在所述仓宽度内的值的一个或多个缓冲区级延迟;

从所述多个仓中选择最普遍的仓,所述最普遍的仓是在所述直方图中的、在所述多个仓当中具有最大数量的缓冲区级延迟的仓;以及将所述最普遍的仓当中的所述缓冲区级延迟的平均值指定为所述第二延迟。

7.如权利要求2所述的方法,其中,调整对所述经预对齐的第一音频信号和第二音频信号的对齐包括:

确定指示所述第一起音与所述第二起音之间的所述相互关系的所估计质量的质量值;

确定针对调整所述对齐的第一条件是否被满足,所述第一条件指定所述质量值应当大于阈值;

确定针对调整所述对齐的第二条件是否被满足,所述第二条件指定应用所述第二延迟不应当导致相互关系值比原始相互关系值低超过指定阈值;以及响应于确定所述第一条件和所述第二条件都被满足而调整所述对齐。

8.如权利要求7所述的方法,其中,确定所述质量值包括:将所述经预对齐的第一音频信号和第二音频信号切分到多个缓冲区中;

针对每个所述缓冲区:

计算在所述缓冲区内的所述第一起音的部分与在所述缓冲区内的所述第二起音的部分之间的相应相互关系;以及

根据所述相应相互关系的最大值来确定相应缓冲区级延迟;

基于起音之间的对应相互关系从所述多个缓冲区中选择一个或多个缓冲区;以及将所述质量值确定为所选择的缓冲区中的起音之间的相互关系的最高峰值与所选择的缓冲区中的起音之间的相互关系的第二高峰值之间的比率。

9.如权利要求8所述的方法,其中,确定所述第二条件是否被满足包括:从所述缓冲区中选择在起音之间具有最高对应相互关系的缓冲区;

应用所述第二延迟以在所选择的缓冲区中调整所述第一音频信号与所述第二音频信号的对齐;

在应用所述第二延迟之后,计算所述第一音频信号与所述第二音频信号之间的基于波形的相互关系;

计算所述基于波形的相互关系的包络;以及响应于确定所述包络的值大于跨整个范围内的所述第一音频信号和所述第二音频信号计算出的相互关系的最大值的指定分数而确定所述第二条件被满足。

10.如权利要求1至9中任一项所述的方法,包括:使第三音频信号与所述第一音频信号和所述第二音频信号同步。

11.如权利要求10所述的方法,其中,使所述第三音频信号与所述第一音频信号和所述第二音频信号同步包括:

将所述第一音频信号、所述第二音频信号、或所述第一音频信号与所述第二音频信号的组合指定为参考信号;以及

使所述第三音频信号与所述参考信号同步。

12.如权利要求10所述的方法,其中,使所述第三音频信号与所述第一音频信号和所述第二音频信号同步包括:

将所述第一音频信号、所述第二音频信号和所述第三音频信号添加到列表;

递归地执行列表缩减动作,直到所述列表中的所有音频信号都被同步,所述列表缩减动作包括:

基于相互关系质量从所述列表中选择两个音频信号;

同步所选择的音频信号;以及

从所述列表中移除经同步的音频信号中的至少一个。

13.一种音频信号处理的系统,包括:一个或多个处理器;以及

存储指令的非暂态计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行权利要求1至12中任一项所述的方法。

14.一种存储指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行权利要求1至12中任一项所述的方法。

说明书 :

音频信号处理的方法、系统和介质

[0001] 相关申请的交叉引用
[0002] 本申请要求以下在先申请的优先权:于2017年6月27日提交的西班牙专利申请P201730846(卷号:D17010ES);于2017年8月28日提交的美国临时申请62/550,810(卷号:
D17010USP1)和于2017年8月28日提交的欧洲申请17188117.0(卷号:D17010EP),这些申请
通过引用结合于此。

技术领域

[0003] 本公开总体上涉及音频信号处理。

背景技术

[0004] 可能会利用在时间上不同步的多个设备来记录如音乐会或排练的声音事件。例如,观众中的多个成员可能会使用他们各自的智能手机来记录音乐会。乐队的多个成员可
能通过将他们的设备放置成靠近他们各自的乐器来记录他们各自的表演。在这些情况下,
每个人可能在不同的时刻按下“记录”按钮。为了组合和混合这些记录,必须使记录同步,从
而使得这些记录在时间上对齐。传统的同步通常是手动完成的,或者基于对音频信号的相
互关系分析来完成,该相互关系分析返回使信号在最大程度上对齐的时间延迟。传统的同
步要求要对齐的信号显示出高度的相似性。

发明内容

[0005] 描述了用于同步在音频事件期间由多个独立设备所捕获的音频信号的技术。多个记录设备(例如,多个智能电话)记录所述音频事件。计算机系统从设备接收多个音频信号。
系统基于两个音频信号的波形的相互关系来确定所述两个音频信号之间的第一延迟。随
后,所述系统通过计算每个音频信号的相应包络的导数来检测每个音频信号中存在的起
音。所述系统基于所述两个音频信号的起音的相互关系来确定所述两个音频信号之间的第
二延迟。在确定使用第二延迟比使用第一延迟更能改善对齐质量时,所述系统使用所述第
二延迟来同步这些音频信号。
[0006] 与传统音频处理技术相比,本说明书中所描述的特征可以实现一个或多个优点。与传统同步技术相比较,所公开的技术能够更加鲁棒地应对房间混响的影响,所述混响可
能导致传统同步中的定时错误。在音频信号彼此不同的情况下,所公开的技术可以比传统
技术更好地处理同步。例如,在表演时,麦克风只能获取(pick up)乐器中的一部分。音频信
号可能包括来自仅键盘或仅低音吉他等的信号,而未捕获环境声音。这些信号对于传统音
频同步而言通常是具有挑战性的。所公开的技术可以更准确地同步这些信号。
[0007] 所公开的技术对传统音频同步的改进在于,所公开的技术能够同步在相互关系函数中展现出较宽的峰或具有相似幅度的多个峰的音频信号。在确定相对延迟时,较宽的峰
或多个峰可能导致较大的不确定性。所公开的技术基于起音而不是峰值本身来同步音频信
号,从而降低了不确定性。即使在利用位于事件的不同位置的不同记录设备来记录同一事
件的情况下,所公开的技术也表现良好。这些设备可捕获通过简单的波形检查看起来几乎
不相似的音频信号。所公开的技术可以比传统音频同步更好地处理这些信号。
[0008] 在以下附图和描述中阐述了所公开的主题的一个或多个实施方式的细节。所公开的主题的其他特征、方面和优点将在说明书、附图和权利要求中变得更明显。

附图说明

[0009] 图1是图示了记录会话的简图,其中,音频处理设备同步来自不同记录设备的音频信号。
[0010] 图2是图示了基于起音来同步音频信号的示例技术的简图。
[0011] 图3是图示了基于起音的同步中的示例缓冲技术的简图。
[0012] 图4是图示了被配置用于执行基于起音的同步的示例音频处理设备的部件的框图。
[0013] 图5是图示了基于起音来同步音频信号的示例过程的流程图。
[0014] 图6是图示了实施参照图1至图5所描述的特征和操作的移动设备的示例设备架构的框图。
[0015] 图7是图1至图5中的设备的示例网络操作环境的框图。
[0016] 图8是实施参照图1至图5所描述的特征和操作的示例计算设备的示例系统架构的框图。
[0017] 各附图中的相同附图标记指示相同的元件。

具体实施方式

[0018] 示例记录设置
[0019] 图1是图示了记录会话的简图,其中,音频处理设备同步来自不同记录设备的音频信号。事件100可以是产生音频内容(例如,语音、声乐或器乐)的任何事件。特别地,事件100
可以是现场表演事件,例如音乐会,其中,一种或多种乐器和/或一个或多个歌手进行表演。
在事件100处可能存在一个或多个声源。每个声源可以是乐器、歌手、扬声器或产生声音的
任何物品。为了方便起见,在本说明书的各个部分中,将包括非乐器声源的声源统称为乐
器。多个记录设备记录事件100。音频处理设备102通过在时间上对齐音频信号来同步设备
上所记录的音频信号。
[0020] 在所示出的示例中,第一设备104记录事件100的环境音频。耦合到第二设备106的麦克风是主唱的手持装置。耦合到设备106的麦克风与其他乐器相比更接近主唱。电子乐器
被插入第三设备108。由于设备类型、设备设置和设备位置的不同,由设备104、106和108记
录的音频信号彼此不同。
[0021] 例如,歌手的声音可通过设备106的近距离麦克风和设备104的远距离麦克风来记录。由设备104和设备106所记录的音频信号可能具有不同的房间混响量。同样,输出由设备
108记录的电子乐器可能仅具有来自该电子乐器的音频信号,而事件100处的其他设备104
和106可在声学上获取来自电子乐器以及同样正在演奏的其他乐器的音频信号。
[0022] 设备104、106和108可以将音频信号110、112和114提供给音频处理设备102。例如,TM
设备104可以是被配置用于通过无线网关116(例如,Wi‑Fi 接入点)将所记录的音频信号
110提交给音频处理设备102的智能电话。设备106和108可以具有存储音频文件的存储卡,
这些音频文件可以被复制到音频处理设备102。音频信号110、112和114中的每一个包括由
相应的设备104、106和108所记录的声音的相应数字表示或模拟表示。
[0023] 音频处理设备102包括一个或多个计算机处理器,用于同步音频信号110、112和114,从而使得音频信号可以被组合和混合。同步音频信号110、112和114包括通过将一个或
多个延迟添加到音频信号110、112和114,使得来自特定乐器的特定声音出现在音频信号
110、112和114中的相同时间位置而在时间上对齐音频信号110、112和114。
[0024] 在同步音频信号110、112和114时,音频处理设备102可以首先基于波形的相互关系来执行同步,并且然后,如果可能的话,使用各种技术来改善同步。例如,音频处理设备
102可以经由正则化或滤波来扩展基于简单波形的相互关系。经扩展的基于波形的相互关
系可以产生令人满意的声音。然而,例如,在相应相互关系函数的形状具有较宽的峰、或者
相邻的峰具有相似值的情况下,即使利用传统技术进行了扩展,基于波形的相互关系也可
能导致较大的不确定性和鲁棒性缺乏。
[0025] 音频处理设备102可以使用其他音频特征来改善简单的或经扩展的基于波形的相互关系的结果。音频处理设备102可以执行听觉场景分析来检测事件(例如,场景的改变),
并通过计算事件序列的基于事件的相互关系来同步两个信号。音频处理设备102可以使用
一组音频特征(例如,谱质心(spectral centroid)、过零率或信号能量)的基于特征的相互
关系来计算每对音频信号之间的延迟,并且然后使用图论在多个音频信号中找到最佳对
齐。
[0026] 特别地,除了根据音频信号之间的基于波形、基于事件或基于特征的相互关系来同步音频信号之外,音频处理设备102还通过基于从声音信号的包络中确定的起音的相互
关系计算延迟来对齐音频信号。下面参照图2讨论基于起音的相互关系来计算延迟的附加
细节。音频处理设备102可以从音频信号110、112和114生成在时间上对齐的音频信号118。
从音频信号110、112和114生成在时间上对齐的音频信号118可以基于简单的或经扩展的基
于波形的相互关系、基于起音的相互关系、以及可选地基于事件或基于特征的相互关系中
的任何一个或全部。对齐后的音频信号118可以包括与音频信号110、112和114中的每一个
相关联的延迟信息。对齐后的音频信号118可以进一步包括指示所估计的对齐质量的质量
值或者可以与这些质量值相关联。音频处理设备102可以将对齐后的音频信号118提供给消
费设备120。消费设备120可以包括非暂态存储设备、被配置用于执行音频编辑的计算设备、
混音器(mixer)、流式服务器或回放设备中的至少一个。
[0027] 图2是图示了基于起音来同步音频信号的示例技术的简图。这些技术可以在包括一个或多个处理器的音频处理设备(例如,图1的音频处理设备102)上实施。为了方便起见,
关于同步两个音频信号(例如,图1的音频信号110、112和114中的任何两个)来描述这些技
术。这两个音频信号是同一音频事件的音频信号,并且分别被指定为xi(t)和xj(t),其中,t
是时间。在同步时,音频处理设备确定应用于这两个音频信号之一的延迟,以在时间上对齐
这两个音频信号。
[0028] 音频处理设备102使用以下等式(1)来计算音频信号xi(t)与xj(t)之间的基于波形的相互关系。
[0029] Ci,j(d)=∑txi(t)xj(t+d),    (1)
[0030] 其中,d是给定的延迟,Ci,j(d)是针对给定的延迟d的音频信号xi(t)与xj(t)之间的基于波形的相互关系,并且d是样本中的给定的延迟。
[0031] 音频处理设备102可以使用以下等式(2)基于音频信号的波形之间的相互关系来确定使音频信号xi(t)与xj(t)对齐的特定的基于波形的延迟dw。
[0032] dw=argmax(Ci,j(d)),   (2)
[0033] 其中,dw是根据信号之间基于波形的相互关系使音频信号在时间上对齐的延迟,并且argmax是确定使Ci,j(d)的值最大化的域值的函数。
[0034] 在一些实施方式中,音频处理设备102可以使用以下等式(2A)来确定基于波形的延迟dw。
[0035] dw=argmax(abs(Ci,j(d))),     (2A)
[0036] 其中,abs(Ci,j(d))是Ci,j(d)的绝对值。在此类实施方式中,音频处理设备102可以可选地考虑Ci,j(d)的符号。响应于确定符号为负,音频处理设备102可以确定这两个音频信
号xi(t)和xj(t)可以具有相反的极性。作为响应,音频处理设备102可以使音频信号xi(t)或
xj(t)之一反相(invert)。
[0037] 在一些音频场景中,从基于波形的相互关系中得到的dw提供粗略的对齐,但可能无法给出准确的结果。例如,在图1中,由与设备106相关联的近处麦克风获取歌手的声音。
电子乐器的声音由设备108以电子方式记录。同时,歌手和电子乐器的声音由房间中的远处
麦克风(例如设备104上的麦克风)记录。远处麦克风将示出混响的建立和衰减,并且直接应
用相互关系的结果实际上可能导致信号不对齐,如在项202中所示出的,其中,dw使音频信
号不对齐。通常,如在项202中所示出的,可以通过两个麦克风同时记录信号,其中一个麦克
风包含混响建立和衰减。即使信号被正确对齐,相互关系的最大值也对应于将使“干”信号
xi(t)与“湿”信号xj(t)的重叠最大化的该“干”信号的位移。计算仍将加上dw,从而导致最初
正确对齐的音频信号变为不对齐。
[0038] 音频处理设备102可以通过使用音频信号中的起音来校正不对齐以及不对齐对所感知的音频质量的不良影响,在起音处,音频信号的包络的幅度上升到最大水平。音频处理
设备102可以在找到音频信号之间的最佳对齐时应用关于起音的信息。
[0039] 音频处理设备102分别计算音频信号xi(t)和xj(t)的包络Ei(t)和Ej(t),如在项中204所示出的。包络Ei(t)和Ej(t)中的每一个可以包括一个或多个起音、衰减、维持和释放。
音频处理设备102可以例如通过将以下等式(3)应用于包络Ei(t)和Ej(t)来将起音计算为包
络的导数的正部分。
[0040]
[0041]
[0042] 其中,Ai(t)和Aj(t)分别表示包络Ei(t)和Ej(t)的起音。在图2的项206中示出了Ai(t)和Aj(t)的起音的视觉表示。
[0043] 音频处理设备102然后可以基于起音Ai(t)与Aj(t)之间的相互关系而不是基于音频信号xi(t)和xj(t)的原始波形来确定基于起音的延迟da。音频处理设备102可以通过找到
起音之间的最大相互关系,例如通过使用以下等式(4)来确定基于起音的延迟da。
[0044] da=argmax(xcorr(Ai(t),Aj(t)),    (4)
[0045] 其中,xcorr是用于确定相互关系的函数,并且argmax是用于确定在函数值最大处的域值的函数。音频处理设备102可以使用延迟da来在时间上对齐音频信号xi(t)和xj(t)。
[0046] 图3是图示了基于起音的同步中的示例缓冲技术的简图。为了确定用于同步音频信号的基于起音的延迟da,(图1的)音频处理设备102可以应用缓冲技术来避免记录的长时
间段中的不对齐,在该长时间段中,对齐第一音频信号的部分与第二音频信号的部分的可
能性不能忽略,这两个音频信号在时间上彼此间隔开但在特征上彼此相似。
[0047] 音频处理设备102对音频信号xi(t)和xj(t)执行预对齐。预对齐包括基于波形相互关系来同步音频信号xi(t)和xj(t)。音频处理设备102将经预对齐的信号xi(t)和xj(t)切分
到具有一定长度(例如,十秒)的缓冲区中。每个缓冲区包含音频信号xi(t)的部分和音频信
号xj(t)的相应部分。在每个缓冲区b中,音频处理设备102计算每个缓冲区的相应微调延
迟,称为缓冲区级延迟D(b)。音频处理设备102可以使用以下等式(5)来确定缓冲区级延迟。
[0048] D(b)=argmax(xcorr(Ai(t|t∈b),Aj(t|t∈b)),     (5)
[0049] 其中,D(b)是针对缓冲区b的缓冲区级延迟,Ai(t|t∈b)是来自第一音频信号xi(t)的起音,并且Aj(t|t∈b)是来自第二音频信号xj(t)的起音(如图3中所示出的,在该图中,示
出了缓冲区302、304和306中的起音)。
[0050] 在计算了针对所有缓冲区的缓冲区级延迟、或者计算了针对指定数量的先前缓冲区的缓冲区级延迟之后,音频处理设备102可以将基于起音的总体延迟da确定为在起音之
间具有最高相互关系的X百分比(例如,30%)的缓冲区中的缓冲区级延迟D(b)的平均值。
[0051] 在一些实施方式中,音频处理设备102选择最频繁出现的延迟作为基于起音的总体延迟da。音频处理设备102可以将大多数缓冲区共同的缓冲区级延迟指定为最频繁出现
的延迟。例如,音频处理设备可以确定缓冲区级延迟分布的模式。音频处理设备102构建缓
冲区级延迟的值的直方图,其中,直方图仓(bin)宽度对应于最大可接受不对齐,例如,X毫
秒(ms)。音频处理设备102然后识别最普遍(most‑popular)的仓,该最普遍的仓是大多数缓
冲区级延迟的值落入其中的仓。音频处理设备102将基于起音的延迟da计算为这样的最普
遍的仓中的缓冲区延迟的平均值。
[0052] 针对在起音之间具有最佳相互关系值的缓冲区,音频处理设备102可以计算质量值Q,该质量值将基于起音的相互关系的质量表示为相互关系的最大峰值与相互关系的第
二大峰值之间的比率。音频处理设备102可以基于关于质量值Q的两个条件来确定是否应用
基于起音的延迟da来同步音频信号xi(t)和xj(t)。
[0053] 第一,音频处理设备102可以响应于确定质量值Q满足预先指定的阈值而确定应用延迟da来同步音频信号xi(t)和xj(t)。此条件可以确保起音之间的相互关系对于同步音频
信号是可靠的。
[0054] 第二,音频处理设备102可以响应于确定应用延迟da不会如通过dw所实现的那样使音频信号的相关性恶化超过可容忍量而确定应用延迟da来同步音频信号xi(t)和xj(t)。为
了确定该条件是否被满足,音频处理设备102确定具有最高相互关系的缓冲区与其两个紧
邻缓冲区(例如,在前的一个缓冲区和在后的一个缓冲区)中的音频信号之间的相互关系的
最大值Cmax。音频处理设备102确定在全部音频信号上计算的基于波形的相互关系的初始最
大值Cinit。然后,音频处理设备102可以响应于确定值Cmax大于值Cinit的预先指定的分数而确
定应用延迟da来同步音频信号xi(t)和xj(t)。
[0055] 响应于确定以上指定的两个条件中的至少一个未被满足,音频处理设备102使用如上文使用等式(2)得到的基于波形的延迟dw来同步音频信号xi(t)和xj(t)。响应于确定两
个条件都被满足,音频处理设备102使用基于起音的延迟da来同步音频信号xi(t)和xj(t)。
音频处理设备102可以将与所选延迟值对应的音频信号之间的相互关系的质量值存储为同
步的置信度(confidence)的指标。
[0056] 上述操作可应用于音频信号的整个持续时间,并且适合于离线处理。在各种实施方式中,音频处理设备102可以在实时环境中自适应地执行操作。例如,音频处理设备102可
以仅对一直到当前时间的过去样本执行所描述的计算。音频处理设备102可以对所有过去
样本或指定的历史范围内(例如,最后的X秒)的样本执行计算。
[0057] 音频处理设备102可以同步来自多个设备的音频信号。在所示出的示例中,音频处理设备102可以同步来自图1的设备104、106和108的音频信号。在一些实施方式中,特定设
备(例如,设备102)可以从所有声源捕获信息。音频处理设备可以将所有其他设备同步到该
设备。在一些实施方式中,音频处理设备可以一次同步两个音频信号,并找出最佳的一对。
[0058] 音频处理设备102可以确定针对每对音频信号xi(t)、xj(t)的相应的基于起音的延迟da(i,j)。在一些实施方式中,音频处理设备102可以将每个音频信号同步到指定的参考
信号。音频处理设备102可以将组中的音频信号之一(例如,来自在音频事件中获取所有源
的特定麦克风的音频信号)指定为参考信号。音频处理设备102可以指定组中的一些音频信
号的组合,例如,包括事件中来自立体声麦克风的两个信号之和的向下混合单声道信号。
[0059] 在一些实施方式中,音频处理设备102可以按置信度顺序来递归地同步成对的音频信号。音频处理设备102可以将音频信号添加到列表。音频处理设备102确定针对列表中
的每对音频信号xi(t)、xj(t)的相应质量值Q(i,j)。音频处理设备102从这些质量值中确定
最高质量值。音频处理设备102同步与最高质量值对应的一对音频信号。音频处理设备102
从列表中移除现在已同步的音频信号xi(t)、xj(t)中的至少一个。音频处理设备102同步与
次高质量值对应的另一对音频信号。音频处理设备102继续进行,直到列表中的所有音频信
号都被同步。
[0060] 图4是图示了被配置用于执行基于起音的同步的示例音频处理设备102的部件的框图。音频处理设备102的每个部件包括硬件和软件或者硬件和固件部件。
[0061] 音频处理设备102包括输入设备接口402。输入设备接口402是音频处理设备102的部件,其被配置用于从多个设备接收音频信号,例如,从智能电话或数字语音记录器接收音
频文件。输入设备接口402可以包括用于存储音频信号的一个或多个非暂态存储设备。
[0062] 输入设备接口402可以将音频信号提供给波形相关器404。波形相关器404是音频处理设备102的部件,其被配置用于从音频信号确定基于波形的延迟,例如,等式(2)的延迟
dw。波形相关器404可以将基于波形的延迟提供给同步器406。
[0063] 输入设备接口402将音频信号提供给包络模块408。包络模块408是音频处理设备102的部件,其被配置用于确定每个音频信号的相应包络。每个包络可以包括描绘相应振荡
音频信号的最大值的轮廓的平滑曲线。包络模块408将包络提供给起音模块410。
[0064] 起音模块410是音频处理设备102的部件,其被配置用于计算包络的导数并确定每个包络的相应起音。起音模块410将起音的表示提供给起音相关器412。
[0065] 起音相关器412是音频处理设备102的部件,其被配置用于从包络确定基于起音的延迟,例如上文所描述的延迟da。起音相关器412可以将基于起音的延迟提供给同步器406。
[0066] 同步器406是音频处理设备102的部件,其被配置用于为使用从波形相关器404和起音相关器412提供的数据来确定质量值。同步器406可以应用基于波形的延迟来同步音频
信号,并且然后使用基于起音的延迟来调整同步。同步器406可以同步音频信号,并且将经
同步的音频信号提供给输出模块414。
[0067] 输出模块414是音频处理设备102的部件,其被配置用于将经同步的音频信号(包括例如计算出的延迟值)提供给消费设备以进行存储、流式传输或回放。输出模块414可以
提供与同步相关的各种数据(例如,质量值、起音波形),以在显示设备上(例如,在编辑或混
音控制台上)进行呈现。
[0068] 示例过程
[0069] 图5是图示了基于起音来同步音频信号的示例过程500的流程图。处理500可以由音频处理设备(例如,图1的音频处理设备102)来执行。
[0070] 音频处理设备接收(502)第一音频信号和第二音频信号。第一音频信号和第二音频信号可以由分离且独立的设备进行记录。音频信号可以在时间上不对齐。
[0071] 音频处理设备基于第一音频信号和第二音频信号的波形来确定(504)第一音频信号与第二音频信号之间的第一相互关系。
[0072] 音频处理过程确定(506)第一音频信号的第一起音和第二音频信号的第二起音。确定第一起音和第二起音可以包括确定第一音频信号的第一包络和第二音频信号的第二
包络。音频处理可以将第一起音确定为第一包络的正导数。音频处理可以将第二起音确定
为第二包络的正导数。确定第一起音和第二起音可以包括执行将等式(3)应用于包络的操
作。
[0073] 音频处理设备确定(508)第一起音与第二起音之间的第二相互关系。音频处理过程基于第一相互关系和第二相互关系来同步(510)第一音频信号和第二音频信号。同步第
一音频信号和第二音频信号包括基于第一相互关系和第二相互关系在时间上对齐第一音
频信号和第二音频信号,其方式使得当播放经同步的音频信号时,音频信号准确地表示音
频事件时的声音的定时。
[0074] 在时间上对齐第一音频信号和第二音频信号可以包括以下操作。音频处理设备可以将第一音频信号和第二音频信号的第一相互关系确定为例如上文所描述的基于波形的
相互关系Ci,j(d)。音频处理设备然后根据与第一音频信号与第二音频信号之间的第一相互
关系的最大值或最大绝对值对应的第一延迟来预对齐第一音频信号和第二音频信号。音频
处理设备然后根据与第一起音与第二起音之间的第二相互关系的最大值对应的第二延迟
来调整经预对齐的第一音频信号和第二音频信号的对齐。
[0075] 当根据与第一相互关系的最大绝对值对应的第一延迟来执行预对齐第一音频信号和第二音频信号时,音频处理设备可以执行以下操作。音频处理设备可以确定在最大绝
对值处第一相互关系的符号为负。作为响应,音频处理设备可以使第一音频信号或第二音
频信号之一反相,以校正信号的极性。
[0076] 根据第二延迟来调整经预对齐的第一音频信号和第二音频信号的对齐可以包括以下操作。音频处理设备将经预对齐的第一音频信号和第二音频信号切分到多个相应的缓
冲区中。每个缓冲区可以具有给定的长度,例如十秒。针对每个缓冲区,音频处理设备计算
在缓冲区内的第一起音的部分与在缓冲区内的第二起音的部分之间的相应相互关系。音频
处理设备例如通过应用等式(5)、根据相应相互关系的最大值来确定针对每个缓冲区的相
应缓冲区级延迟D(b)。音频处理设备从缓冲区级延迟中确定第二延迟,例如,基于起音的总
体延迟da。然后,音频处理设备根据第二延迟来调整经预对齐的第一音频信号和第二音频
信号。
[0077] 在一些实施方式中,从缓冲区级延迟中确定第二延迟可以包括以下操作。音频处理设备从缓冲区级延迟中选择与缓冲区当中的第一起音与第二起音之间的一个或多个最
高相互关系对应的一个或多个缓冲区级延迟。然后,音频处理设备将所选择的一个或多个
缓冲区级延迟的平均值指定为第二延迟,例如基于起音的延迟da。
[0078] 在一些实施方式中,从缓冲区级延迟中确定第二延迟可以包括以下操作。音频处理设备确定缓冲区级延迟的直方图。直方图包括针对缓冲区的多个仓。每个仓具有在时间
上测量的仓宽度。仓的仓宽度可以对应于预先指定的最大可接受不对齐值,例如15ms。每个
仓包含值在仓宽度内(例如,在1000ms到1015ms之间)的一个或多个缓冲区级延迟。音频处
理设备可以从仓中选择一个或多个最普遍的仓。最普遍的仓是在直方图中、在这些仓中具
有最大数量的缓冲区级延迟的仓。音频处理设备可以将最普遍的仓中的缓冲区级延迟的平
均值(例如1008ms)指定为第二延迟。
[0079] 根据第二延迟来调整经预对齐的第一音频信号和第二音频信号的对齐可以包括以下操作。音频处理设备确定指示第一起音与第二起音之间的相互关系的所估计质量的质
量值。音频处理确定针对调整对齐的第一条件是否被满足。第一条件指定质量值应当大于
阈值。音频处理确定针对调整对齐的第二条件是否被满足。第二条件指定应用第二延迟不
应当使预对齐的第一音频信号与第二音频信号的已经实现的相互关系恶化超过指定量。第
二条件可以确保应用第二延迟不应当导致相互关系值比原始相互关系值低超过指定阈值。
已经实现的相互关系可以包括基于波形的相互关系或基于波形的相互关系的绝对值。音频
处理设备响应于确定第一条件和第二条件两者都被满足而调整对齐。
[0080] 确定质量值可以包括以下操作。音频处理设备可以将经预对齐的第一音频信号和第二音频信号切分到多个缓冲区中。针对每个缓冲区,音频处理设备计算在缓冲区内的第
一起音的部分与在缓冲区内的第二起音的部分之间的相应相互关系。音频处理设备根据相
应相互关系的最大值来确定针对每个缓冲区的相应缓冲区级延迟。音频处理设备选择在起
音之间具有最高对应相互关系的缓冲区。音频处理设备将质量值确定为所选择的缓冲区中
的起音之间的相互关系的最高峰值与所选择的缓冲区中的起音之间的相互关系的第二高
峰值之间的比率。
[0081] 在确定质量值之后,音频处理设备可以通过以下方式来确定第二条件是否被满足:确定包括所选择的缓冲区和两个相邻缓冲区的一组缓冲区中的音频信号之间的相互关
系的最大值是否大于基于波形的相互关系的最大值的指定分数,而不是在跨整个范围内的
第一音频信号xi(t)和第二音频信号xj(t)而计算出的基于起音的相互关系。
[0082] 在一些实施方式中,音频处理设备通过执行以下操作来确定第二条件是否被满足。音频处理设备从缓冲区中选择在起音之间具有最高对应相互关系的缓冲区、以及可选
地该缓冲区的相邻缓冲区中的一个或多个。音频处理设备应用第二延迟(例如,基于起音的
延迟da)以调整在所选择的一个或多个缓冲区中音频信号的对齐。在应用第二延迟之后,音
频处理设备重新计算第一音频信号与第二音频信号之间的基于波形的相互关系。然后,音
频处理设备去除基于波形的相互关系的局部振荡。去除局部振荡可以包括计算基于波形的
相互关系的包络。音频处理设备可以响应于确定在所应用的延迟下基于波形的相互关系的
包络的值大于在跨整个范围的第一音频信号和第二音频信号而计算出的基于波形的相互
关系的最大值的指定分数而确定第二条件被满足。
[0083] 音频处理设备将经对齐的第一音频信号和第二音频信号提供(512)给消费设备。消费设备可以包括以下各项中的一项或多项:存储设备(例如,磁盘或存储卡)、流式传输设
备(例如,流式传输服务器)、编辑设备(例如,混音控制台)或呈现设备(例如,放大器和一个
或多个扬声器)。
[0084] 音频处理设备可以同步多于两个音频信号。音频处理设备可以将第三音频信号与第一音频信号和第二音频信号同步。在一些实施方式中,将第三音频信号与第一音频信号
和第二音频信号同步可以包括以下操作。音频处理设备将第一音频信号、第二音频信号或
第一音频信号和第二音频信号的组合(例如,向下混合)指定为参考信号。然后,音频处理设
备将第三音频信号与参考信号同步。音频处理设备可以采用类似方式同步附加音频信号。
[0085] 在一些实施方式中,将第三音频信号与第一音频信号和第二音频信号同步可以包括以下操作。音频处理设备将要同步的第一音频信号、第二音频信号、第三音频信号和任何
其他音频信号添加到列表。然后,音频处理设备递归地执行列表缩减动作,直到列表中的所
有音频信号都被同步。列表缩减动作包括以下操作。音频处理设备基于相互关系质量,例如
通过选择具有最高相互关系的两个音频信号来从列表中选择两个音频信号。音频处理设备
同步所选择的音频信号。音频处理设备从列表中移除经同步的音频信号中的至少一个。音
频处理设备重复这些操作。
[0086] 示例性设备架构
[0087] 图6是图示了实施参照图1至图5所描述的特征和操作的设备的示例性设备架构600的框图。设备可以是例如图1至图5的音频处理设备102。设备可以包括存储器接口602、
一个或多个数据处理器、图像处理器和/或处理器604以及外围设备接口606。存储器接口
602、一个或多个处理器604和/或外围设备接口606可以是单独的部件,或者可以被集成在
一个或多个集成电路中。处理器604可以包括应用处理器、基带处理器和无线处理器。例如,
移动设备中的各种部件可以通过一个或多个通信总线或信号线耦合。
[0088] 传感器、设备和子系统可以被耦合到外围设备接口606以促进多种功能。例如,运动传感器610、光传感器612和接近度传感器614可以被耦合到外围设备接口606以促进移动
设备的定向、照明和接近功能。位置处理器615可以被连接到外围设备接口606以提供地理
定位。在一些实施方式中,位置处理器615可以被编程用于执行GNSS接收器的操作。电子磁
力计616(例如,集成电路芯片)也可以被连接到外围设备接口606以提供可用于确定磁北方
向的数据。因此,电子磁力计616可以用作电子罗盘。运动传感器610可以包括被配置用于确
定移动设备的移动速度和方向变化的一个或多个加速度计。气压计617可以包括连接到外
围设备接口606并且被配置用于测量移动设备周围的大气压力的一个或多个设备。
[0089] 相机子系统620和光学传感器622(例如,电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器)可用于促进如记录照片和视频片段等相机功能。
[0090] 可以通过一个或多个无线通信子系统624来促进通信功能,该一个或多个无线通信子系统可以包括射频接收器和发射器、和/或光学(例如,红外)接收器和发射器。通信子
系统624的具体设计和实施方式可以取决于移动设备旨在在其上进行操作的(多个)通信网
络。例如,移动设备可以包括通信子系统624,该通信子系统被设计用于在GSM网络、GPRS网
TM TM TM
络、EDGE网络、Wi‑Fi 或WiMax 网络、以及蓝牙 网络上进行操作。特别地,无线通信子系统
624可以包括托管协议,使得移动设备可以被配置为其他无线设备的基站。
[0091] 音频子系统626可以耦合到扬声器628和麦克风630以促进如语音识别、语音复制、数字记录和电话功能等语音启用功能。音频子系统626可以被配置用于接收来自用户的语
音命令。
[0092] I/O子系统640可以包括触摸表面控制器642和/或(多个)其他输入控制器644。触摸表面控制器642可以耦合到触摸表面646或垫。触摸表面646和触摸表面控制器642可以例
如使用多种触敏技术(包括但不限于,电容、电阻、红外和表面声波技术)中的任何一种、以
及其他接近度传感器阵列和用于确定与触摸表面646的一个或多个接触点的其他元件来检
测接触及接触的移动或终止。触摸表面646可以包括例如触摸屏。
[0093] (多个)其他输入控制器644可以耦合到其他输入/控制设备648,如,一个或多个按钮、摇杆开关、指移轮、红外端口、USB端口和/或如触笔等指针设备。一个或多个按钮(未示
出)可以包括用于控制扬声器628和/或麦克风630的音量的加/减按钮。
[0094] 在一个实施方式中,按压按钮达第一持续时间可以使触摸表面646的解除锁定;并且按压按钮达长于第一持续时间的第二持续时间可以接通或断开移动设备的电源。用户可
以能够定制一个或多个按钮的功能。触摸表面646还可以例如用于实施虚拟或软的按钮和/
或键盘。
[0095] 在一些实施方式中,移动设备可以呈现被记录的如MP3、AAC和MPEG文件等音频和/或视频文件。在一些实施方式中,移动设备可以包括MP3播放器的功能。其他输入/输出和控
制设备也可以被使用。
[0096] 存储器接口602可以被耦合到存储器650。存储器650可包括高速随机存取存储器和/或非易失性存储器,如,一个或多个磁盘存储设备、一个或多个光学存储设备和/或闪速
存储器(例如,NAND、NOR)。存储器650可以存储操作系统652,如iOS、达尔文、RTXC、LINUX、
UNIX、OS X、WINDOWS、或如VxWorks等嵌入式操作系统。操作系统652可以包括用于处理基本
系统服务以及用于执行硬件相关任务的指令。在一些实施方式中,操作系统652可以包括内
核(例如,UNIX内核)。
[0097] 存储器650还可以存储通信指令654,用于促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信。存储器650可以包括:图形用户界面指令656,用
于促进图形用户界面处理;传感器处理指令658,用于促进与传感器相关的处理和功能;电
话指令660,用于促进与电话相关的过程和功能;电子消息指令662,用于促进与电子消息相
关的过程和功能;web浏览指令664,用于促进与web浏览相关的过程和功能;媒体处理指令
666,用于促进与媒体处理相关的过程和功能;GNSS/位置指令668,以促进通用GNSS和与位
置相关的过程和指令;相机指令670,用于促进与相机相关的过程和功能;磁力计数据672和
校准指令674,用于促进磁力计校准。存储器650还可以存储其他软件指令(未示出),诸如:
安全指令、用于促进与web视频相关的过程和功能的web视频指令、和/或用于促进与web购
物相关的过程和功能的web购物指令。在一些实施方式中,媒体处理指令666被分为音频处
理指令和视频处理指令,用于分别促进与音频处理相关的过程和功能和与视频处理相关的
过程和功能。激活记录和国际移动设备标识(IMEI)或类似的硬件标识符也可以存储在存储
器650中。存储器650可以存储音频处理指令676,该音频处理指令在由处理器604执行时,可
以使处理器604执行各种操作,这些操作包括例如图1至图5的音频处理设备102的操作。
[0098] 以上所标识的指令和应用中的每一个可以对应于用于执行如上文所描述的一个或多个功能的一组指令。这些指令无需被实施为单独的软件程序、过程或模块。存储器650
可以包括附加的指令或更少的指令。此外,移动设备的各种功能可以在包括一个或多个信
号处理和/或专用集成电路的硬件和/或软件中实施。
[0099] 图7是图1至图5的设备的示例网络操作环境700的框图。设备702a和702b可以例如在数据通信中通过一个或多个有线和/或无线网络710进行通信。例如,无线网络712(例如,
蜂窝网络)可以通过使用网关716与如因特网等广域网(WAN)714进行通信。同样,如802.11g
无线接入点等接入设备718可以提供对广域网714的通信接入。设备702a和702b中的每一个
可以是图1的设备102、104、106或108之一。
[0100] 在一些实施方式中,可以通过无线网络712和接入设备718来建立语音和数据通信。例如,设备702a可以拨打和接收电话呼叫(例如,使用互联网协议上的语音(VoIP)协
议),发送和接收电子邮件消息(例如,使用邮局协议3(POP3)),以及通过无线网络712、网关
716和广域网714(例如,使用传输控制协议/因特网协议(TCP/IP)或用户数据报协议(UDP))
来取得电子文档和/或流(如网页、照片和视频)。同样,在一些实施方式中,设备702b可以通
过接入设备718和广域网714拨打和接收电话呼叫、发送和接收电子邮件消息以及取得电子
文档。在一些实施方式中,设备702a或702b可以使用一个或多个电缆物理地连接到接入设
备718,并且接入设备718可以是个人计算机。在这种配置中,设备702a或702b可以被称为
“系留(tethered)”设备。
[0101] 设备702a和702b还可以通过其他方式建立通信。例如,无线设备702a可以通过无线网络712与其他无线设备(例如其他移动设备、蜂窝电话等)进行通信。同样,设备702a和
TM
702b可以通过使用如蓝牙 通信设备等一个或多个通信子系统来建立对等通信720(例如,
个人局域网)。其他通信协议和拓扑结构也可以被实施。
[0102] 设备702a或702b可以例如通过一个或多个有线和/或无线网络与一种或多种服务730、740和750进行通信。例如,一种或多种音频服务730可以提供包括如上文中参照图1至
图5所描述的同步音频信号的音频处理服务。例如,音频服务730可以包括如参照图5所描述
的过程500的基于云的操作。混音服务740可以提供允许混音专业人员通过远程控制台进行
登录以对音频信号执行后同步混音操作的用户界面。流式服务750可以提供允许用户设备
下载或流式传输经同步和经混音的音频信号的用户界面。
[0103] 设备702a或702b还可以通过一个或多个有线和/或无线网络访问其他数据和内容。例如,设备702a或702b可以访问如新闻站点、简易信息聚合(RSS)订阅源、web站点、博
客、社交网站、开发者网络等内容发布者。可以响应于用户触摸例如web对象,而调用web浏
览功能或应用(例如,浏览器)来提供这种访问。
[0104] 示例系统架构
[0105] 图8是实施参照图1至图5所描述的特征和操作的示例计算设备的系统架构的框图。计算设备可以是图1至图5的音频处理设备102。包括具有更多或更少部件的架构的其他
架构是可能的。在一些实施方式中,架构800包括一个或多个处理器802(例如,双核
处理器)、一个或多个输出设备804(例如,LCD)、一个或多个网络接口806、一
个或多个输入设备808(例如,鼠标、键盘、触敏显示器)和一个或多个计算机可读介质812
(例如,RAM、ROM、SDRAM、硬盘、光盘、闪速存储器等)。这些部件可以通过一个或多个通信信
道810(例如,总线)交换通信和数据,所述通信信道可以利用各种硬件和软件来促进部件之
间的数据与控制信号的传递。
[0106] 术语“计算机可读介质”是指参与将指令提供给处理器802以供执行的介质,所述介质包括但不限于非易失性介质(例如,光盘或磁盘)、易失性介质(例如,存储器)和传输介
质。传输介质包括但不限于同轴电缆、铜线和光纤。
[0107] 计算机可读介质812可以进一步包括操作系统814(例如, 操作系统)、网络通信模块816、音频处理管理器820、视频处理管理器830和实时内容分发器840。操作系统
814可以是多用户、多处理、多任务、多线程、实时等的。操作系统814执行基本指令,所述基
本指令包括但不限于:从网络接口806和/或设备808识别输入并向所述网络接口和/或设备
提供输出;跟踪和管理计算机可读介质812(例如,存储器或存储设备)上的文件和目录;控
制外围设备;并且管理一个或多个通信信道810上的通信量。网络通信模块816包括用于建
立和保持网络连接的各种部件(例如,用于实施如TCP/IP、HTTP等通信协议的软件)。
[0108] 音频处理管理器820可以包括计算机指令,这些计算机指令在被执行时使处理器802执行如上文所描述的各种音频处理操作,例如,参考音频处理设备102。混音管理器830
可以包括计算机指令,这些计算机指令在被执行时使处理器802执行包括将经同步的音频
信号混音的音频编辑和操纵操作。实时内容分发器840可以包括计算机指令,这些计算机指
令在被执行时使处理器802执行将经同步的音频信号流式传输到一个或多个用户设备的操
作。
[0109] 可以在并行处理基础设施或对等基础设施中或在具有一个或多个处理器的单个设备上实施架构800。软件可以包括多个软件部件或者可以是单个代码主体。
[0110] 所描述的特征可以有利地在可编程系统上执行的一个或多个计算机程序中实施,所述可编程系统包括至少一个可编程处理器,所述至少一个可编程处理器被耦合以从数据
存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并向它们发送数据和指
令。计算机程序是一组指令,所述指令可以直接或间接在计算机中使用,以执行某种活动或
带来某种结果。计算机程序可以以包括编译或解释型语言的任何形式的编程语言(例如,
Objective‑C、Java)编写,并且可以以任何形式部署,包括作为单独的程序或作为模块、部
件、子例程、基于浏览器的web应用或适合于在计算环境中使用的其他单元。
[0111] 作为示例,用于执行指令程序的适合的处理器包括通用微处理器和专用微处理器两者,以及任何类型的计算机的唯一的处理器或多个处理器或核中的一个。通常,处理器将
从只读存储器或随机存取存储器或两者接收指令和数据。计算机必不可少的元件是用于执
行指令的处理器和用于存储指令和数据的一个或多个存储器。通常,计算机还将包括用于
存储数据文件的一个或多个大容量存储设备,或者可操作地耦合成与其通信;这种设备包
括磁盘,如内部硬盘和可移动盘;磁光盘;以及光盘。适合于有形地体现计算机程序指令和
数据的存储设备包括所有形式的非易失性存储器,所述非易失性存储器作为示例包括半导
体存储器设备,如EPROM、EEPROM和闪速存储器设备;磁盘,如内部硬盘和可移动盘;磁光盘;
以及CD‑ROM和DVD‑ROM盘。所述处理器和所述存储器都可以由ASIC(专用集成电路)补充或
并入ASIC中。
[0112] 为了提供与用户的交互,可以在具有显示设备的计算机上实施特征,所述显示设备如CRT(阴极射线管)监测器或LCD(液晶显示器)监视器或用于将信息显示给用户的视网
膜显示设备。计算机可以具有触摸表面输入设备(例如,触摸屏)或键盘以及如鼠标或轨迹
球等指点(pointing)设备,通过所述指点设备,用户可以向计算机提供输入。计算机可以具
有用于从用户接收语音命令的语音输入设备。
[0113] 可以在计算机系统中实施特征,所述计算机系统包括如数据服务器等后端部件,或包括如应用服务器或因特网服务器等中间件部件,或包括如具有图形用户界面或因特网
浏览器的客户端计算机等前端部件或其任何组合。系统的部件可以通过任何数字数据通信
形式或介质(如通信网络)连接。通信网络的示例包括例如LAN、WAN以及形成因特网的计算
机和网络。
[0114] 计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络交互。客户端与服务器的关系借助于在相应计算机上运行并且彼此具有客户端‑
服务器关系的计算机程序产生。在一些实施例中,服务器将数据(例如,HTML页面)传输给客
户端设备(例如,为了向与客户端设备交互的用户显示数据以及从所述用户接收用户输入
的目的)。可以在服务器处从所述客户端设备接收在客户端设备处生成的数据(例如,用户
交互的结果)。
[0115] 一个或多个计算机的系统可以被配置用于通过具有在系统上安装的在操作时使系统执行动作的软件、固件、硬件或其组合来执行特定动作。一个或多个计算机程序可以被
配置用于通过包括在由数据处理装置执行时使所述装置执行动作的指令来执行特定动作。
[0116] 虽然本说明书包含许多特定实施方式细节,但这些不应被解释为对任何发明或可能要求保护的事物的范围的限制,而是被解释为对特定于具体发明的具体实施例的特征的
描述。在单独的实施例的上下文中在本说明书中所描述的某些特征还可以按组合形式实现
在单一实施例中。相反,在单一实施例的上下文中描述的各种特征也可以被单独地或以任
何适合的子组合的方式实施在多个实施例中。此外,尽管特征在上文可以被描述为以某些
组合起作用并且甚至最初如此声明,但是在某些情况下可以从组合中去除要求保护的组合
的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
[0117] 类似地,虽然附图中以具体顺序描绘了操作,但这不应被理解成要求这种操作以所示的具体顺序或以有序顺序执行,或者所有展示的操作可以被执行,以实现期望的结果。
在某些情况下,多任务处理和并行处理可能是有利的。此外,上文描述的实施例中的各种系
统部件的分离不应被理解成在所有实施例中都要求这种分离,并且应理解的是,所描述的
程序部件和系统通常可以一起整合在单个软件产品中或封装进多个软件产品中。
[0118] 因此,已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。在一些情况下,权利要求中引用的动作可以以不同的顺序执行并且仍然实现期望的结果。另外,
在附图中描绘的过程不必需要所示出的特定顺序或者有序顺序来实现期望的结果。在某些
实施方式中,多任务处理和并行处理可能是有利的。
[0119] 已经描述了本发明的多个实施方式。
[0120] 然而,应当理解的是,可以进行各种修改而不脱离本发明的精神和范围。
[0121] 可以从以下枚举的示例性实施例(EEE)中理解本发明的各个方面:
[0122] 1.一种方法,包括:
[0123] 接收第一音频信号和第二音频信号;
[0124] 基于所述第一音频信号和所述第二音频信号的波形来确定所述第一音频信号与所述第二音频信号之间的第一相互关系;
[0125] 确定所述第一音频信号的第一起音和所述第二音频信号的第二起音;
[0126] 确定所述第一起音与所述第二起音之间的第二相互关系;
[0127] 基于所述第一相互关系和所述第二相互关系在时间上对齐所述第一音频信号和所述第二音频信号;以及
[0128] 将经对齐的第一音频信号和第二音频信号提供给消费设备,
[0129] 其中,所述方法由一个或多个计算机处理来执行。
[0130] 2.如EEE 1所述的方法,其中,确定所述第一起音和所述第二起音包括:
[0131] 确定所述第一音频信号的第一包络和所述第二音频信号的第二包络;
[0132] 将所述第一起音确定为所述第一包络的导数的正部分;以及
[0133] 将所述第二起音确定为所述第二包络的导数的正部分。
[0134] 3.如EEE 1或2所述的方法,其中,在时间上对齐所述第一音频信号和所述第二音频信号包括:
[0135] 根据与所述第一音频信号和所述第二音频信号之间的所述第一相互关系的最大值或最大绝对值对应的第一延迟来预对齐所述第一音频信号和所述第二音频信号;以及
[0136] 根据与所述第一起音和所述第二起音之间的所述第二相互关系的最大值对应的第二延迟来调整对经预对齐的第一音频信号和第二音频信号的对齐。
[0137] 4.如EEE 3所述的方法,其中,
[0138] 预对齐所述第一音频信号和所述第二音频信号是根据与所述第一相互关系的所述最大绝对值对应的所述第一延迟来执行的,并且
[0139] 所述方法包括:
[0140] 确定所述第一相互关系在所述最大绝对值处的符号为负;以及
[0141] 使所述第一音频信号或所述第二音频信号之一反相。
[0142] 5.如EEE 3所述的方法,其中,根据所述第二延迟来调整对所述经预对齐的第一音频信号和第二音频信号的对齐包括:
[0143] 将所述经预对齐的第一音频信号和第二音频信号切分到多个缓冲区中;
[0144] 针对每个所述缓冲区:
[0145] 计算在所述缓冲区内的所述第一起音的部分与在所述缓冲区内的所述第二起音的部分之间的相应相互关系;以及
[0146] 根据所述相应相互关系的最大值来确定相应缓冲区级延迟;以及
[0147] 从所述缓冲区级延迟中确定所述第二延迟;以及
[0148] 根据所述第二延迟来调整所述经预对齐的第一音频信号和第二音频信号。
[0149] 6.如EEE 5所述的方法,其中,从所述缓冲区级延迟中确定所述第二延迟包括:
[0150] 从所述缓冲区级延迟中选择与所述缓冲区当中的所述第一起音与所述第二起音之间的一个或多个最高相互关系对应的一个或多个缓冲区级延迟;以及
[0151] 将所选择的一个或多个缓冲区级延迟的平均值指定为所述第二延迟。
[0152] 7.如EEE 5所述的方法,其中,从所述缓冲区级延迟中确定所述第二延迟包括:
[0153] 确定所述缓冲区级延迟的直方图,所述直方图包括多个仓,每个仓具有与预先指定的最大可接受不对齐值对应的仓宽度,每个仓包含具有在所述仓宽度内的值的一个或多
个缓冲区级延迟;
[0154] 从所述仓中选择最普遍的仓,所述最普遍的仓是在所述直方图中的、在这些仓当中具有最大数量的缓冲区级延迟的仓;以及
[0155] 将所述最普遍的仓当中的所述缓冲区级延迟的平均值指定为所述第二延迟。
[0156] 8.如EEE 3所述的方法,其中,调整对所述经预对齐的第一音频信号和第二音频信号的对齐包括:
[0157] 确定指示所述第一起音与所述第二起音之间的所述相互关系的所估计质量的质量值;
[0158] 确定针对调整所述对齐的第一条件是否被满足,所述第一条件指定所述质量值应当大于阈值;
[0159] 确定针对调整所述对齐的第二条件是否被满足,所述第二条件指定应用所述第二延迟不应当导致相互关系值比原始相互关系值低超过指定阈值;以及
[0160] 响应于确定所述第一条件和所述第二条件都被满足而调整所述对齐。
[0161] 9.如EEE 8所述的方法,其中,确定所述质量值包括:
[0162] 将所述经预对齐的第一音频信号和第二音频信号切分到多个缓冲区中;
[0163] 针对每个所述缓冲区:
[0164] 计算在所述缓冲区内的所述第一起音的部分与在所述缓冲区内的所述第二起音的部分之间的相应相互关系;以及
[0165] 根据所述相应相互关系的最大值来确定相应缓冲区级延迟;
[0166] 基于起音之间的对应相互关系从所述多个缓冲区中选择一个或多个缓冲区;以及
[0167] 将所述质量值确定为所选择的缓冲区中的起音之间的相互关系的最高峰值与所选择的缓冲区中的起音之间的相互关系的第二高峰值之间的比率。
[0168] 10.如EEE 9所述的方法,其中,确定所述第二条件是否被满足包括:
[0169] 从所述缓冲区中选择在起音之间具有最高对应相互关系的缓冲区;
[0170] 应用所述第二延迟以在所选择的缓冲区中调整所述第一音频信号与所述第二音频信号的对齐;
[0171] 在应用所述第二延迟之后,计算所述第一音频信号与所述第二音频信号之间的基于波形的相互关系;
[0172] 计算所述基于波形的相互关系的包络;以及
[0173] 响应于确定所述包络的值大于跨整个范围(entirety)内的所述第一音频信号和所述第二音频信号计算出的相互关系的最大值的指定分数而确定所述第二条件被满足。
[0174] 11.如EEE 9所述的方法,其中,从所述多个缓冲区中选择所述一个或多个缓冲区包括选择在起音之间具有最高对应相互关系的特定缓冲区。
[0175] 12.如EEE 11所述的方法,其中,从所述多个缓冲区中选择所述一个或多个缓冲区进一步包括选择所述特定缓冲区的一个或多个相邻缓冲区。
[0176] 13.如任一前述EEE所述的方法,包括将第三音频信号与所述第一音频信号和所述第二音频信号同步。
[0177] 14.如EEE 13所述的方法,其中,将所述第三音频信号与所述第一音频信号和所述第二音频信号同步包括:
[0178] 将所述第一音频信号、所述第二音频信号、或所述第一音频信号与所述第二音频信号的组合指定为参考信号;以及
[0179] 使所述第三音频信号与所述参考信号同步。
[0180] 15.如EEE 13所述的方法,其中,将所述第三音频信号与所述第一音频信号和所述第二音频信号同步包括:
[0181] 将所述第一音频信号、所述第二音频信号和所述第三音频信号添加到列表;
[0182] 递归地执行列表缩减动作,直到所述列表中的所有音频信号都被同步,所述列表缩减动作包括:
[0183] 基于相互关系质量从所述列表中选择两个音频信号;
[0184] 同步所选择的音频信号;以及
[0185] 从所述列表中移除经同步的音频信号中的至少一个。
[0186] 16.一种系统,包括:
[0187] 一个或多个处理器;以及
[0188] 存储指令的非暂态计算机可读介质,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行EEE 1至15中任一项所述的方法。
[0189] 17.一种存储指令的非暂态计算机可读介质,所述指令在由一个或多个处理器执行时使所述一个或多个处理器执行EEE 1至15中任一项所述的方法。