BPM检测方法及装置制造方法及图纸

技术编号:15331905 阅读:42 留言:0更新日期:2017-05-16 15:04
本发明专利技术公开了一种BPM检测方法及装置,属于信号处理技术领域。所述方法包括:对音频信号片段进行信号处理,得到峰值点序列;从峰值点序列中确定出第一峰值点和第二峰值点;根据第一峰值点的序列位置和第二峰值点的序列位置确定节拍型;根据第一峰值点的序列位置和取值、第二峰值点的序列位置和取值以及节拍型确定出第一候选点和第二候选点;根据第一候选点、第二候选点和节拍型计算BPM。本发明专利技术解决了在音乐压缩之后,将能量幅度低于预定阈值的位置作为停顿点,根据停顿点的周期值计算BPM的准确率较低的问题,达到了提高BPM检测的准确率的效果。

BPM detecting method and device

The invention discloses a method and a device for detecting BPM, belonging to the technical field of signal processing. The method includes: the audio signal segment for signal processing, get the peak sequence; determining a first peak and second peak from the peak point in the sequence; according to the sequence position sequence position and the second peak of the first peak point to determine the beat type; according to the first peak value point sequence position and value, the second peak the position and sequence value and beat type determining a first candidate and second candidate; BPM was calculated according to the first candidate, second candidate points and beat type. The invention solves the problems in music after compression, the energy range below a predetermined threshold position as a pause, pause point according to the cycle calculation accuracy of BPM lower, to improve the accuracy of BPM detection results.

