一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

音乐节拍的检测方法、检测装置以及电子设备与流程

2022-04-06 18:29:03 来源:中国专利 TAG:


1.本技术涉及音乐信息分析领域,具体而言,涉及一种音乐节拍的检测方法、检测装置、计算机可读存储介质、处理器以及电子设备。


背景技术:

2.节奏与音调是音乐的两大基本组成部分,自动追踪音乐是音乐信息分析中的一项重要技术手段,其可以运用在音乐抄袭等任务。当前主流的音乐节奏检测方法均局限于小范围内的能量变化,如专利cn107103917a,其利用相邻三个帧之间的能量峰值来判断是否为节拍点。该方法只考虑了节拍点的能量分布,节拍点的能量确实在其相邻的时间节点较大,但能量较大的点并不一定是节拍点,这导致了节奏检测的准确率较低。
3.在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。


技术实现要素:

4.本技术的主要目的在于提供一种音乐节拍的检测方法、检测装置、计算机可读存储介质、处理器以及电子设备,以解决现有技术中根据能量分布来确定是否为节拍点,造成检测准确率较低的问题。
5.根据本发明实施例的一个方面,提供了一种音乐节拍的检测方法,包括:获取目标音频数据;根据所述目标音频数据,建立状态空间,所述状态空间包括多个bpm以及各所述bpm的多个音频点,所述音频点具有隐藏状态,各所述音频点为根据所述目标音频数据的时长对所述bpm进行拆分得到的,所述隐藏状态包括是节拍点的状态或者不是所述节拍点的状态;至少根据所述状态空间,确定所述目标音频数据是否为所述节拍点。
6.可选地,根据所述目标音频数据,建立状态空间,包括:获取多个所述bpm根据确定第一数量fps,其中,t1=1秒,t2为所述目标音频数据的时长;根据确定各所述bpm的音频点数量m;根据各所述音频点数量,对所述bpm进行拆分,得到多个所述音频点。
7.可选地,至少根据所述状态空间,确定所述目标音频数据是否为所述节拍点,包括:根据所述状态空间,确定多个第一概率,所述第一概率为任意两个所述音频点在时间上相邻的概率;确定幅值和,所述幅值和为所述目标音频数据在预定频段内的幅值之和,所述预定频段为预设的频段范围;根据所述状态空间以及所述幅值和,确定多个第二概率,所述第二概率为所述目标音频数据对应的各所述音频点具有对应的所述隐藏状态的概率;根据各所述第一概率以及各所述第二概率,确定所述目标音频数据是否为所述节拍点,以及确定所述目标音频数据的所述bpm。
8.可选地,根据所述状态空间,确定多个第一概率,包括:根据确定各所述第一概率,其中,ω
t
为t时刻的所述音频点的所述bpm,ω
t-1
为t-1时刻的所述音频点的所述bpm,表示所述t时刻的所述音频点。
9.可选地,根据所述状态空间以及所述幅值和,确定多个第二概率,包括:根据确定各所述第二概率,其中,i为所述隐藏状态,i=0或者1,当i=0时,yi表示所述音频点的所述隐藏状态为不是所述节拍点的状态,当i=1时,yi表示所述音频点的所述隐藏状态为是所述节拍点的状态,s(t)为所述幅值和。
10.可选地,根据各所述第一概率以及各所述第二概率,确定所述目标音频数据是否为所述节拍点,以及确定所述目标音频数据的所述bpm,包括:根据确定y
t
对应的所述音频点的所述隐藏状态为所述目标音频数据的隐藏状态,y
t
对应的所述bpm为所述目标音频数据的bpm,p(s0)为预设的t=0对应的概率值,
x1-t
为所述目标音频数据的时域值。
11.可选地,根据所述目标音频数据,确定幅值和,包括:确定所述目标音频数据的时域信号;对所述时域信号进行傅里叶变换,得到频域信号;根据所述频域信号以及所述预定频段,确定所述幅值和。
12.可选地,所述目标音频数据有多个,多个所述目标音频数据中,第一目标音频数据、第二目标音频数据以及第三目标音频数据为按照时间顺序依次相邻的三个所述节拍点,在至少根据所述状态空间,确定所述目标音频数据是否为所述节拍点之后,所述方法还包括:获取所述第一目标音频数据与所述第二目标音频数据之间的第一时间间隔;获取所述第二目标音频数据与所述第三目标音频数据之间的第二时间间隔;根据确定所述第三目标音频数据为所述节拍点的正确度,其中,μ
t
=0.9μ
t-1
0.1x
t
,μ
t-1
=0.9μ
t-2
0.1x
t-1
,x
t-1
为所述第一时间间隔,x
t
为所述第二时间间隔;在所述正确度小于或者等于预定值的情况下,确定所述第三目标音频数据不是所述节拍点。
13.根据本发明实施例的另一方面,还提供了一种音乐节拍的检测装置,包括:第一获取单元,用于获取目标音频数据;建立单元,用于根据所述目标音频数据,建立状态空间,所述状态空间包括多个bpm以及各所述bpm的多个音频点,所述音频点具有隐藏状态,各所述音频点为根据所述目标音频数据的时长对所述bpm进行拆分得到的,所述隐藏状态包括是节拍点的状态或者不是所述节拍点的状态;第一确定单元,用于至少根据所述状态空间,确
定所述目标音频数据是否为所述节拍点。
14.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
15.根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
16.根据本发明实施例的另一方面,还提供了一种电子设备,包括:一个或多个处理器,存储器以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行任意一种所述的方法。
17.在本发明实施例中,首先,获取目标音频数据;然后,根据目标音频数据,建立状态空间,状态空间包括多个bpm以及多个具有隐藏状态的音频点,音频点为根据所述目标音频数据的时长对所述bpm进行拆分得到的,隐藏状态包括是节拍点的状态或者不是节拍点的状态;最后,至少根据空间状态,确定目标音频数据是否为节拍点。相比现有技术中,只从能量角度考虑目标音频数据是否为节拍点,造成节奏检测的准确率较低的问题,该方法考虑到音乐节奏本身带有重复性规则的特征,通过建立包括bpm以及bpm下的多个音频点的离散状态空间,并根据状态空间来确定目标音频数据是否为节拍点,这样可以同时度量是节拍点的状态以及不是节拍点的状态,从而保证了结果的准确性较高,进而解决了现有技术中根据能量分布来确定是否为节拍点,造成检测准确率较低的问题。
附图说明
18.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
19.图1示出了根据本技术的实施例的一种音乐节拍的检测方法的流程示意图;
20.图2示出了根据本技术的实施例的一种音乐节拍的检测装置的结构示意图;
21.图3示出了根据本技术的实施例的状态空间的示意图;
22.图4示出了根据本技术的实施例的音乐节拍的检测方法的流程图。
具体实施方式
23.应该指出,以下详细说明都是例示性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
24.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
25.应该理解的是,当元件(诸如层、膜、区域、或衬底)描述为在另一元件“上”时,该元件可直接在该另一元件上,或者也可存在中间元件。而且,在说明书以及权利要求书中,当描述有元件“连接”至另一元件时,该元件可“直接连接”至该另一元件,或者通过第三元件“连接”至该另一元件。
26.为了便于描述,以下对本技术实施例涉及的部分名词或术语进行说明:
27.每分钟节拍数(beat per minute,简称bpm):是在一分钟的时间段落之间,所发出的声音节拍的数量。
28.正如背景技术中所说的,现有技术中的根据能量分布来确定是否为节拍点,造成检测准确率较低,为了解决上述问题,本技术的一种典型的实施方式中,提供了一种音乐节拍的检测方法、检测装置、计算机可读存储介质、处理器以及电子设备。
29.根据本技术的实施例,提供了一种音乐节拍的检测方法。
30.图1是根据本技术实施例的音乐节拍的检测方法的流程图。如图1所示,该方法包括以下步骤:
31.步骤s101,获取目标音频数据;
32.步骤s102,根据上述目标音频数据,建立状态空间,上述状态空间包括多个bpm以及各上述bpm的多个音频点,上述音频点具有隐藏状态,各上述音频点为根据上述目标音频数据的时长对上述bpm进行拆分得到的,上述隐藏状态包括是节拍点的状态或者不是上述节拍点的状态;
33.步骤s103,至少根据上述状态空间,确定上述目标音频数据是否为上述节拍点。
34.上述的方法中,首先,获取目标音频数据;然后,根据目标音频数据,建立状态空间,状态空间包括多个bpm以及多个具有隐藏状态的音频点,音频点为根据上述目标音频数据的时长对上述bpm进行拆分得到的,隐藏状态包括是节拍点的状态或者不是节拍点的状态;最后,至少根据空间状态,确定目标音频数据是否为节拍点。相比现有技术中,只从能量角度考虑目标音频数据是否为节拍点,造成节奏检测的准确率较低的问题,该方法考虑到音乐节奏本身带有重复性规则的特征,通过建立包括bpm以及bpm下的多个音频点的离散状态空间,并根据状态空间来确定目标音频数据是否为节拍点,这样可以同时度量是节拍点的状态以及不是节拍点的状态,从而保证了结果的准确性较高,进而解决了现有技术中根据能量分布来确定是否为节拍点,造成检测准确率较低的问题。
35.需要说明的是,上述方法可以应用于实时的音频数据,也可以应用于一首完整的歌曲。当应用于实时的音频数据时,上述目标音频数据为实时的音频数据;当应用于完整的歌曲时,上述目标音频数据为对歌曲进行拆分得到的每段音频数据。
36.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
37.本技术的一种实施例中,根据上述目标音频数据,建立状态空间,包括:获取多个上述bpm;根据确定第一数量fps,其中,t1=1秒,t2为上述目标音频数据的时长;根据确定各上述bpm的音频点数量m;根据各上述音频点数量,对上述bpm进行拆分,得到多个上述音频点。每个音频点都有隐藏状态,隐藏状态是指在对应的bpm下是否为节拍点,因为节拍点之间存在时间间隔,这个时间间隔可以由bpm计算得到,也就是说节拍点之间存在多个非节拍点,为了保证不同空间状态下(即不同的bpm)时间分辨率的统一,因
此,本实施例中,需要通过来计算音频点数量(即隐藏状态的数量)。
38.具体地,根据对常见歌曲的bpm统计,bpm的数量可取值55~215,则bpm的个数共有161个。当上述目标音频数据的时长t2=10ms时,上述第一数量fps=100,本领域技术人员可以根据实际需求来设置上述目标音频数据的时长。根据不同的bpm对应的不同时间间隔,设定相应bpm下不同分辨率的bpm个数,以更好的追踪不同bpm下的状态转化。
39.例如当bpm为55时,在此状态下的音频点数量通过上式计算得到值为109(即音频点的数量有109个)。假定音频点1为节拍点,其余为非节拍点,则在bpm不变的情况下,节拍点之间的非节拍点个位为108个。状态空间如图3所示,图中的黑点表示状态空间中的每个元素。
40.本技术的再一种实施例中,至少根据上述状态空间,确定上述目标音频数据是否为上述节拍点,包括:根据上述状态空间,确定多个第一概率,上述第一概率为任意两个上述音频点在时间上相邻的概率;确定幅值和,上述幅值和为上述目标音频数据在预定频段内的幅值之和,上述预定频段为预设的频段范围;根据上述状态空间以及上述幅值和,确定多个第二概率,上述第二概率为上述目标音频数据对应的各上述音频点具有对应的上述隐藏状态的概率;根据各上述第一概率以及各上述第二概率,确定上述目标音频数据是否为上述节拍点,以及确定上述目标音频数据的上述bpm。在实际情况中,节拍点之间的状态通常来说只会有一种转移可能性,即逐渐转移到该bpm下的下一个节拍点;只有当在处于节拍点时才有可能发生bpm的转变,即下一节拍点仍为节拍点,但不是之前bpm下的节拍点,本实施例中,先确定任两个上述音频点在时间上相邻的概率,在根据幅值和确定各上述音频点具有指定的隐藏状态的概率,最后根据第一概率和第二概率,来确定目标音频数据是否为节拍点以及其对应的bpm,进一步地实现了结合节奏的周期特性以及节拍点之间的变化规律,来确定目标音频数据是否为节拍点,进一步地保证了节奏检测的准确性。
41.本技术的又一种实施例中,根据上述状态空间,确定多个第一概率,包括:根据确定各上述第一概率,其中,ω
t
为t时刻的上述音频点的上述bpm,ω
t-1
为t-1时刻的上述音频点的上述bpm,表示上述t时刻的上述音频点。本实施例中,通过上述公式得到各第一概率,方便后续根据上述第一概率剔除不合理的音频点,使得检测结果更加准确,从而进一步提升节奏检测的准确性。
42.一种具体的实施例中,上述第一概率还可以通过对音乐数据训练得到,将音乐数据按照bpm将节拍点标记为1,节拍点中间位置按照时间进度取0-1中间某值,依据标记值进行训练。
43.为了进一步地提升节奏检测的准确性,本技术的另一种实施例中,根据上述状态
空间以及上述幅值和,确定多个第二概率,包括:根据确定各上述第二概率,其中,i为上述隐藏状态,i=0或者1,当i=0时,yi表示上述音频点的上述隐藏状态为不是上述节拍点的状态,当i=1时,yi表示上述音频点的上述隐藏状态为是上述节拍点的状态,s(t)为上述幅值和。yi表示人实际感受到的状态,也就是是否为节拍点,与状态空间中的隐藏状态不同,人感受到的状态只有两种,即节拍点与非节拍点,而隐藏状态实际上随着状态的变化而变化,例如上述提到bpm取值55时,隐藏状态有109种结果,只不过我们可以定义隐藏状态1为节拍点,其余隐藏状态为非节拍点。
44.一种具体的实施例中,上述第二概率也可以通过对音乐数据训练得到,将训练集的音频根据fps对每帧音频进行状态标注,依据标注进行训练。
45.本技术的再一种实施例中,根据各上述第一概率以及各上述第二概率,确定上述目标音频数据是否为上述节拍点,以及确定上述目标音频数据的上述bpm,包括:根据确定y
t
对应的上述音频点的上述隐藏状态为上述目标音频数据的隐藏状态,y
t
对应的上述bpm为上述目标音频数据的bpm,p(s0)为预设的t=0对应的概率值,
x1-t
为上述目标音频数据的时域值。因为确定上述第一概率和上述第二概率的过程中剔除了不合理的音频点,所以,本实施例中根据上述更加准确的第一概率和第二概率,就可以得到更加准确的检测结果,从而进一步提升节奏检测的准确性。
46.本技术的又一种实施例中,根据上述目标音频数据,确定幅值和,包括:确定上述目标音频数据的时域信号;对上述时域信号进行傅里叶变换,得到频域信号;根据上述频域信号以及上述预定频段,确定上述幅值和。
47.具体地,确定上述目标音频数据的时域信号x(t),其中t=1,2,...,t表示时刻;然后对上述时域信号进行傅里叶变换,得到频域信号x(f),其中f表示傅里叶变换对应的音频点,然后设置预定频段为55hz-4000hz,根据如下公式计算上述幅值和:
[0048][0049]
其中,选取55-4000hz频段的原因为音符的音调是由固定标准频率值对应的,常用的5个八度的音调在55-1760hz频段之间,同时考虑了前几阶谐波的影响与减少其他噪音干扰得到的实验值。
[0050]
本技术的另一种实施例中,上述目标音频数据有多个,多个上述目标音频数据中,第一目标音频数据、第二目标音频数据以及第三目标音频数据为按照时间顺序依次相邻的三个上述节拍点,在至少根据上述状态空间,确定上述目标音频数据是否为上述节拍点之后,上述方法还包括:获取上述第一目标音频数据与上述第二目标音频数据之间的第一时间间隔;获取上述第二目标音频数据与上述第三目标音频数据之间的第二时间间隔;根据确定上述第三目标音频数据为上述节拍点的正确度,其中,μ
t
=0.9μ
t-1
0.1x
t
,μ
t-1
=0.9μ
t-2
0.1x
t-1
,x
t-1
为上述第一时间间隔,x
t
为上述第二时间间隔;在上述正确度小于或者等于预定值的情况下,确定上述第三目标音频数据不是上述
节拍点。本实施例中,根据上述第一时间间隔与上述第二时间间隔进行相关性分析,判断确定的结果是否准确,从而进一步提升检测的准确性。
[0051]
需要说明的是,上述实施例中,μ
t
为一段音乐中检测到的第一个节拍点到上述第三目标音频点之间所有的时间间隔的平均值,μ
t-1
为第一个检测到的节拍点到上述第二目标音频点之间的所有的时间间隔的平均值,μ
t-2
同理,其中,上述时间间隔指的是相邻的两个节拍点之间的时间间隔。当上述第一目标音频点是检测到的第一个节拍点,那么,μ
t-1
就等于上述第一时间间隔,当上述第一目标音频点不是检测到的第一个节拍点,那么,μ
t-1
就等于0.9μ
t-2
0.1x
t-1

