会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 广播 / 音频信号 / 音频信号分析

音频信号分析

阅读:1051发布:2020-05-11

IPRDB可以提供音频信号分析专利检索,专利查询,专利分析的服务。并且提供一种服务器系统(500)用于接收在服务器系统处处理的具有相关联的音轨/音乐轨道的视频片段。该系统包括第一节拍跟踪模块,用于使用信号的速度估计和色度重音信息从音频信号中生成第一节拍时间序列。对速度估计应用向上取整函数和向下取整函数以提供整数版本,这些整数版本随后被分别应用于从音频信号的较低频率子带中导出的另一个重音信号以生成第二和第三节拍时间序列。然后,选择模块将节拍时间序列中的每一个与该另一个重音信号进行比较以识别最佳匹配。,下面是音频信号分析专利的具体信息内容。

1.一种用于音频信号分析的装置,其被配置为:

第一重音信号模块,用于生成表示音频信号中的音乐重音的第一重音信号(a1);

速度估计器,其被配置为使用所述第一重音信号(a1)来生成所述音频信号的估计速度(BPMest);

第二重音信号模块,用于生成表示所述音频信号中的音乐重音的不同的第二重音信号(a2);

第一节拍跟踪模块,用于根据所述第一重音信号(a1)和所述估计速度(BPMest)来估计第一节拍时间序列(b1);

用于对所述估计速度(BPMest)执行向上取整函数和向下取整函数以分别生成向上取整的速度估计(ceil(BPMest))和向下取整的速度估计(floor(BPMest))的装置,其中,第二节拍跟踪模块被配置为使用所述第二重音信号(a2)和所述向上取整的速度估计来生成第二节拍时间序列(b2),并使用所述第二重音信号(a2)和所述向下取整的速度估计来生成第三节拍时间序列(b3);以及序列选择器,用于识别所述第一节拍时间序列(b1)、所述第二节拍时间序列(b2)和所述第三节拍时间序列(b3)中的哪一个与所述重音信号的一个或两者中的峰值最接近一致。

2.根据权利要求1所述的装置,其中,所述第一重音信号模块被配置为通过基于基频(f0)突出度分析来提取色度重音特征,生成所述第一重音信号(a1)。

3.根据权利要求1所述的装置,其中,所述第二重音信号模块被配置为使用所述音频信号的带宽的预定子带来生成所述第二重音信号(a2)。

4.根据权利要求3所述的装置,其中,所述第二重音信号模块被配置为使用低于200Hz的预定子带来生成所述第二重音信号(a2)。

5.根据权利要求3所述的装置,其中,所述第二重音信号模块被配置为通过执行所述音频信号的多速率滤波器组分解以及使用来自预定的一个滤波器的输出来生成所述重音信号,生成所述第二重音信号(a2)。

6.根据权利要求1所述的装置,其中,所述第二节拍跟踪模块被配置为对于所述向上取整的速度估计和所述向下取整的速度估计中的每一个,使用所述估计来生成初始节拍时间序列(bt),将其与基准节拍时间序列(bi)进行比较,以及使用预定的相似度算法生成所述第二节拍时间序列和所述第三节拍时间序列。

7.根据权利要求6所述的装置,其中,由所述第二节拍跟踪模块使用的所述预定的相似度算法包括在偏移位置的范围上比较所述初始节拍时间序列(bt)和所述基准节拍时间序列(bi)以识别所述范围内的最佳匹配,所生成的第二/第三节拍时间序列包括导致所述最佳匹配的所述基准节拍时间序列(bi)的偏移版本。

8.根据权利要求6或7所述的装置,其中,所述基准节拍时间序列(bi)具有恒定的节拍间隔。

9.根据权利要求8所述的装置,其中,所述基准节拍时间序列(bi)在t=0,1/(X/60),2/(X/60)......n/(X/60)时生成,其中,X是所述估计速度的整数表示,n是整数。

10.根据权利要求7所述的装置,其中,在所述算法中使用的所述偏移位置的范围在0到

1.1/(X/60)之间,其中,X是所述估计速度的整数表示。

11.根据权利要求7所述的装置,其中,在所述算法中用于比较的所述偏移位置具有

0.1/(BPMest/60)的步长。

12.根据权利要求1所述的装置,其中,所述序列选择器被配置为识别所述节拍时间序列中的哪一个与所述第二重音信号中的峰值最接近一致。

13.根据权利要求1所述的装置,其中,所述序列选择器被配置为对于所述节拍时间序列中的每一个,计算概括统计量或值,并选择导致最大概括统计量或值的节拍时间序列,其中,所述概括统计量或值依赖于在所述序列中的节拍时间处或者在所述节拍时间附近发生的所述重音信号或每个重音信号的值。

14.根据权利要求13所述的装置,其中,所述序列选择器被配置为对于所述节拍时间序列中的每一个,计算在所述序列中的节拍时间处或者在所述节拍时间附近发生的所述重音信号或每个重音信号的平均值,并选择导致最大平均值的节拍时间序列。

15.根据权利要求1所述的装置,包括:

用于接收多个视频片段的装置,其中,每个视频片段各自具有包括共同内容的音频信号;以及视频编辑模块,用于使用在所选择的节拍序列中的节拍来识别用于所述视频片段的可能的编辑点。

16.根据权利要求15所述的装置,其中,所述视频编辑模块还被配置为在一个或多个编辑点处连接多个视频片段以生成连接的视频片段。

17.一种用于音频信号分析的方法,包括:

生成表示音频信号中的音乐重音的第一重音信号(a1);

使用所述第一重音信号(a1)来生成所述音频信号的估计速度(BPMest);

生成表示所述音频信号中的音乐重音的不同的第二重音信号(a2);

根据所述第一重音信号(a1)和所述估计速度(BPMest)来估计第一节拍时间序列(b1);

对所述估计速度(BPMest)执行向上取整函数和向下取整函数以分别生成向上取整的速度估计(ceil(BPMest))和向下取整的速度估计(floor(BPMest)),使用所述第二重音信号(a2)和所述向上取整的速度估计来生成第二节拍时间序列(b2),并使用所述第二重音信号(a2)和所述向下取整的速度估计来生成第三节拍时间序列(b3);以及识别所述第一节拍时间序列(b1)、所述第二节拍时间序列(b2)和所述第三节拍时间序列(b3)中的哪一个与所述重音信号的一个或两者中的峰值最接近一致。

18.根据权利要求17所述的方法,其中,所述第一重音信号(a1)通过基于基频(f0)突出度分析而提取色度重音特征来生成。

19.根据权利要求17所述的方法,其中,所述第二重音信号(a2)是使用所述音频信号的带宽的预定子带生成的。

20.根据权利要求19所述的方法,其中,所述第二重音信号(a2)是使用低于200Hz的预定子带生成的。

21.根据权利要求19所述的方法,其中,所述第二重音信号(a2)是通过执行所述音频信号的多速率滤波器组分解以及使用来自预定的一个滤波器的输出来生成的。

22.根据权利要求17所述的方法,其中,对于所述向上取整的速度估计和所述向下取整的速度估计中的每一个,使用所述估计来生成初始节拍时间序列(bt),所述初始节拍时间序列(bt)然后与基准节拍时间序列(bi)进行比较,以用于使用预定的相似度算法生成所述第二节拍时间序列和所述第三节拍时间序列。

23.根据权利要求22所述的方法,其中,使用所述预定的相似度算法的所述比较步骤包括:在偏移位置的范围上比较所述初始节拍时间序列(bt)和所述基准节拍时间序列(bi),以识别所述范围内的最佳匹配,所生成的第二/第三节拍时间序列包括导致所述最佳匹配的所述基准节拍时间序列(bi)的偏移版本。

24.根据权利要求22所述的方法,其中,所述基准节拍时间序列(bi)具有恒定的节拍间隔。

25.根据权利要求24所述的方法,其中,所述基准节拍时间序列(bi)在t=0,1/(X/60),

2/(X/60)......n/(X/60)时生成,其中,X是所述估计速度的整数表示,n是整数。

26.根据权利要求23所述的方法,其中,在所述算法中使用的所述偏移位置的范围是在

0与1.1/(X/60)之间,其中,X是所述估计速度的整数表示。