【技术实现步骤摘要】
BPM检测方法及装置
本专利技术实施例涉及信号处理
,特别涉及一种BPM检测方法及装置。
技术介绍
BPM(BeatPerMinute,每分钟节拍数)是音乐的特征之一,用于衡量音乐的节拍频率,BPM的数值越高表示节拍频率越高,音乐的节奏越快。现有技术中对BPM的检测,首先对截取的音乐片段的自相关函数进行峰值搜索,确定每一节拍包含的帧数I,比如,音乐片段的自相关函数横坐标取值范围为0~1000帧,通过对自相关函数进行峰值搜索,确定出横坐标取60时自相关函数的峰值最大,即确定每一节拍包含的帧数I是60帧;然后判断音乐片段的自相关函数在节拍型X乘以帧数I的整数倍位置的帧是否为峰值,若判断结果为峰值的帧数大于阈值,则确定节拍型为X拍型,若判断结果为峰值的帧数不大于阈值,则重新选取一个X的值代入,通常流行音乐的节拍型为2拍型或3拍型,因此,X可以取2或3;之后对音乐片段进行能量幅度检测,将能量幅度低于预定阈值的位置作为停顿点,根据停顿点的时间间隔确定停顿点的周期值,将两个停顿点之间的时间间隔确定为一句歌词的时间长度,并且一句歌词包含4个小节,根据停顿点的周期值确定每个小节的时间长度;最后根据节拍型和每个小节的时间长度计算音乐片段的BPM。但由于现在很多音乐通过压缩,整体能量幅度比较平均,将能量幅度低于预定阈值的位置作为停顿点,根据停顿点的周期值确定出的一句歌词的时间长度可能不准确,并且一句歌词不一定是4个小节,从而导致最终计算得到的BPM的准确率较低。
技术实现思路
为了解决现有技术中在音乐压缩之后,通过将能量幅度低于预定阈值的位置作为停顿点,根据停顿点的周期值确定每个小节的时间长度,导致计算得到的BPM的准确率较低的问题,本专利技术实施例提供了一种BPM检测方法及装置。所述技术方案如下:第一方面,提供了一种BPM检测方法,所述方法包括:对音频信号片段进行信号处理,得到峰值点序列;从所述峰值点序列中确定出第一峰值点和第二峰值点,所述第一峰值点是所述峰值点序列中的第一序列范围内取值最大的点,所述第二峰值点是所述峰值点序列中的第二序列范围内取值最大的点,所述第一序列范围中包含的峰值点的数量比所述第二序列范围中包含的峰值点的数量少,所述第二序列范围的起始点为所述第一峰值点;根据所述第一峰值点的序列位置和所述第二峰值点的序列位置确定节拍型;根据所述第一峰值点的序列位置和取值、所述第二峰值点的序列位置和取值以及所述节拍型确定出第一候选点和第二候选点;根据所述第一候选点、所述第二候选点和所述节拍型计算BPM。可选地,所述根据所述第一峰值点的序列位置和所述第二峰值点的序列位置确定节拍型,包括:对所述第二峰值点的序列位置除以所述第一峰值点的序列位置的结果进行四舍五入取整,得到第一数值;判断所述第一数值是否是3的整数倍;当所述第一数值是3的整数倍时,确定所述节拍型为3拍型;当所述第一数值不是3的整数倍时,确定所述节拍型为2拍型。可选地,所述第一数值是2的整数倍或是3的整数倍;所述根据所述第一峰值点的序列位置和取值、所述第二峰值点的序列位置和取值以及所述节拍型确定出第一候选点和第二候选点,包括:根据所述第一峰值点的序列位置和所述节拍型确定第三峰值点和第四峰值点;根据第一策略从所述第一峰值点、所述第三峰值点和所述第四峰值点中确定出所述第一候选点和所述第二候选点。可选地,所述根据所述第一峰值点的序列位置和所述节拍型确定第三峰值点和第四峰值点,包括:根据所述第一峰值点的序列位置和所述节拍型确定第一序列位置;根据所述第一序列位置和预定误差范围确定第三序列范围;将所述第三序列范围内取值最大的点确定为所述第三峰值点;将所述第一序列位置乘以预定系数得到第二序列位置,所述预定系数为大于1的整数;根据所述第二序列位置和所述预定误差范围确定第四序列范围;将所述第四序列范围内取值最大的点确定为所述第四峰值点。可选地,所述根据第一策略从所述第一峰值点、所述第三峰值点和所述第四峰值点中确定出所述第一候选点和所述第二候选点,包括:利用第一系数乘以所述第一峰值点的取值,得到第一峰值;利用第二系数乘以所述第三峰值点的取值,得到第二峰值;利用第三系数乘以所述第四峰值点的取值,得到第三峰值;确定出所述第一峰值、所述第二峰值和所述第三峰值中的最大值;当所述最大值为所述第一峰值时,将所述第一峰值点确定为所述第一候选点,将所述第三峰值点确定为所述第二候选点;当所述最大值为所述第二峰值时,将所述第三峰值点确定为所述第一候选点,将所述第一峰值点确定为所述第二候选点;当所述最大值为所述第四峰值时,将所述第四峰值点确定为所述第一候选点,将所述第三峰值点确定为所述第二候选点;其中,所述第一系数大于所述第二系数,所述第二系数大于所述第三系数。可选地,所述第一数值不是2的整数倍或不是3的整数倍;所述根据所述第一峰值点的序列位置和取值、所述第二峰值点的序列位置和取值以及所述节拍型确定出第一候选点和第二候选点,包括:根据所述第一峰值点的序列位置、所述第二峰值点的序列位置和所述节拍型确定第五峰值点和第六峰值点;根据第二策略从所述第一峰值点、所述第二峰值点、所述第五峰值点和所述第六峰值点中确定出所述第一候选点和所述第二候选点。可选地,所述根据所述第一峰值点的序列位置、所述第二峰值点的序列位置和所述节拍型确定第五峰值点和第六峰值点,包括:根据所述第一峰值点的序列位置和所述节拍型确定第三序列位置;根据所述第三序列位置和预定误差范围确定第五序列范围;将所述第五序列范围内取值最大的点确定为所述第五峰值点;根据第二峰值点的序列位置和所述节拍型确定第四序列位置;根据所述第四序列位置和所述预定误差范围确定第六序列范围;将所述第六序列范围内取值最大的点确定为所述第六峰值点。可选地,所述根据第二策略从所述第一峰值点、所述第二峰值点、所述第五峰值点和所述第六峰值点中确定出所述第一候选点和所述第二候选点,包括:当所述第二峰值点的序列位置与所述第一峰值点的序列位置的间隔小于预定阈值时,将所述第一峰值点确定为所述第一候选点,将所述第五峰值点确定为所述第二候选点;当所述第二峰值点的序列位置与所述第一峰值点的序列位置的间隔不小于所述预定阈值时,利用第四系数乘以所述第一峰值点的取值,得到第四峰值,利用第五系数乘以所述第二峰值点的取值,得到第五峰值;当所述第四峰值大于所述第五峰值时,将所述第一峰值点确定为所述第一候选点,将所述第五峰值点确定为所述第二候选点;当所述第四峰值小于所述第五峰值时,将所述第二峰值点确定为所述第一候选点,将所述第六峰值点确定为所述第二候选点;其中,所述第四系数大于所述第五系数。可选地,所述根据所述第一候选点、所述第二候选点和所述节拍型计算BPM,包括:将所述第一候选点的序列位置代入转换公式,计算得到第一BPM;将所述第二候选点的序列位置代入转换公式,计算得到第二BPM;判断所述第一BPM是否在所述预定范围内;当所述第一BPM在所述预定范围内时,将所述第一BPM确定为所述音频信号片段的BPM。可选地,所述判断所述第一BPM是否在所述预定范围内之后,还包括:当所述第一BPM不在所述预定范围内时,判断所述第二BPM是否在所述预定范围内;当所述第二BPM在所述预定范围内时,将所述第二BPM确定为所述音频本文档来自技高网...
BPM检测方法及装置