[0052]
本技术的一种具体的实施例中,上述预定值为0.95,当然,实际的应用中,上述预定值还可以为其他数值,本领域技术人员可以根据实际情况来设置。
[0053]
本技术实施例还提供了一种音乐节拍的检测装置,需要说明的是,本技术实施例的音乐节拍的检测装置可以用于执行本技术实施例所提供的用于音乐节拍的检测方法。以下对本技术实施例提供的音乐节拍的检测装置进行介绍。
[0054]
图2是根据本技术实施例的音乐节拍的检测装置的示意图。如图2所示,该装置包括:
[0055]
第一获取单元10,用于获取目标音频数据;
[0056]
建立单元20,用于根据上述目标音频数据,建立状态空间,上述状态空间包括多个bpm以及各上述bpm的多个音频点,上述音频点具有隐藏状态,各上述音频点为根据上述目标音频数据的时长对上述bpm进行拆分得到的,上述隐藏状态包括是节拍点的状态或者不是上述节拍点的状态;
[0057]
第一确定单元30,用于至少根据上述状态空间,确定上述目标音频数据是否为上述节拍点。
[0058]
上述的装置,包括获取单元、建立单元和确定单元,其中,上述获取单元用于获取目标音频数据;上述建立单元用于根据目标音频数据,建立状态空间,状态空间包括多个bpm以及多个具有隐藏状态的音频点,音频点为根据上述目标音频数据的时长对上述bpm进行拆分得到的,隐藏状态包括是节拍点的状态或者不是节拍点的状态;上述确定单元用于至少根据空间状态,确定目标音频数据是否为节拍点。相比现有技术中,只从能量角度考虑目标音频数据是否为节拍点,造成节奏检测的准确率较低的问题,该装置考虑到音乐节奏本身带有重复性规则的特征,通过建立包括bpm以及bpm下的多个音频点的离散状态空间,并根据状态空间来确定目标音频数据是否为节拍点,这样可以同时度量是节拍点的状态以及不是节拍点的状态,从而保证了结果的准确性较高,进而解决了现有技术中根据能量分布来确定是否为节拍点,造成检测准确率较低的问题。
[0059]
本技术的一种实施例中,上述建立单元包括获取模块、第一确定模块、第二确定模块和处理模块,其中,上述获取模块用于获取多个上述bpm;上述第一确定模块用于根据确定第一数量fps,其中,t1=1秒,t2为上述目标音频数据的时长;上述第二确定模块用于根据确定各上述bpm的音频点数量m;上述处理模块用于根据各上述音频点数量,对上述bpm进行拆分,得到多个上述音频点。每个音频点都有隐藏状态,隐藏状态
是指在对应的bpm下是否为节拍点,因为节拍点之间存在时间间隔,这个时间间隔可以由bpm计算得到,也就是说节拍点之间存在多个非节拍点,为了保证不同空间状态下(即不同的bpm)时间分辨率的统一,因此,本实施例中,需要通过来计算音频点数量(即隐藏状态的数量)。
[0060]
具体地,根据对常见歌曲的bpm统计,bpm的数量可取值55~215,则bpm的个数共有161个。fps需要根据实际需求来设置,本技术中将fps设定为100。根据不同的bpm对应的不同时间间隔,设定相应bpm下不同分辨率的bpm个数,以更好的追踪不同bpm下的状态转化。
[0061]
例如当bpm为55时,在此状态下的音频点数量通过上式计算得到值为109(即隐藏状态的数量有109个)。假定隐藏状态1为节拍点,其余为非节拍点,则在bpm不变的情况下,节拍点之间的非节拍点个位为108个。状态空间如图3所示,图中的黑点表示状态空间中的每个元素。
[0062]
本技术的再一种实施例中,上述确定单元包括第三确定模块、第四确定模块、第五确定模块和第六确定模块,其中,上述第三确定模块用于根据上述状态空间,确定多个第一概率,上述第一概率为任意两个上述音频点在时间上相邻的概率;上述第四确定模块用于确定幅值和,上述幅值和为上述目标音频数据在预定频段内的幅值之和,上述预定频段为预设的频段范围;上述第五确定模块用于根据上述状态空间以及上述幅值和,确定多个第二概率,上述第二概率为上述目标音频数据对应的各上述音频点具有对应的上述隐藏状态的概率;上述第六确定模块用于根据各上述第一概率以及各上述第二概率,确定上述目标音频数据是否为上述节拍点,以及确定上述目标音频数据的上述bpm。在实际情况中,节拍点之间的状态通常来说只会有一种转移可能性,即逐渐转移到该bpm下的下一个节拍点;只有当在处于节拍点时才有可能发生bpm的转变,即下一节拍点仍为节拍点,但不是之前bpm下的节拍点,本实施例中,先确定任两个上述音频点在时间上相邻的概率,在根据幅值和确定各上述音频点具有指定的隐藏状态的概率,最后根据第一概率和第二概率,来确定目标音频数据是否为节拍点以及其对应的bpm,进一步地实现了结合节奏的周期特性以及节拍点之间的变化规律,来确定目标音频数据是否为节拍点,进一步地保证了节奏检测的准确性。
[0063]
本技术的又一种实施例中,上述第三确定模块包括第一确定子模块,其中,上述第一确定子模块用于根据确定各上述第一概率,其中,ω
t
为t时刻的上述音频点的上述bpm,ω
t-1
为t-1时刻的上述音频点的上述bpm,表示上述t时刻的上述音频点。本实施例中,通过剔除不合理的音频点,使得检测结果更加准确,从而进一步提升节奏检测的准确性。
[0064]
一种具体的实施例中,上述第一概率还可以通过对音乐数据训练得到,将音乐按照bpm将节拍点标记为1,节拍点中间位置按照时间进度取0-1中间某值,依据标记值进行训练。
[0065]
为了进一步地提升节奏检测的准确性,本技术的另一种实施例中,上述第五确定模块包括第二确定子模块,其中,上述第二确定子模块用于根据确定各上述第二概率,其中,i为上述隐藏状态,i=0或者1,当i=0时,yi表示上述音频点的上述隐藏状态为不是上述节拍点的状态,当i=1时,yi表示上述音频点的上述隐藏状态为是上述节拍点的状态,s(t)为上述幅值和。yi表示人实际感受到的状态,也就是是否为节拍点,与状态空间中的隐藏状态不同,人感受到的状态只有两种,即节拍点与非节拍点,而隐藏状态实际上随着状态的变化而变化,例如上述提到bpm取值55时,隐藏状态有109种结果,只不过我们可以定义隐藏状态1为节拍点,其余隐藏状态为非节拍点。
[0066]
一种具体的实施例中,上述第二概率也可以通过对音乐数据训练得到,将训练集的音频根据fps对每帧音频进行状态标注,依据标注进行训练。
[0067]
本技术的再一种实施例中,上述第六确定模块包括第三确定子模块,其中,上述第三确定子模块用于根据确定y
t
对应的上述音频点的上述隐藏状态为上述目标音频数据的隐藏状态,y
t
对应的上述bpm为上述目标音频数据的bpm,p(s0)为预设的t=0对应的概率值,x
1-t
为上述目标音频数据的时域值。因为确定上述第一概率和上述第二概率的过程中剔除了不合理的音频点,所以,本实施例中根据上述更加准确的第一概率和第二概率,就可以得到更加准确的检测结果,从而进一步提升节奏检测的准确性。
[0068]
本技术的又一种实施例中,上述第四确定模块包括第四确定子模块、处理子模块和确定子模块,其中,上述第四确定子模块用于确定上述目标音频数据的时域信号;上述处理子模块用于对上述时域信号进行傅里叶变换,得到频域信号;上述确定子模块用于根据上述频域信号以及上述预定频段,确定上述幅值和。
[0069]
具体地,确定上述目标音频数据的时域信号x(t),其中t=1,2,...,t表示时刻;然后对上述时域信号进行傅里叶变换,得到频域信号x(f),其中f表示傅里叶变换对应的音频点,然后设置预定频段为55hz-4000hz,根据如下公式计算上述幅值和:
[0070][0071]
其中,选取55-4000hz频段的原因为音符的音调是由固定标准频率值对应的,常用的5个八度的音调在55-1760hz频段之间,同时考虑了前几阶谐波的影响与减少其他噪音干扰得到的实验值。
[0072]
本技术的另一种实施例中,上述目标音频数据有多个,多个上述目标音频数据中,第一目标音频数据、第二目标音频数据以及第三目标音频数据为按照时间顺序依次相邻的三个上述节拍点,在至少根据上述状态空间,确定上述目标音频数据是否为上述节拍点之后,上述装置还包括第二获取单元、第三获取单元、第二确定单元和第三确定单元,其中,上述第二获取单元用于获取上述第一目标音频数据与上述第二目标音频数据之间的第一时间间隔;上述第三获取单元用于获取上述第二目标音频数据与上述第三目标音频数据之间
的第二时间间隔;上述第二确定单元用于根据确定上述第三目标音频数据为上述节拍点的正确度,其中,μ
t
=0.9μ
t-1
0.1x
t
,μ
t-1
=0.9μ
t-2
0.1x
t-1
,x
t-1
为上述第一时间间隔,x
t
为上述第二时间间隔;上述第三确定单元用于在上述正确度小于或者等于预定值的情况下,确定上述第三目标音频数据不是上述节拍点。本实施例中,根据上述第一时间间隔与上述第二时间间隔进行相关性分析,判断确定的结果是否准确,从而进一步提升检测的准确性。
[0073]
需要说明的是,上述实施例中,μ
t
为一段音乐中检测到的第一个节拍点到上述第三目标音频点之间所有的时间间隔的平均值,μ
t-1
为第一个检测到的节拍点到上述第二目标音频点之间的所有的时间间隔的平均值,μ
t-2
同理,其中,上述时间间隔指的是相邻的两个节拍点之间的时间间隔。当上述第一目标音频点是检测到的第一个节拍点,那么,μ
t-1
就等于上述第一时间间隔,当上述第一目标音频点不是检测到的第一个节拍点,那么,μ
t-1
就等于0.9μ
t-2
0.1x
t-1