27.根据权利要求23所述的方法,其中,所述算法中用于比较的所述偏移位置具有0.1/(BPMest/60)的步长。

28.根据权利要求17所述的方法,其中,所述识别步骤包括:识别所述节拍时间序列中的哪一个与所述第二重音信号中的峰值最接近一致。

29.根据权利要求17所述的方法,其中,所述识别步骤包括:对于所述节拍时间序列中的每一个,计算概括统计量或值,以及选择导致最大概括统计量或值的节拍时间序列,其中,所述概括统计量或值依赖于在所述序列中的节拍时间处或者在所述节拍时间附近发生的所述重音信号或每个重音信号的值。

30.根据权利要求29所述的方法,其中,所述识别步骤包括:对于所述节拍时间序列中的每一个,计算在所述序列中的节拍时间处或者在所述节拍时间附近发生的所述重音信号或每个重音信号的平均值,以及选择导致最大平均值的节拍时间序列。

31.根据权利要求17所述的方法,包括:

接收多个视频片段,其中,每个视频片段各自具有包括共同内容的音频信号;以及使用所选择的节拍序列中的节拍来识别用于所述视频片段的可能的编辑点。

32.根据权利要求31所述的方法,还包括:在一个或多个编辑点处连接多个视频片段,以生成连接的视频片段。

说明书全文

音频信号分析

技术领域

[0001] 本发明涉及音频信号分析,更具体地,涉及音乐韵律分析。

背景技术

[0002] 在音乐术语中,音乐韵律包括音乐中强调或重音的循环模式。音乐韵律可以被描述为包括旋律脉冲(measure pulse)、节拍脉冲和塔特姆脉冲,分别是指在脉冲持续时间方面最长到最短的脉冲。
[0003] 节拍脉冲提供音乐中的基本时间单位,节拍脉冲的速率(速度)被认为是大多数人在听到一段音乐时会用脚点地的速率。在许多实际应用中,识别一段音乐中节拍脉冲的出现或者所谓的节拍跟踪是有利的。这样的应用包括音乐推荐应用,其中,在例如需要播放列表中的音乐之间的无缝混音转换的电台节目主持人(DJ)应用中以自动循环技术搜索与基准音轨相似的音乐。
[0004] 节拍跟踪系统和方法生成节拍序列,其包括在一段音乐或其一部分中节拍的时间位置。
[0005] 以下的术语有助于理解将在后面描述的某些概念。
[0006] 音高:音符的基频(fo)的生理相关性。
[0007] 色度(chroma),也称为音高集合:用整数个八度音阶分隔的音乐音高属于常见的音高集合。在西方音乐中使用12个音高集合。
[0008] 节拍或节拍法(tactus):音乐中的基本时间单位,它可被认为是大多数人在听到一段音乐时会用脚点地的速率。这个词也用于表示属于单个节拍的音乐部分。
[0009] 速度:节拍或节拍法脉冲的速率,通常以每分钟节拍(BPM)的单位表示。
[0010] 小节或旋律:定义为指定数量的具有指定持续时间的节拍的时间段。例如,在具有4/4拍号的音乐中,每个小节包括4个节拍。
[0011] 重音或基于重音的音频分析:分析音频信号以检测音乐中的事件和/或变化,包括但不限于所有离散声音事件的开始,特别是长而高的声音的开始、音色的响度的突然变化及和声变化。在下文给出进一步的细节。
[0012] 人们相信人类是通过从重音中推断规律的脉冲模式来感知音乐韵律的,其中重音是音乐中被强调的时刻。音乐中的不同事件导致重音。示例包括响度或音色的变化、和声变化以及一般的所有声音事件的开始。特别地,长而高的声音的开始导致重音。自动的速度、节拍或强拍估计器可尝试在一定程度上模仿人类对音乐韵律的感知。这可包含以下步骤:测量音乐强调、执行对一个或多个脉冲的周期估计、找出所估计的脉冲的相位、以及选择与速度对应的韵律水平或者一些其它感兴趣的韵律水平。由于重音与音乐中的事件有关,因此,基于重音的音频分析是指对音乐中的事件和/或变化的检测。这种变化可能与信号的响度、频谱和/或音高内容的变化有关。作为一个示例,基于重音的分析可能与例如使用色度特征从信号中检测频谱变化、从信号中计算新的或起始点检测函数、从信号中检测离散的起始点或者检测信号的音高和/或和声内容的变化有关。在执行频谱变化检测时,可以使用各种变换或滤波器组分解,诸如快速傅里叶变换或多速率滤波器组、或者甚至基频fo或音高突出度估计器。作为简单的示例,重音检测可通过在信号上以短帧计算信号在一组频带上的短时能量、然后计算每两个相邻帧之间的差(诸如欧几里得距离)来执行。为了增加针对各种音乐类型的鲁棒性,已经开发了很多不同的重音信号分析方法。
[0013] 以下将要描述的系统和方法利用在以下公开物中描述的背景知识,这些公开物在此通过引用结合。
[0014] [1]Cemgil A.T.等"On tempo tracking:tempogram representation and Kalman filtering."J.New Music Research,2001.
[0015] [2]Eronen,A.和Klapuri,A.,"Music  Tempo Estimation  with k-NN regression,"IEEE Trans.Audio,Speech and Language Processing,Vol.18,No.1,Jan 2010.
[0016] [3]Seppanen,Eronen,Hiipakka."Joint Beat&Tatum Tracking from Music Signals",International Conference on Music Information Retrieval,ISMIR 2006and Jarno Seppanen,Antti Eronen,Jarmo Hiipakka:Method,apparatus and computer program product for providing rhythm information from an audio signal.Nokia November 2009:US 7612275.
[0017] [4]Antti Eronen和Timo Kosonen"Creating and sharing variations of a music file"-United States Patent Application 20070261537.
[0018] [5]Klapuri,A.,Eronen,A.,Astola,J.,"Analysis of the meter of acoustic musical signals,"IEEE Trans.Audio,Speech,and Language Processing,Vol.14,No.1,2006.
[0019] [6]Jehan,Creating Music by Listening,PhD Thesis,MIT,2005.
[0020] http://web.media.mit.edu/~tristan/phd/pdf/Tristan_PhD_MIT.pdf[0021] [7]D.Ellis,"Beat Tracking  by Dynamic Programming",J.New Music Research,Special Issue on Beat and Tempo Extraction,vol.36no.1,March 2007,pp.51-60.(10pp)DOI:10.1080/09298210701653344.
[0022] [8]A.Klapuri,"Multiple fundamental frequency estimation by summing harmonic amplitudes,"in Proc.7th Int.Conf.Music Inf.Retrieval(ISMIR-06),Victoria,Canada,2006.

发明内容