【技术保护点】
一种BPM检测方法,其特征在于,所述方法包括:对音频信号片段进行信号处理,得到峰值点序列;从所述峰值点序列中确定出第一峰值点和第二峰值点,所述第一峰值点是所述峰值点序列中的第一序列范围内取值最大的点,所述第二峰值点是所述峰值点序列中的第二序列范围内取值最大的点,所述第一序列范围中包含的峰值点的数量比所述第二序列范围中包含的峰值点的数量少,所述第二序列范围的起始点为所述第一峰值点;根据所述第一峰值点的序列位置和所述第二峰值点的序列位置确定节拍型;根据所述第一峰值点的序列位置和取值、所述第二峰值点的序列位置和取值以及所述节拍型确定出第一候选点和第二候选点;根据所述第一候选点、所述第二候选点和所述节拍型计算BPM。

【技术特征摘要】
1.一种BPM检测方法,其特征在于,所述方法包括:对音频信号片段进行信号处理,得到峰值点序列;从所述峰值点序列中确定出第一峰值点和第二峰值点,所述第一峰值点是所述峰值点序列中的第一序列范围内取值最大的点,所述第二峰值点是所述峰值点序列中的第二序列范围内取值最大的点,所述第一序列范围中包含的峰值点的数量比所述第二序列范围中包含的峰值点的数量少,所述第二序列范围的起始点为所述第一峰值点;根据所述第一峰值点的序列位置和所述第二峰值点的序列位置确定节拍型;根据所述第一峰值点的序列位置和取值、所述第二峰值点的序列位置和取值以及所述节拍型确定出第一候选点和第二候选点;根据所述第一候选点、所述第二候选点和所述节拍型计算BPM。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一峰值点的序列位置和所述第二峰值点的序列位置确定节拍型,包括:对所述第二峰值点的序列位置除以所述第一峰值点的序列位置的结果进行四舍五入取整,得到第一数值;判断所述第一数值是否是3的整数倍;当所述第一数值是3的整数倍时,确定所述节拍型为3拍型;当所述第一数值不是3的整数倍时,确定所述节拍型为2拍型。3.根据权利要求2所述的方法,其特征在于,所述第一数值是2的整数倍或是3的整数倍;所述根据所述第一峰值点的序列位置和取值、所述第二峰值点的序列位置和取值以及所述节拍型确定出第一候选点和第二候选点,包括:根据所述第一峰值点的序列位置和所述节拍型确定第三峰值点和第四峰值点;根据第一策略从所述第一峰值点、所述第三峰值点和所述第四峰值点中确定出所述第一候选点和所述第二候选点。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一峰值点的序列位置和所述节拍型确定第三峰值点和第四峰值点,包括:根据所述第一峰值点的序列位置和所述节拍型确定第一序列位置;根据所述第一序列位置和预定误差范围确定第三序列范围;将所述第三序列范围内取值最大的点确定为所述第三峰值点;将所述第一序列位置乘以预定系数得到第二序列位置,所述预定系数为大于1的整数;根据所述第二序列位置和所述预定误差范围确定第四序列范围;将所述第四序列范围内取值最大的点确定为所述第四峰值点。5.根据权利要求3所述的方法,其特征在于,所述根据第一策略从所述第一峰值点、所述第三峰值点和所述第四峰值点中确定出所述第一候选点和所述第二候选点,包括:利用第一系数乘以所述第一峰值点的取值,得到第一峰值;利用第二系数乘以所述第三峰值点的取值,得到第二峰值;利用第三系数乘以所述第四峰值点的取值,得到第三峰值;确定出所述第一峰值、所述第二峰值和所述第三峰值中的最大值;当所述最大值为所述第一峰值时,将所述第一峰值点确定为所述第一候选点,将所述第三峰值点确定为所述第二候选点;当所述最大值为所述第二峰值时,将所述第三峰值点确定为所述第一候选点,将所述第一峰值点确定为所述第二候选点;当所述最大值为所述第四峰值时,将所述第四峰值点确定为所述第一候选点,将所述第三峰值点确定为所述第二候选点;其中,所述第一系数大于所述第二系数,所述第二系数大于所述第三系数。6.根据权利要求2所述的方法,其特征在于,所述第一数值不是2的整数倍或不是3的整数倍;所述根据所述第一峰值点的序列位置和取值、所述第二峰值点的序列位置和取值以及所述节拍型确定出第一候选点和第二候选点,包括:根据所述第一峰值点的序列位置、所述第二峰值点的序列位置和所述节拍型确定第五峰值点和第六峰值点;根据第二策略从所述第一峰值点、所述第二峰值点、所述第五峰值点和所述第六峰值点中确定出所述第一候选点和所述第二候选点。7.根据权利要求6所述的方法,其特征在于,所述根据所述第一峰值点的序列位置、所述第二峰值点的序列位置和所述节拍型确定第五峰值点和第六峰值点,包括:根据所述第一峰值点的序列位置和所述节拍型确定第三序列位置;根据所述第三序列位置和预定误差范围确定第五序列范围;将所述第五序列范围内取值最大的点确定为所述第五峰值点;根据第二峰值点的序列位置和所述节拍型确定第四序列位置;根据所述第四序列位置和所述预定误差范围确定第六序列范围;将所述第六序列范围内取值最大的点确定为所述第六峰值点。8.根据权利要求6所述的方法,其特征在于,所述根据第二策略从所述第一峰值点、所述第二峰值点、所述第五峰值点和所述第六峰值点中确定出所述第一候选点和所述第二候选点,包括:当所述第二峰值点的序列位置与所述第一峰值点的序列位置的间隔小于预定阈值时,将所述第一峰值点确定为所述第一候选点,将所述第五峰值点确定为所述第二候选点;当所述第二峰值点的序列位置与所述第一峰值点的序列位置的间隔不小于所述预定阈值时,利用第四系数乘以所述第一峰值点的取值,得到第四峰值,利用第五系数乘以所述第二峰值点的取值,得到第五峰值;当所述第四峰值大于所述第五峰值时,将所述第一峰值点确定为所述第一候选点,将所述第五峰值点确定为所述第二候选点;当所述第四峰值小于所述第五峰值时,将所述第二峰值点确定为所述第一候选点,将所述第六峰值点确定为所述第二候选点;其中,所述第四系数大于所述第五系数。9.根据权利要求1所述的方法,其特征在于,所述根据所述第一候选点、所述第二候选点和所述节拍型计算BPM,包括:将所述第一候选点的序列位置代入转换公式,计算得到第一BPM;将所述第二候选点的序列位置代入转换公式,计算得到第二BPM;判断所述第一BPM是否在所述预定范围内;当所述第一BPM在所述预定范围内时,将所述第一BPM确定为所述音频信号片段的BPM。10.根据权利要求9所述的方法,其特征在于,所述判断所述第一BPM是否在所述预定范围内之后,还包括:当所述第一BPM不在所述预定范围内时,判断所述第二BPM是否在所述预定范围内;当所述第二BPM在所述预定范围内时,将所述第二BPM确定为所述音频信号片段的BPM。11.根据权利要求10所述的方法,其特征在于,所述判断所述第二BPM是否在所述预定范围内之后,还包括:当所述第一BPM和所述第二BPM均不在所述预定范围内时,将所述第一BPM与所述预定范围的上限值和下限值进行比较;当所述第一BPM小于所述预定范围的下限值时,利用所述第一BPM乘以所述节拍型,得到所述音频信号片段的BPM;当所述第一BPM大于所述预定范围的上限值时,利用所述第一BPM除以所述节拍型,得到所述音频信号片段的BPM。12.根据权利要求9所述的方法,其特征在于,所述信号处理至少包括对所述音频信号片段的采样,所述采样的参数至少包括采样频率和步进值;所述转换公式为:其中,m表示所述采样频率,n表示所述步进值,P表示候选点的序列位置。13.一种BPM检测装置,其特征在于,所述装置包括:处理模块,用于对音频信号片段进行信号处理,得到峰值点序列;第一确定模块,用...

【专利技术属性】
技术研发人员:劳振锋
申请(专利权)人:广州酷狗计算机科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1