[0074]
本技术的一种具体的实施例中,上述预定值为0.95,当然,实际的应用中,上述预定值还可以为其他数值,本领域技术人员可以根据实际情况来设置。
[0075]
上述音乐节拍的检测装置包括处理器和存储器,上述第一获取单元、建立单元和第一确定单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0076]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中根据能量分布来确定是否为节拍点,造成检测准确率较低的问题。
[0077]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
[0078]
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述音乐节拍的检测方法。
[0079]
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述音乐节拍的检测方法。
[0080]
本发明实施例提供了一种电子设备,包括:一个或多个处理器,存储器以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。
[0081]
上述的电子设备,包括一个或多个处理器,存储器以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。相比现有技术中,只从能量角度考虑目标音频数据是否为节拍点,造成节奏检测的准确率较低的问题,该方法考虑到音乐节奏本身带有重复性规则的特征,通过建立包括bpm以及bpm下的多个音频点的离散状态空间,并根据状态空间来确定目标音频数据是否为节拍点,这样可以同时度量是节拍点的状态以及不是节拍点的状态,从而保证了结果的准确性较高,进而解决了现有技术中根据能
量分布来确定是否为节拍点,造成检测准确率较低的问题。
[0082]
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
[0083]
步骤s101,获取目标音频数据;
[0084]
步骤s102,根据上述目标音频数据,建立状态空间,上述状态空间包括多个bpm以及各上述bpm的多个音频点,上述音频点具有隐藏状态,各上述音频点为根据上述目标音频数据的时长对上述bpm进行拆分得到的,上述隐藏状态包括是节拍点的状态或者不是上述节拍点的状态;
[0085]
步骤s103,至少根据上述状态空间,确定上述目标音频数据是否为上述节拍点。
[0086]
本文中的设备可以是服务器、pc、pad、手机等。
[0087]
本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
[0088]
步骤s101,获取目标音频数据;
[0089]
步骤s102,根据上述目标音频数据,建立状态空间,上述状态空间包括多个bpm以及各上述bpm的多个音频点,上述音频点具有隐藏状态,各上述音频点为根据上述目标音频数据的时长对上述bpm进行拆分得到的,上述隐藏状态包括是节拍点的状态或者不是上述节拍点的状态;
[0090]
步骤s103,至少根据上述状态空间,确定上述目标音频数据是否为上述节拍点。
[0091]
为了使得本领域技术人员能够更加清楚地了解本公开的技术方案,以下将结合具体的实施例与对比例对本公开的技术方案进行详细说明。
[0092]
实施例
[0093]
该音乐节拍的检测方法的流程图如图4所示,该方法包括以下步骤:
[0094]
1.输入:确定上述目标音频数据的时域信号x(t),其中t=1,2,...,t表示时刻;
[0095]
2.确定幅值和:对上述时域信号进行傅里叶变换,得到频域信号x(f),其中f表示傅里叶变换对应的音频点,然后设置预定频段为55hz-4000hz,根据如下公式计算上述幅值和:
[0096][0097]
3.确定第一概率:首先获取多个上述bpm,然后根据确定第一数量fps,其中,t1=1秒,t2为上述目标音频数据的时长,根据确定各上述bpm的音频点数量m,最后根据各上述音频点数量,对上述bpm进行拆分,得到多个上述音频点;
[0098]
根据确定第一概率,其中,ω
t
为t时刻的上述音频点的上述bpm,ω
t-1
为t-1时刻的上述音
频点的上述bpm,表示上述t时刻的上述音频点。
[0099]
4.确定第二概率:根据确定各第二概率,其中,i为上述隐藏状态,i=0或者1,当i=0时,yi表示上述音频点的上述隐藏状态为不是上述节拍点的状态,当i=1时,yi表示上述音频点的上述隐藏状态为是上述节拍点的状态,s(t)为上述幅值和。
[0100]
5.确定节拍点以及bpm:根据确定y
t
对应的上述音频点的上述隐藏状态为上述目标音频数据的隐藏状态,y
t
对应的上述bpm为上述目标音频数据的bpm,p(s0)为预设的t=0对应的概率值,x
1-t
为上述目标音频数据的时域值。
[0101]
6.确定准确度:根据多个节拍点的时间间隔以及确定节拍点的正确度,其中,μ
t
=0.9μ
t-1
0.1x
t
,μ
t-1
=0.9μ
t-2
0.1x
t-1
,x
t-1
为上述第一时间间隔,x
t
为上述第二时间间隔。
[0102]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0103]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0104]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0105]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0106]
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的计算机可读存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0107]
从以上的描述中,可以看出,本技术上述的实施例实现了如下技术效果:
[0108]
1)、本技术的音乐节拍的检测方法,首先,获取目标音频数据;然后,根据目标音频数据,建立状态空间,状态空间包括多个bpm以及多个具有隐藏状态的音频点,音频点为根据上述目标音频数据的时长对上述bpm进行拆分得到的,隐藏状态包括是节拍点的状态或者不是节拍点的状态;最后,至少根据空间状态,确定目标音频数据是否为节拍点。相比现有技术中,只从能量角度考虑目标音频数据是否为节拍点,造成节奏检测的准确率较低的问题,该方法考虑到音乐节奏本身带有重复性规则的特征,通过建立包括bpm以及bpm下的多个音频点的离散状态空间,并根据状态空间来确定目标音频数据是否为节拍点,这样可以同时度量是节拍点的状态以及不是节拍点的状态,从而保证了结果的准确性较高,进而解决了现有技术中根据能量分布来确定是否为节拍点,造成检测准确率较低的问题。
[0109]
2)、本技术的音乐节拍的检测装置,包括获取单元、建立单元和确定单元,其中,上述获取单元用于获取目标音频数据;上述建立单元用于根据目标音频数据,建立状态空间,状态空间包括多个bpm以及多个具有隐藏状态的音频点,音频点为根据上述目标音频数据的时长对上述bpm进行拆分得到的,隐藏状态包括是节拍点的状态或者不是节拍点的状态;上述确定单元用于至少根据空间状态,确定目标音频数据是否为节拍点。相比现有技术中,只从能量角度考虑目标音频数据是否为节拍点,造成节奏检测的准确率较低的问题,该装置考虑到音乐节奏本身带有重复性规则的特征,通过建立包括bpm以及bpm下的多个音频点的离散状态空间,并根据状态空间来确定目标音频数据是否为节拍点,这样可以同时度量是节拍点的状态以及不是节拍点的状态,从而保证了结果的准确性较高,进而解决了现有技术中根据能量分布来确定是否为节拍点,造成检测准确率较低的问题。
[0110]
3)、本技术的电子设备,包括一个或多个处理器,存储器以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置为由上述一个或多个处理器执行,上述一个或多个程序包括用于执行任意一种上述的方法。相比现有技术中,只从能量角度考虑目标音频数据是否为节拍点,造成节奏检测的准确率较低的问题,该方法考虑到音乐节奏本身带有重复性规则的特征,通过建立包括bpm以及bpm下的多个音频点的离散状态空间,并根据状态空间来确定目标音频数据是否为节拍点,这样可以同时度量是节拍点的状态以及不是节拍点的状态,从而保证了结果的准确性较高,进而解决了现有技术中根据能量分布来确定是否为节拍点,造成检测准确率较低的问题。
[0111]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献