[0023] 本发明的第一个方面提供了一种装置,其包括:
[0024] 第一重音信号模块,用于生成表示音频信号中的音乐重音的第一重音信号(a1);
[0025] 第二重音信号模块,用于生成表示所述音频信号中的音乐重音的不同的第二重音信号(a2);
[0026] 第一节拍跟踪模块,用于根据所述第一重音信号估计第一节拍时间序列(b1);
[0027] 第二节拍跟踪模块,用于根据所述第二重音信号估计第二节拍时间序列(b2);以及
[0028] 序列选择器,用于识别所述第一节拍时间序列(b1)和所述第二节拍时间序列(b2)中的哪一个与所述重音信号的一个或两者中的峰值最接近一致。
[0029] 该装置提供了用于识别音乐信号中的节拍位置的稳健且在计算上简单的系统和方法。特别地,该装置提供了在从电子音乐到古典和摇滚音乐的音乐风格的范围上的节拍跟踪的稳健且准确的方式。特别地,电子舞蹈音乐被更准确地处理。
[0030] 第一重音信号模块可被配置为通过基于基频(f0)突出度分析而提取色度重音特征,生成第一重音信号(a1)
[0031] 该装置可以进一步包括速度估计器,其被配置为使用第一重音信号(a1)生成音频信号的估计速度(BPMest)。
[0032] 第一节拍跟踪模块可被配置为使用第一重音信号(a1)和估计速度(BPMest)估计第一节拍时间序列。
[0033] 第二重音信号模块可被配置为使用音频信号的带宽的预定子带生成第二重音信号(a2)。预定子带可以低于200Hz。
[0034] 第二重音信号模块可被配置为通过执行音频信号的多速率滤波器组分解以及使用来自预定的一个滤波器的输出来生成重音信号,生成第二重音信号(a2)。
[0035] 该装置可进一步包括用于获取估计速度(BPMest)的整数表示的装置,其中,第二节拍跟踪模块可被配置为使用第二重音信号(a2)和整数表示来生成第二节拍时间序列(b2)。
[0036] 估计速度(BPMest)的整数表示可以使用四舍五入取整的速度估计函数(round(BPMest))或者向上取整的速度估计函数(ceil(BPMest))或者向下取整的速度估计函数(floor(BPMest))来计算。
[0037] 该装置可以进一步包括用于对估计速度BPMest执行向上取整函数和向下取整函数以分别生成向上取整的速度估计(ceil(BPMest))和向下取整的速度估计(floor(BPMest))的装置,其中,第二节拍跟踪模块可被配置为使用第二重音信号(a2)分别与向上取整的速度估计和向下取整的速度估计来生成第二节拍时间序列(b2)和第三节拍时间序列(b3),其中,序列选择器可被配置为识别第一节拍时间序列、第二节拍时间序列和第三节拍时间序列中的哪一个与重音信号的一个或两者中的峰值最接近一致。
[0038] 第二节拍跟踪模块可被配置为对于向上取整的速度估计和向下取整的速度估计中的每一个,使用所述估计来生成初始节拍时间序列(bt),将它与基准节拍时间序列(bi)进行比较,以及使用预定的相似度算法生成第二节拍时间序列和第三节拍时间序列。
[0039] 由第二节拍跟踪模块使用的预定的相似度算法可包括在偏移位置的范围上比较初始节拍时间序列(bt)和基准节拍时间序列(bi)以识别该范围内的最佳匹配,所生成的第二/第三节拍时间序列包括导致最佳匹配的基准节拍时间序列(bi)的偏移版本。
[0040] 基准节拍时间序列(bi)可具有恒定的节拍间隔。基准节拍时间序列(bi)可在t=0,1/(X/60),2/(X/60)......n/(X/60)时生成,其中,X是估计速度的整数表示,n是整数。
[0041] 在算法中使用的偏移位置的范围可以是0到1.1/(X/60)之间,其中,X是估计速度的整数表示。在算法中用于比较的偏移位置可具有0.1/(BPMest/60)的步长。
[0042] 序列选择器可被配置为识别节拍时间序列中的哪一个与第二重音信号中的峰值最接近一致。
[0043] 序列选择器可被配置为对于节拍时间序列中的每一个,计算概括统计量或值,并选择导致最大概括统计量或值的节拍时间序列,其中,概括统计量或值依赖于在序列中的节拍时间处或者在节拍时间附近发生的重音信号或每个重音信号的值。
[0044] 序列选择器可被配置为对于节拍时间序列中的每一个,计算在序列中的节拍时间处或者在节拍时间附近发生的重音信号或每个重音信号的平均值,并选择导致最大平均值的节拍时间序列。
[0045] 进一步地,可以提供根据上述限定的装置,包括:用于接收多个视频片段的装置,其中,每个视频片段各自具有包括共同内容的音频信号;以及视频编辑模块,用于使用在所选择的节拍序列中的节拍来识别用于视频片段的可能的编辑点。视频编辑模块还可被配置为在一个或多个编辑点处连接多个视频片段以生成连接的视频片段。
[0046] 本发明的第二个方面提供了一种方法,包括:生成表示音频信号中的音乐重音的第一重音信号(a1);生成表示音频信号中的音乐重音的不同的第二重音信号(a2);根据所述第一重音信号估计第一节拍时间序列(b1);根据所述第二重音信号估计第二节拍时间序列(b2);以及识别所述第一节拍时间序列(b1)和所述第二节拍时间序列(b2)中的哪一个与所述重音信号的一个或两者中的峰值最接近一致。
[0047] 第一重音信号(a1)可通过基于基频(f0)突出度分析而提取色度重音特征来生成。
[0048] 该方法还可以包括使用第一重音信号(a1)生成音频信号的估计速度(BPMest)。
[0049] 第一节拍时间序列可使用第一重音信号(a1)和估计速度(BPMest)生成。
[0050] 第二重音信号(a2)可使用音频信号的带宽的预定子带生成。
[0051] 第二重音信号(a2)可使用低于200Hz的预定子带生成。
[0052] 第二重音信号(a2)是通过执行音频信号的多速率滤波器组分解以及使用来自预定的一个滤波器的输出来生成的。
[0053] 该方法还可包括:获取所述估计速度(BPMest)的整数表示,以及使用第二重音信号(a2)和整数表示来生成第二节拍时间序列(b2)。
[0054] 估计速度(BPMest)的整数表示可使用四舍五入取整的速度估计函数(round(BPMest))或者向上取整的速度估计函数(ceil(BPMest))或者向下取整的速度估计函数(floor(BPMest))来计算。
[0055] 该方法还包括:对估计速度BPMest执行向上取整函数和向下取整函数以分别生成向上取整的速度估计(ceil(BPMest))和向下取整的速度估计(floor(BPMest)),使用第二重音信号(a2)和向上取整的速度估计来生成第二节拍时间序列(b2),使用第二重音信号(a2)和向下取整的速度估计来生成第三节拍时间序列(b3),以及识别第一节拍时间序列、第二节拍时间序列和第三节拍时间序列中的哪一个与重音信号的一个或两者中的峰值最接近一致。对于向上取整的速度估计和向下取整的速度估计中的每一个,使用所述估计来生成初始节拍时间序列(bt),所述初始节拍时间序列(bt)然后与基准节拍时间序列(bi)进行比较,以用于使用预定的相似度算法生成第二节拍时间序列和第三节拍时间序列。
[0056] 使用预定的相似度算法的比较步骤可包括:在偏移位置的范围上比较初始节拍时间序列(bt)和基准节拍时间序列(bi),以识别该范围内的最佳匹配,所生成的第二/第三节拍时间序列包括导致最佳匹配的基准节拍时间序列(bi)的偏移版本。
[0057] 基准节拍时间序列(bi)可具有恒定的节拍间隔。
[0058] 基准节拍时间序列(bi)可在t=0,1/(X/60),2/(X/60)......n/(X/60)时生成,其中,X是估计速度的整数表示,n是整数。
[0059] 在算法中使用的偏移位置的范围是在0到1.1/(X/60)之间,其中,X是估计速度的整数表示。在算法中用于比较的偏移位置可具有0.1/(BPMest/60)的步长。
[0060] 识别步骤可包括识别节拍时间序列中的哪一个与第二重音信号中的峰值最接近一致。
[0061] 识别步骤可包括:对于节拍时间序列中的每一个,计算概括统计量或值,以及选择导致最大概括统计量或值的节拍时间序列,其中,概括统计量或值依赖于在序列中的节拍时间处或者在节拍时间附近发生的重音信号或每个重音信号的值。
[0062] 识别步骤可包括:对于节拍时间序列中的每一个,计算在序列中的节拍时间处或者在节拍时间附近发生的重音信号或每个重音信号的平均值,以及选择导致最大平均值的节拍时间序列。
[0063] 还可提供使用如上所限定的节拍识别方法的方法,该方法包括:接收多个视频片段,其中,每个视频片段各自具有包括共同内容的音频信号;以及使用所选择的节拍序列中的节拍来识别用于视频片段的可能的编辑点。该方法还可包括:在一个或多个编辑点处连接多个视频片段,以生成连接的视频片段。
[0064] 本发明的第三个方面提供了一种计算机程序,包括在由计算机装置执行时控制它执行根据上述限定的任意一个的方法的指令。
[0065] 本发明的第四个方面提供了一种非暂时性计算机可读存储介质,在其上存储有计算机可读代码,该计算机可读代码在被计算装置执行时使该计算装置执行一种方法,该方法包括:生成表示音频信号中的音乐重音的第一重音信号(a1);生成表示音频信号中的音乐重音的不同的第二重音信号(a2);根据第一重音信号估计第一节拍时间序列(b1);根据第二重音信号估计第二节拍时间序列(b2);以及识别第一节拍时间序列(b1)和第二节拍时间序列(b2)中的哪一个与重音信号的一个或两者中的峰值最接近一致。
[0066] 本发明的第五个方面提供了一种装置,其包括至少一个处理器和至少一个存储器,其中,在至少一个存储器上存储有计算机可读代码,该计算机可读代码在被执行时控制至少一个处理器以:生成表示音频信号中的音乐重音的第一重音信号(a1);生成表示音频信号中的音乐重音的不同的第二重音信号(a2);根据第一重音信号估计第一节拍时间序列(b1);根据第二重音信号估计第二节拍时间序列(b2);以及识别第一节拍时间序列(b1)和第二节拍时间序列(b2)中的哪一个与重音信号的一个或两者中的峰值最接近一致。
[0067] 计算机可读代码在被执行时可控制至少一个处理器以通过基于基频(f0)突出度分析而提取色度重音特征来生成第一重音信号(a1)。
[0068] 计算机可读代码在被执行时可控制至少一个处理器以使用第一重音信号(a1)生成音频信号的估计速度(BPMest)。
[0069] 计算机可读代码在被执行时可控制至少一个处理器以使用第一重音信号(a1)和估计速度(BPMest)生成第一节拍时间序列。
[0070] 计算机可读代码在被执行时可控制至少一个处理器以使用音频信号的带宽的预定子带生成第二重音信号(a2)。
[0071] 计算机可读代码在被执行时可控制至少一个处理器以使用低于200Hz的预定子带生成第二重音信号(a2)。
[0072] 计算机可读代码在被执行时可控制至少一个处理器以通过执行音频信号的多速率滤波器组分解以及使用来自预定的一个滤波器的输出来生成第二重音信号(a2)。
[0073] 计算机可读代码在被执行时可控制至少一个处理器以获取估计速度(BPMest)的整数表示以及使用第二重音信号(a2)和整数表示来生成第二节拍时间序列(b2)。
[0074] 计算机可读代码在被执行时可控制至少一个处理器以使用四舍五入取整的速度估计函数(round(BPMest))或者向上取整的速度估计函数(ceil(BPMest))或者向下取整的速度估计函数(floor(BPMest))来计算估计速度(BPMest)的整数表示。
[0075] 计算机可读代码在被执行时可控制至少一个处理器以对估计速度BPMest执行向上取整函数和向下取整函数以分别生成向上取整的速度估计(ceil(BPMest))和向下取整的速度估计(floor(BPMest)),使用第二重音信号(a2)和向上取整的速度估计来生成第二节拍时间序列(b2),使用第二重音信号(a2)和向下取整的速度估计来生成第三节拍时间序列(b3),以及识别第一节拍时间序列、第二节拍时间序列和第三节拍时间序列中的哪一个与重音信号的一个或两者中的峰值最接近一致。
[0076] 计算机可读代码在被执行时可控制至少一个处理器以对于向上取整的速度估计和向下取整的速度估计中的每一个,使用所述估计来生成初始节拍时间序列(bt),所述初始节拍时间序列(bt)然后与基准节拍时间序列(bi)进行比较,以用于使用预定的相似度算法生成第二节拍时间序列和第三节拍时间序列。
[0077] 计算机可读代码在被执行时可控制至少一个处理器以在偏移位置的范围上比较初始节拍时间序列(bt)和基准节拍时间序列(bi),以识别在该范围内的最佳匹配,所生成的第二/第三节拍时间序列包括导致最佳匹配的基准节拍时间序列(bi)的偏移版本。
[0078] 基准节拍时间序列(bi)可具有恒定的节拍间隔。
[0079] 计算机可读代码在被执行时可控制至少一个处理器以在t=0,1/(X/60),2/(X/60)......n/(X/60)时生成基准节拍时间序列(bi),其中,X是估计速度的整数表示,n是整数。
[0080] 计算机可读代码在被执行时可控制至少一个处理器以在算法中使用0与1.1/(X/60)之间的偏移位置的范围,其中,X是估计速度的整数表示。
[0081] 计算机可读代码在被执行时可控制至少一个处理器以在算法中使用具有0.1/(BPMest/60)的步长的用于比较的偏移位置。
[0082] 计算机可读代码在被执行时可控制至少一个处理器以识别节拍时间序列中的哪一个最接近与第二重音信号中的峰值一致。
[0083] 计算机可读代码在被执行时可控制至少一个处理器以对于节拍时间序列中的每一个,计算概括统计量或值,以及选择导致最大概括统计量或值的节拍时间序列,其中,概括统计量或值依赖于在序列中的节拍时间处或在节拍时间附近发生的重音信号或每个重音信号的值。
[0084] 计算机可读代码在被执行时可控制至少一个处理器以对于节拍时间序列中的每一个,计算在序列中的节拍时间处或在节拍时间附近发生的重音信号或每个重音信号的平均值,以及选择导致最大平均值的节拍时间序列。
[0085] 计算机可读代码在被执行时可控制至少一个处理器以:接收多个视频片段,其中,每个视频片段各自具有包括共同内容的音频信号;以及使用所选择的节拍序列中的节拍来识别用于视频片段的可能的编辑点。
[0086] 计算机可读代码在被执行时可控制至少一个处理器以在一个或多个编辑点处连接多个视频片段以生成连接的视频片段。

附图说明

[0087] 现在将参考附图通过非限定性示例来描述本发明的实施例,其中:
[0088] 图1是包括根据本发明的实施例的音乐分析服务器和多个终端的网络的示意图;
[0089] 图2是图1所示的一个终端的斜视图;
[0090] 图3是图2所示的终端的组件的示意图;
[0091] 图4是示出图1的终端在普通音乐事件中使用时的示意图;
[0092] 图5是图1所示的分析服务器的组件的示意图;
[0093] 图6是示出由图1所示的分析服务器执行的处理阶段的方框图;
[0094] 图7是示出图6所示的处理阶段的一个子阶段所执行的处理阶段的方框图;
[0095] 图8是更详细地示出在图6所示的处理阶段中执行的3个处理阶段的方框图;
[0096] 图9是示出第一重音信号计算方法的示意图;
[0097] 图10是示出信号分析器的一部分的图;
[0098] 图11是示出重音滤波器组的示例图;
[0099] 图12是重音滤波器组的详细示例图。

具体实施方式

[0100] 以下描述的实施例涉及用于音频分析的系统和方法,主要涉及对音乐及其音乐旋律的分析,以识别在一段音乐或其一部分中节拍的时间位置。该过程通常被称为节拍跟踪。如上所述,节拍被认为是表示可用于各种实际应用(包括音乐推荐算法、DJ应用和自动循环)的在音乐上有意义的点。以下描述的特定实施例涉及视频编辑系统,其使用在视频片段相关联的音轨中被识别为潜在的视频角度切换点的节拍位置来自动地剪切视频片段。
[0101] 参考图1,示出了音乐分析服务器500(以下称为“分析服务器”)连接到网络300,其可以是诸如局域网(LAN)、广域网(WAN)或因特网的任何数据网络。分析服务器500被配置为分析与所接收的视频片段相关联的音频,以为了自动视频编辑的目的而执行节拍跟踪。这将在下文详细描述。
[0102] 使用中的外部终端100、102、104通过网络300与分析服务器500进行通信,以便上传具有相关联的音轨的视频片段。在这种情况下,终端100、102、104合并摄影机和音频捕捉(即麦克风)硬件和软件以用于通过网络300拍摄、存储、上传和下载视频数据。
[0103] 参考图2,示出了一个所述终端100,尽管其它终端102、104被认为是相同或相似的。终端100的外部具有触敏显示器102、硬件键104、后置照相机105、扬声器118和头戴式耳机端口120。
[0104] 图3示出了终端100的组件的示意图。终端100具有控制器106、包括显示部108和触觉式接口部110的触敏显示器102、硬件键104、照相机132、存储器112、RAM 114、扬声器118、头戴式耳机端口120、无线通信模块122、天线124和电池116。控制器106被连接到其它组件(除电池116之外)的每一个以便控制其操作。
[0105] 存储器112可以是诸如只读存储器(ROM)、硬盘驱动器(HDD)或固态驱动器(SSD)的非易失性存储器。存储器112存储操作系统126,并可存储软件应用128。RAM 114由控制器106用于数据的临时存储。操作系统126可包含代码,其在由控制器106连同RAM 114执行时控制终端的每个硬件组件的运行。
[0106] 控制器106可以采用任何适合的形式。例如,它可以是一个微控制器、多个微控制器、一个处理器或者多个处理器。
[0107] 终端100可以是移动电话或智能电话、个人数字助理(PDA)、便携式媒体播放器(PMP)、便携式计算机或者任何其它能够运行软件应用并提供音频输出的设备。在一些实施例中,终端100可以使用无线通信模块122和天线124进行蜂窝通信。无线通信模块122可以被配置为通过若干协议进行通信,诸如全球移动通信系统(GSM)、码分多址(CDMA)、通用移动电信系统(UMTS)、蓝牙和IEEE 802.11(Wi-Fi)。
[0108] 触敏显示器102的显示部108用于向终端的用户显示图像和文本,触觉式接口部110用于从用户接收触摸输入。
[0109] 除了存储操作系统126和软件应用128,存储器112还可以存储诸如音乐和视频文件的多媒体文件。很多软件应用128可被安装在终端上,包括Web浏览器、无线和音乐播放器、游戏和工具应用。存储在终端上的某些或全部软件应用可以提供音频输出。由应用提供的音频可以由终端的扬声器118转换为声音;或者,如果头戴式耳机或扬声器已经被连接到头戴式耳机端口120,则音频可以由连接到头戴式耳机端口120的头戴式耳机或扬声器转换为声音。
[0110] 在一些实施例中,终端100还可以与没有存储在终端上的外部软件应用相关联。这些外部软件应用可以是存储在远程服务器设备上的应用,并可以在远程服务器设备上部分或专门地运行。这些应用可以称为云端应用。终端100可以与远程服务器设备进行通信,以便利用存储在那儿的软件应用。这可包括接收由外部软件应用提供的音频输出。
[0111] 在一些实施例中,硬件键104是专用的音量控制键或开关。硬件键可以例如包括两个相邻的键、单独的拨动开关或拨号盘。在一些实施例中,硬件键104可以位于终端100的侧面。
[0112] 存储在存储器112上的一个所述软件应用128是专用应用(或者App),其被配置为将所拍摄的视频片段(包括其相关联的音轨上传到分析服务器500。
[0113] 分析服务器500被配置为从终端100、102、104接收视频片段,并执行对每个相关联的音轨的节拍跟踪,以用于自动视频处理和编辑的目的,例如将片段在在音乐上有意义的点处连接在一起。代替执行对每个相关联的音轨的节拍跟踪,分析服务器500可被配置为在共同音轨中执行节拍跟踪,其中共同音轨已经通过结合来自一个或多个视频片段的音轨的部分来获取。
[0114] 参考图4,将描述实际的示例。示出了终端100、102、104的每一个在由舞台区域1和扬声器3表示的音乐会的事件中使用。假定每个终端100、102、104使用它们各自的摄影机拍摄事件;考虑到终端100、102、104的不同位置,各自的视频片段将不同,但是,假如终端100、102、104都在共同的时段进行拍摄,则将会存在共同音轨。
[0115] 终端100、102、104的用户随后使用他们的上述App或者从与终端同步的计算机来将他们的视频片段上传到分析服务器500。同时,用户被提示通过输入事件的描述或者通过从下拉菜单中选择已经注册的事件来识别事件。可以设想到可替换的识别方法,例如通过使用来自终端100、102、104的相关联的GPS数据来识别拍摄位置。
[0116] 在分析服务器500处,从终端100、102、104接收的视频片段被识别为与共同事件相关联。然后,可执行对每个视频片段的后续分析以识别被用作对自动视频编辑有用的视频角度切换点的节拍。
[0117] 参考图5,示出了分析服务器500的硬件组件。这些组件包括控制器202、输入和输出接口204、存储器206和用于存储所接收的视频和音频片段的大容量存储设备208。控制器202被连接到其它组件的每一个以便控制其运行。
[0118] 存储器206(和大容量存储设备208)可以是诸如只读存储器(ROM)、硬盘驱动器(HDD)或固态驱动器(SSD)的非易失性存储器。存储器206存储操作系统210,并可存储软件应用212。RAM(未示出)由控制器202用于数据的临时存储。操作系统210可以包含代码,其在被控制器202连同RAM执行时控制每个硬件组件的运行。
[0119] 控制器202可以采用任何适合的形式。例如,控制器202可以是一个微控制器、多个微控制器、一个处理器或者多个处理器。
[0120] 软件应用212被配置为控制并执行视频处理;包括处理相关联的音频信号以执行节拍跟踪。这可以可替换地使用与软件对照的硬件级别的实现或软件和硬件两者的结合来执行。
[0121] 节拍跟踪过程参考图6进行描述。
[0122] 可以看到,在概念上至少存在两个处理路径,分别从步骤6.1和6.6开始。应用于每个处理阶段的参考标记并不指示处理的顺序。在一些实现中,处理路径可能以允许快速执行的并行方式执行。概括地说,三个节拍时间序列根据所输入的音频信号生成,具体地,根据从音频信号中导出的重音信号生成。然后,选择阶段识别三个节拍时间序列中的哪一个最匹配或适合重音信号中的一个,这个序列被认为是对于视频处理应用或者事实上任何节拍跟踪对其有用的应用最有用和准确。
[0123] 现在将依次考虑每个处理阶段。
[0124] 第一(色度)重音信号阶段
[0125] 方法在步骤6.1和6.2开始,基于基频(F0)突出度估计来计算第一重音信号(a1)。该重音信号(a1)是色度重音信号,如在[2]中所描述的提取。色度重音信号(a1)表示根据时间的音乐变化,因为它基于F0信息进行提取,因此,它强调信号中的和声和音高信息。注意,代替基于F0突出度估计来计算色度重音信号,可使用可替换的重音信号表示和计算方法。例如,可以利用在[5]或[7]中描述的重音信号。
[0126] 图9描绘了第一重音信号计算方法的概述。第一重音信号计算方法使用色度特征。存在多种方式提取色度特征,包括例如将快速傅里叶变换二进制量级与其所对应的音高集合直接相加或者使用常量Q变换。在本方法中,使用多个基频(F0)估计器以计算色度特征。F0估计可以例如如在[8]中提出的那样进行。对该方法的输入可以以44.1kHz的采样速率进行采样,并具有16比特的分辨率。成帧可以通过将输入信号分成具有一定量的重叠的帧来对输入信号应用。在本实现中,已经使用了具有50%重叠的93ms帧。该方法首先在光谱上对信号帧进行白化,然后估计每个F0候选的强度或突出度。F0候选强度被计算为它的和声分音的振幅的加权和。用于估计的基频的范围是80-640Hz。F0估计步骤的输出是每一帧的基频候选的强度向量。在此,基频被表示在线性频率刻度上。为了更好地适合音乐信号分析,基频突出度在音乐频率刻度上进行变换。具体地,使用具有1/3半音程的分辨率的频率刻度,其对应于每个八度具有36个容器(bin)。对于每一个1/3半音程范围,系统找到具有最大突出度值的基频分量,并仅保持它。为了获取36维色度向量xb(k),其中,k是帧索引,b=1,2,...b0是音高集合索引,b0=36,八度等价类在整个音高范围上进行求和。色度向量的归一化矩阵 通过在帧k上减去平均值并除以每个色度系数的标准差来获取。
[0127] 下一个步骤是使用归一化色度矩阵 进行音乐重音的估计,其中,k=1,2,…,K,b=1,2,...b0。重音估计类似于在[5]中提出的方法,但是,在此使用音高集合以代替频带。为了提高时间分辨率,色度系数的时间轨迹可以首先被插入整数因数。已经使用了因数8进行插入。可以使用通过在样本之间添加0的简单插入方法。使用该参数,在插入之后,产生的采样率fr=172Hz。随后是平滑步骤,其通过应用6阶巴特沃斯(Butterworth)低通滤波器(LPF)来进行。LPF具有截止频率fLP=10Hz。将平滑后的信号表示为zb(n)。下一步骤包括微分计算和半波校正(HWR):
[0128]
[0129] 其中,HWR(x)=max(x,0)。在下一个步骤中,形成zb(n)和其半波校正后的微分的加权平均。产生的信号是
[0130]
[0131] 在等式(2)中,因数0≤ρ≤1控制zb(n)与其半波校正后的微分之间的平衡。在本实现中,值ρ=0.6。在本发明的一个实施例中,通过对频带b进行线性平均来基于上述重音信号分析而获取重音信号a1。这样的重音信号表示在时间上的音乐强调或增强的数量。
[0132] 第一节拍跟踪阶段
[0133] 在步骤6.3中,音频信号的速度的估计(以下称为“BPMest”)使用在[2]中描述的方法进行。
[0134] 速度估计中的第一个步骤是周期性分析。周期性分析对重音信号(a1)执行。广义自相关函数(GACF)用于周期性估计。为了获取在信号的不同时间位置处的周期性估计,GACF在连续的帧中计算。帧的长度是W,在相邻帧之间有16%的重叠。不使用窗口技术。在第m个帧处,用于GACF的输入向量被表示为am:
[0135] am=[a1((m-1)W),...,a1(mW-1),0,...0]T  (3)
[0136] 其中,T表示转置。输入向量被0填充至其长度的两倍,因此,其长度是2W。GACF可以被定义为
[0137] γm(τ)=IDFT(|DFT(am)|p)  (4)
[0138] 其中,离散傅里叶变换和其逆变换分别用DFT和IDFT表示。频域压缩的数量使用系数p控制。在周期(滞后)τ处的周期性的强度由γm(τ)给出。
[0139] 其它针对GACF的可替换的周期性估计器包括例如音高开始时间间隔(inter onset interval)直方图、自相关函数(ACF)、或者梳状滤波器组。注意,传统的ACF可通过在等式(4)中设置p=2来获取。参数p可能需要对于不同的重音特征进行优化。这可以例如通过用p的不同值进行试验并评估周期性估计的准确度来进行。准确度评估可例如通过对注释了速度的数据的子集评估速度估计准确度来进行。可选择使用导致最好准确度的值。对于在此使用的色度重音特征,可以使用例如值p=0.65,其被发现在这类用于所使用的重音特征的试验中表现良好。
[0140] 在周期性估计之后,存在来自相邻帧的周期性向量的序列。为了获取音乐作品或一段音乐的单个典型速度,可计算周期性向量随时间的逐点中值。中值周期性向量可由γmed(τ)表示。此外,中值周期性向量可以被归一化以消除趋势:
[0141]
[0142] 趋势是由用于更大的滞后的缩小窗口而引起的。周期性向量的子范围可被选择作为最终的周期性向量。子范围可被当作与例如从0.06秒到2.2秒的周期对应的容器(bin)的范围。另外,最终的周期性向量可通过对于每个周期性向量除去标量平均值并将标量标准差归一化成一致来归一化。归一化后的周期性向量用s(τ)表示。注意,代替采用随时间的中值周期性向量,在帧中的周期性向量可被分别输出并进行速度估计。
[0143] 然后,基于周期性向量s(τ)执行速度估计。速度估计使用k最近邻回归进行。也可以使用其它速度估计方法,诸如基于找到可能用各种速度的先验分布加权的最大周期性值的方法。
[0144] 用T表示该周期性向量的未知速度。速度估计可以从生成重采样的测试向量sr(τ)开始。r表示重采样比率。重采样操作可用于伸展或缩小测试向量,其在某些情况下已被发现可改善结果。由于速度值是连续的,因此,这种重采样可以增加从训练数据中找到的相似成形的周期性向量的可能性。使用比率r重采样的测试向量将对应于T/r的速度。适合的比率集合可以例如是在0.87和1.15之间的57个线性分隔的比率。对于具有120BPM速度的音乐节选,重采样的测试向量对应于从104到138BPM的速度范围。
[0145] 速度估计包括计算每个训练向量tm(τ)与重采样的测试向量sr(τ)之间的欧几里得距离:
[0146]
[0147] 在等式(6)中,m=1,...,M是训练向量的索引。对于每一个训练实例m,可以存储最小距离d(m)=minrd(m,r)。还存储导致最小距离的重采样比 然后,速度可以基于导致d(m)的k个最低值的k个最近邻居进行估计。与最近邻居i对应的参考或注释速度用Tann(i)表示。测试向量速度的估计被获取作为
[0148] 速度估计可被获取为最近邻速度估计 的均值或中值。另外,加权可在中值计算中使用,以将更多权重给予那些最接近测试向量的训练实例。例如,权重wi可以被计算为
[0149]
[0150] 其中,i=1,...,k。参数θ可以被用于控制加权的陡度(steepness)。例如,可以使用值θ=0.01。然后,使用权重wi,速度估计BPMest可以被计算为速度估计 的加权中值。
[0151] 仍然参考图6,在步骤6.4中,基于在步骤6.3中获取的BPMest和在步骤6.2中获取的色度重音信号(a1)执行节拍跟踪。该第一节拍跟踪阶段6.4的结果是指示节拍时间实例的第一节拍时间序列(b1)。为此,使用与在[7]中描述的相似的动态编程例程。这个动态编程例程识别匹配第一色度重音信号(a1)中的峰值的第一节拍时间序列(b1),其允许节拍持续时间在连续的节拍之间变化。存在基于BPM估计而获取节拍时间的可替换的方法,例如,可使用隐马尔可夫模型、卡尔曼滤波器或各种启发式方法。动态编程例程的益处在于它有效地搜索了所有可能的节拍序列。
[0152] 例如,节拍跟踪阶段6.4采用BPMest并试图找到节拍时间的序列,以使得很多节拍时间对应于第一重音信号(a1)中的大的值。如在[7]中所建议的,重音信号首先使用高斯窗进行平滑。高斯窗的半宽度可以被设定成等于与BPMest对应的节拍持续时间的1/32。
[0153] 在平滑后,动态编程例程通过平滑后的重音信号值(a1)继续向前。标记时间索引n。对于每一个索引n,找到最佳前任(predecessor)节拍候选。最佳前任节拍通过最大化过渡分数与累计分数的乘积而在过去的窗口内找到。也就是说,该算法计算δ(n)=maxi(ts(l)cs(n+l)),其中,ts(l)是过渡分数,cs(n+l)是累计分数。搜索窗口的跨度l=-round(-2P),…,-round(P/2),其中,P是与BPMest对应的样本中的持续时间。过渡分数可以被定义为[0154]
[0155] 其中,l=-round(-2P),…,-round(P/2),参数θ=8控制过渡分数如何随着前一个节拍位置偏离节拍持续时间P而陡峭地减少。累计分数被存储为cs(n)=αδ(n)+(1-[α)α]1(n)。参数α用于保持过去的分数与局部匹配之间的平衡。值α=0.8。该算法还将最佳前任节拍的索引存储为 其中,
[0156] 在音乐节选的结尾,选择从结尾开始的一个节拍持续时间内的最佳累计分数,然后,使用所存储的前任节拍索引,追溯导致该分数的整个节拍序列B1。最佳累积分数可被选择为从结尾开始的一个节拍持续时间内的累计分数值的局部最大值中的最大值。如果没有找到这样的分数,则最佳累计分数被选择为超过阈值的最新局部最大值。此处的阈值是0.5乘以累计分数中局部最大值的中值累计分数值。
[0157] 应当注意,在步骤6.4中获取的节拍序列可以用于更新BPMest。在本发明的一些实施例中,BPMest基于根据从动态编程节拍跟踪步骤中获取的节拍时间来计算的中值节拍持续时间而更新。
[0158] 在步骤6.3中生成的BPMest的值是最小BPM与最大BPM之间的连续的实际值,其中,最小BPM和最大BPM对应于可被输出的最小和最大BPM值。在这个阶段,BPM的最小和最大值被在基于k个最近邻居的速度估计器的训练数据中出现的最小和最大BPM值限制。
[0159] 使用向上取整函数和向下取整函数的BPMest修正
[0160] 电子音乐经常使用整数BPM设置。考虑到这个理解,在步骤6.5中,将向上取整和向下取整函数应用于BPMest。如将要知道的,向上取整和向下取整函数分别给出上下最接近的整数或者最小的下一个和最大的前一个整数。因此,这个阶段6.5的结果是两个数据集合,表示为floor(BPMest)和ceil(BPMest)。
[0161] floor(BPMest)和ceil(BPMest)的值被用作将要在下面描述的第二处理路径中的BPM值,在第二处理路径中,对低音重音信号或者在由低频分量主导的重音信号执行节拍跟踪。
[0162] 多速率重音计算
[0163] 第二重音信号(a2)在步骤6.6中使用在[3]中描述的重音信号分析方法生成。第二重音信号(a2)基于信号的在计算上有效的多速率滤波器组分解。与基于F0突出度的重音信号(a1)相比,第二重音信号(a2)以这种方式生成:它与所输入的音乐信号中的打击和/或低频内容更相关并且不强调和声信息。具体地,在步骤6.7中,从在步骤6.6中使用的最低频带滤波器中选择重音信号,如在[3]中所描述的,以使得第二重音信号(a2)强调低音鼓敲击和其它低频事件。该子带的典型上限是187.5Hz,或者可以给定200Hz作为更一般的数字。这是由于电子舞蹈音乐通常以低音鼓所产生的稳定节拍为特征的理解而执行的。
[0164] 图10至12表示在[3]中描述的方法的一部分,特别是与使用音频信号的多速率滤波器组分解来获取第二重音信号(a2)相关的部分。还可以具体参考描述了这个过程的使用的相关美国专利No.7612275。参考图10,显示了信号分析器的一部分,其包括重采样器222和重音滤波器组226。重采样器222以恒定的采样率对音频信号220进行重采样。恒定的采样率可以是预先确定的,例如,基于重音滤波器组226的特性。因为音频信号220在重采样器222处被重采样,所以具有任意采样率的数据可被提供给分析器,并可以实现将采样率转换为适合用于重音滤波器组226的采样率,因为重采样器222能够执行任何必要的上采样和下采样,以便创建适合用于重音滤波器组226的恒定速率信号。重采样器222的输出可以被认为是重采样的音频输入。因此,在任何音频分析发生之前,重采样器222将音频信号220转换成所选择的采样率,例如,在大约20-30kHz的范围。一个实施例使用24kHz作为例子实现。所选择的采样率是满足需要的,因为分析发生在特定的频率区域。重采样可以用诸如线性内插法的相对低质量的算法进行,因为成功的分析并不需要高保真度。因此,总之,任何标准的重采样方法都可以成功地应用。
[0165] 重音滤波器组226与重采样器222通信以从重采样器22接收重采样的音频输入224。重音滤波器组226实施信号处理,以便将重采样的音频输入224变换成适合后续分析的形式。重音滤波器组226处理重采样的音频输入224,以生成子带重音信号228。每个子带重音信号228对应于重采样的音频输入224的特定频率区域。这样,子带重音信号228表示在每个子带上所感知的强调的估计。音频信号220的许多原始信息在重音滤波器组226中丢失,因为子带重音信号228被严重地下采样。应当注意,虽然图10示出了4个子带重音信号228,但是任何数量的子带重音信号228都是可能的。然而,在本申请中,只关心获取最低的子带重音信号。
[0166] 图11更详细地显示了重音滤波器组226的示例性实施例。然而,通常重音滤波器组226可以被具体化为能够下采样输入数据的任何装置或设备。如在此所引用的,术语“下采样”被定义为降低所采样的数据的采样率连同进一步处理所采样的数据,以便执行数据缩减。这样,示例性实施例采用重音滤波器组226作为抽取子带滤波器组和重音估计器来执行这样的数据缩减。适合的抽取子带滤波器组的例子可以包括如下所描述的正交镜像滤波器。
[0167] 如在图11中所示,重采样的音频信号224首先由子带滤波器组230分成子带音频信号232,然后,对于每个带,分别在对应的功率估计单元234处计算表示子带功率的功率估计信号。可替换地,可以采用基于绝对信号样本值的级别估计。然后,子带重音信号228可通过对应的重音计算单元236对每个带计算出。节拍跟踪算法的计算效率在很大程度上由重音滤波器组226的前端处理确定,因为音频信号采样率相对高,以使得即使每次采样的适度数量的操作也将导致每秒大量的操作。因此,对于该实施例,实现子带滤波器组230以使得子带滤波器组可以在内部对输入音频信号进行下采样(或抽取)。另外,功率估计提供在时间窗口上平均的功率估计,从而输出被再一次下采样的信号。
[0168] 如上所述,音频子带的数量可以变化。然而,实际上已经显示了具有4个所定义的信号带的示例性实施例,以包括足够的细节并提供良好的计算性能。在当前的示例性实施例中,假设输入采样率是24kHz,则频带可以例如是0-187.5Hz、187.5-750Hz、750-3000Hz和3000-12000Hz。这样的频带配置可以通过连续滤波和下采样相位来实现,其中,在每个阶段,采样率降低4倍。例如,在图12中,产生子带重音信号(a)的阶段从24KHz到6KHz进行下采样,产生子带重音信号(b)的阶段从6KHz到1.5KHz进行下采样,产生子带重音信号(c)的阶段从1.5KHz到375Hz进行下采样。可替换地,还可以执行更激进的下采样。因为在这个实施例中,分析结果不会以任何方式被转换回音频,子带信号的实际质量并不重要。因此,信号可以被进一步抽取,而无需考虑可能在下采样到比根据尼奎斯特定理可被允许的采样率更低的采样率时发生的混淆。
[0169] 图12更加详细地示出了重音滤波器组226的示例性实施例。重音滤波器组226通过正交镜像滤波器(QMF)238利用正交镜像滤波将重采样的音频信号224分成7个频带(在该示例中为12kHz、6kHz、3kHz、1.5kHz、750Hz、375Hz、125Hz)。来自QMF的7个一个八度的子带信号被组合成4个两个八度的子带信号(a)至(d)。在该示例性实施例中,两个最上端的组合子带信号(即,(a)和(b))被分别延迟15个和3个样本(分别在z<-15>和z<-3>),以均衡在子带上的信号组延迟。功率估计单元234和重音计算单元236生成每个子带的子带重音信号228。
[0170] 对于本申请,仅关心表示信号中的低音鼓节拍和/或其它低频事件的最低子带信号。在输出之前,最低子带重音信号可选地通过用最大样本值划分样本来进行归一化。也可以应用诸如平均值移除和/或方差归一化的其它归一化方法。归一化了的最低子带重音信号被输出为a2。
[0171] 第二节拍跟踪阶段
[0172] 在图6的步骤6.8中,生成第二和第三节拍时间序列(Bceil)、(Bfloor)。
[0173] 对该处理阶段的输入包括第二重音信号(a2)和在步骤6.5中生成的floor(BPMest)和ceil(BPMest)的值。这样做的动机是如果音乐是电子舞蹈音乐,则节拍时间的序列将很可能在floor(BPMest)或ceil(BPMest)处匹配(a2)中的峰值。
[0174] 存在各种使用(a2)、floor(BPMest)和ceil(BPMest)执行节拍跟踪的方法。在这种情况下,第二节拍跟踪阶段6.8如下执行。
[0175] 参考图7,使用被分别使用floor(BPMest)和ceil(BPMest)的每一个而应用的第二重音信号(a2)执行在[7]中描述的动态编程节拍跟踪方法。这提供了在图7中示出的两个处理路径,其中,动态编程节拍跟踪步骤用参考标记7.1和7.4表示。
[0176] 以下段落描述了仅仅一个路径(即应用于floor(BPMest))的过程,但是,将知道相同的过程在应用于ceil(BPMest)的另一个路径中执行。像前面那样,与两个处理路径有关的参考标记决不表示处理的顺序;两个路径可以并行地进行。
[0177] 步骤7.1的动态编程节拍跟踪方法给出初始节拍时间序列bt。接下来,在步骤7.2中,理想节拍时间序列bi被计算为:
[0178] bi=0、1/(floor(BPMest)/60)、2/(floor(BPMest)/60)等。
[0179] 接下来,在步骤7.3中,当bi偏移很小的量时,在初始节拍时间序列bt与理想节拍时间序列bi之间找出最佳匹配。为了找到该匹配,使用在[1]中提出的用于测量两个节拍时间序列的相似度的标准。评估分数R(bt、bi+dev),其中,R是在[1]中提出的用于速度跟踪准确度的标准,dev是范围从0开始以0.1/(floor(BPMest)/60)为步长到1.1/(floor(BPMest)/60)的偏差。注意,步长是参数,并且可以改变。在Matlab语言中,分数R可被计算为:
[0180] function R=beatscore_cemgil(bt,at)
[0181] sigma_e=0.04;%所期望的开始展开
[0182] %匹配最近的节拍
[0183] id=nearest(at(:)',bt(:));
[0184] %计算距离
[0185] d=at-bt(id);
[0186] %计算跟踪索引
[0187] s=exp(-d.^2/(2*sigma_e^2));
[0188] R=2*sum(s)/(length(bt)+length(at));
[0189] 对例程的输入“bt”是bt,在每次迭代的输入“at”是bi+dev。函数“nearest”找出两个向量中的最近值并返回“bt”中最接近“at”的值的索引。在Matlab语言中,该函数可以被表示为
[0190] function n=nearest(x,y)
[0191] %x行向量
[0192] %y列向量:
[0193] %y中最接近x的值的索引
[0194] =ones(size(y,i),i)*x;
[0195] [junk,n]=min(abs(x-y));
[0196] 输出是节拍时间序列bi+devmax,其中,devmax是导致最大分数R的偏差。应当注意,在此也可以使用除了R之外的分数。期望的是,分数测量两个节拍序列的相似度。
[0197] 如上所指示的,也可以在步骤7.4、7.5和7.6中对ceil(BPMest)执行该过程,而上面段落中的floor(BPMest)的值也相应地变化。
[0198] 步骤7.3和7.6的输出是2个节拍时间序列:基于ceil(BPMest)的Bceil和基于floor(BPMest)的Bfloor。注意,这些节拍时间序列具有恒定的节拍间隔。也就是说,两个相邻节拍间的持续时间在整个节拍时间序列中是恒定的。
[0199] 节拍时间序列的选择
[0200] 继续参考图6,作为第一和第二节拍跟踪阶段6.4、6.8的结果,有3个节拍时间序列:
[0201] 基于色度重音信号和实际BPM值BPMest的b1;
[0202] 基于ceil(BPMest)的bceil;以及
[0203] 基于floor(BPMest)的bfloor。
[0204] 剩下的处理阶段6.9、6.10、6.11确定这些序列中的哪个最好地解释所获取的重音信号。为此,可使用重音信号a1、a2中的任一个或两者。更准确和稳健的结果已经通过只使用a2观察到,其表示多速率重音信号的最低频带。
[0205] 如在图8中所表示的,采用如下的评分系统:首先,分别计算在与b1、bceil和bfloor中的每一个中的节拍时间对应的时间处的重音信号a2的平均值。在步骤6.11中,无论哪个节拍时间序列给出重音信号a2的最大平均值都被认为是最佳匹配,并被选择为步骤6.12的输出节拍时间序列。代替平均值,可使用其它测量,诸如几何平均值、调和平均值、中值、最大值或总和。
[0206] 作为实现细节,当计算平均重音信号值时,在节拍索引中允许重音信号采样周期的最大+/-十倍的小的恒定偏差。也就是说,在找平均分数时,系统通过偏差的范围进行迭代,在每一次迭代中将当前偏差值加到节拍索引上,并计算和存储与所取代的节拍索引对应的重音信号的平均值。最后,从与不同偏差值对应的平均值中找出最大平均值并输出。该步骤是可选的,但是已经发现可提高稳健性,因为借助于偏差,可以使节拍时间更准确地与重音信号中的峰值匹配。此外,可选地,也可以使偏离的节拍时间序列中的个别节拍索引偏离。在这种情况下,每个节拍索引偏离最多-/+一个样本,在计算平均值时,与每个节拍对应的重音信号值被当作在该范围内的最大值。这允许搜索个别节拍的准确位置。该步骤还已被发现可以稍微提高方法的稳健性。
[0207] 直观地,最终的评分步骤执行三个所获取的候选节拍时间序列b1、Bceil、Bfloor的每一个与重音信号a2的匹配,并选择给出最佳匹配的节拍时间序列。如果重音信号中的高值与节拍时间一致,则匹配是好的,导致在节拍时间处的高的平均重音信号值。如果基于整数BPM的节拍序列即Bceil和Bfloor中的一个很好地解释了重音信号a2,也就是说,导致在节拍处的高的平均重音信号值,则它将在基线节拍时间序列b1上被选择。实验数据已经显示这在所输入的音乐信号对应于电子舞蹈音乐(或者具有由低音鼓指示的强节拍并具有整数值的速度的其它音乐)时通常都是这种情况,并且该方法显著提高了在这种风格音乐中的性能。当Bceil和Bfloor没有给出足够高的平均值时,则使用节拍序列b1。这已经被观察到是针对除了电子音乐以外的大多数音乐类型的情况。
[0208] 代替使用ceil(BPMest)和floor(BPMest),该方法还可以使用单个整数值的BPM估计。也就是说,该方法计算例如round(BPMest)、ceil(BPMest)和floor(BPMest)之一,并使用低频重音信号a2执行节拍跟踪。在些情况下,从BPM值到整数的转换可完全省略,使用BPMest对a2执行节拍跟踪。
[0209] 在速度估计步骤产生了在信号的不同时间位置上的BPM值的序列的情况下,可以例如通过对BPM值求平均值或取中值来获取用于对重音信号a2的节拍跟踪的速度值。也就是说,在这种情况下,该方法可以使用来自速度估计器的逐帧速度估计,对基于色度重音特征的重音信号a1执行节拍跟踪。应用于a2的节拍跟踪可以假定恒定速度,并使用全局平均或中值BPM估计(可取整为整数)进行。
[0210] 总的来说,在软件控制下由控制器202执行的音频分析处理包括以下步骤:
[0211] -使用在[2]和[7]中描述的方法的组合,获取速度(BPM)估计和第一节拍时间序列;
[0212] -使用在[3]中描述的方法,获取强调低频带重音的重音信号;
[0213] -计算速度估计的向上取整整数和向下取整整数;
[0214] -使用重音信号、速度估计的向上取整整数和向下取整整数,计算第二和第三节拍时间序列;
[0215] -使用重音信号,计算第一、第二和第三节拍时间序列的优良分数;以及[0216] -输出对应于最佳优良分数的节拍时间序列。
[0217] 所述步骤利用了以下理解:工作室制作的电子音乐,某些时候也可以是现场音乐(特别是在俱乐部和/或其它电子音乐音乐会或演出中),使用被设定在音序器内或者通过使用节拍器获取的恒定速度。另外,速度通常是整数值。实验结果已经显示,使用上述的系统和方法,电子音乐的节拍跟踪准确度从大约60%正确提高到超过90%正确。特别地,基于在[2]中提出的速度估计和在[7]中提出的应用在色度重音特征上的节拍跟踪步骤的节拍跟踪方法有时易于产生节拍相位误差,这意味着节拍可位于节拍之间而不是位于节拍上。这样的误差可能是由于例如展示了大量切分音的音乐,即,具有音乐事件、强调或重音弱拍(off-beat)而不是强拍(on-beat)。以上描述的系统和方法特别有助于除去电子舞蹈音乐中的节拍相位误差。
[0218] 虽然主要实施例采用速度估计,但在更一般的意义上,可以使用持续时间或频率估计,即,与诸如节拍的某一韵律级别对应的信号中的持续时间或频率的估计。节拍持续时间的持续时间估计被称为速度估计,但是也可以使用其它韵律级别。速度与如1/<节拍持续时间>*60的节拍持续时间有关,也就是说,0.5秒的持续时间对应于每分钟120节拍的速度。也就是说,速度是与速度的脉冲的频率的表示。可替换地,系统当然可以使用另一种频率表示,诸如Hz,其中,2Hz对应于120BPM。
[0219] 可以知道,以上描述的实施例仅仅是说明性的,而并不限定本发明的范围。对于阅读了本申请的本领域技术人员,其它变化和修改是显而易见的。
[0220] 另外,本申请的公开应当被理解为包括在此明确或者隐含公开的任何新的特征或任何新的特征组合或其任何概括,在对本申请或从本申请中产生的任何申请的审查期间,可以编写新的权利要求以覆盖这样的特征和/或这样的特征的组合。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用