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

节拍检测方法、装置、电子设备和存储介质与流程

2021-06-04 11:50:00 来源:中国专利 TAG:节拍 电子设备 音视频 检测方法 装置


1.本公开涉及音视频技术领域,尤其涉及一种检测音乐节拍的节拍检测方法、装置、电子设备和存储介质。


背景技术:

2.节拍是音乐中表示固定单位时值和强弱规律的组织形式,节拍检测是音乐信息检索领域的重要任务之一。节拍检测算法通过分析音频数据来自动识别节拍位置。准确的节拍检测算法可以被应用于很多方面,如视频制作、游戏、音乐风格转变等。近些年来,深度学习的发展使得各个领域有了更多的可能性去解决之前难以处理的问题。在算力和数据的支撑下,越来越多的基于神经网络的算法应用到具体的产业中。对于节拍检测算法,深度学习可以被应用于两个方面:第一个方面是利用深度神经网络对数据提取深层特征;第二个方面是利用深度学习挖掘数据序列之间的相关性。相比与相关技术的节拍检测算法,基于深度学习的节拍检测方法依赖于更少的先验知识和人工设定的参数,在不同类型的音乐种类上都取得了较大的效果提升。
3.但是,深度学习需要大量的数据支持,现有的节拍检测数据库相对有限,且节拍检测的标注因为人工主观的差异会有一些偏差,这就导致了相关技术的基于深度学习的节拍检测算法的几个问题:一是对数据库中大量存在的音乐类型拟合的较好,但是对于标注较少的音乐类型拟合的不好;一些算法为了让算法能适应于不同类型音乐,一般使用多个模型进行建模,导致算法复杂度增加。二是节拍检测的数据不像简单的分类问题,存在数据比例不匹配、重复数据太多和数据标注有偏差的问题,导致训练难以收敛到最优点。


技术实现要素:

4.本公开提供一种训练节拍预测模型的方法以及一种使用该方法训练的节拍预测模型来预测节拍的方法。
5.根据本公开的第一方面,提供了一种用于训练节拍预测模型的方法,其特征在于,包括:从训练样本数据集获取具有大幅度节拍变化的多个训练样本数据;提取所述多个训练样本数据的频域特征,将提取的频域特征输入节拍预测模型并获得所述多个训练样本数据的节拍概率预测值;通过目标损失函数计算所述多个训练样本数据的节拍概率预测值与所述多个训练样本数据的节拍标注之间的偏差,并根据偏差调整节拍预测模型的参数。
6.根据本公开的第一方面,所述多个训练样本数据中的每个训练样本数据是通过对训练样本数据集中的至少两个训练样本数据进行拼接而形成的拼接样本数据,其中,被拼接的至少两个训练样本数据的每分钟节拍数bpm之间的差大于阈值。
7.根据本公开的第一方面,在被拼接之前,对被拼接的至少两个训练样本数据的音量和/或倍速进行调整,并且在调整之后从所述至少两个训练样本数据中的每个训练样本数据随机选择部分数据进行拼接以形成所述拼接样本数据。
8.根据本公开的第一方面,训练样本数据集中的预定比例的训练样本数据被选择用
于拼接生成所述拼接样本数据。
9.根据本公开的第一方面,所述根据偏差调整节拍预测模型的参数包括:根据目标损失函数计算与多个训练样本数据中的每个训练样本数据对应的损失值;根据损失值对所述多个训练样本数据中的每个训练样本数据分配权重;使用分配了权重的所述多个训练样本数据中的每个训练样本数据对节拍预测模型的参数进行调整。
10.根据本公开的第一方面,所述对每个训练样本数据的分配权重包括:对与所述多个训练样本数据中的每个训练样本数据对应的损失值进行排序;剔除排序在前预定范围和排序在后预定范围内的损失值所对应的训练样本数据;对剔除后的剩余训练样本数据中的部分训练样本数据赋予高于其他训练样本数据的权重。
11.根据本公开的第一方面,所述对节拍预测模型的参数进行调整使用梯度下降算法来调整节拍预测模型的参数。
12.根据本公开的第一方面,所述方法还包括:针对训练样本数据集中具有预定bpm的训练样本数据赋予高于训练样本数据集中的其它训练样本数据的学习权重以用于下一轮的训练,其中,所述具有预定bpm的训练样本数据的数量与训练样本数据集的总数据数量之比小于阈值。
13.根据本公开的第一方面,所述针对训练样本数据集中具有预定bpm的训练样本数据赋予高于训练样本数据集中的其它训练样本数据的学习权重包括:使用节拍预测模型对训练样本数据集中的每个训练样本数据执行节拍预测以获得针对每个训练样本数据的节拍预测值;通过目标损失函数计算每个训练样本数据的节拍预测值和节拍标注数据的损失值;计算与训练样本数据集所具有的每个bpm值对应的训练样本数据的平均损失值和训练样本数据数量;根据与每个bpm值对应的训练样本数据的平均损失值和训练样本数据数量的比值对全部bpm值进行排序;对排序在前的预定比例的bpm值所对应的训练样本数据赋予高于其他bpm值所对应的训练样本数据的学习权重。
14.根据本公开的第二方面,提供了一种训练节拍预测模型的装置,包括:训练样本获取单元,被配置为从训练样本数据集获取具有大幅度节拍变化的多个训练样本数据;预测单元,被配置为提取所述多个训练样本数据的频域特征,将提取的频域特征输入节拍预测模型并获得所述多个训练样本数据的节拍概率预测值;调参单元,被配置为通过目标损失函数计算所述多个训练样本数据的节拍概率预测值与所述多个训练样本数据的节拍标注之间的偏差,并根据偏差调整节拍预测模型的参数。
15.根据本公开的第二方面,所述多个训练样本数据中的每个训练样本数据是通过对训练样本数据集中的至少两个训练样本数据进行拼接而形成的拼接样本数据,其中,被拼接的至少两个训练样本数据的bpm之间的差大于阈值。
16.根据本公开的第二方面,训练样本获取单元被配置为对被拼接的至少两个训练样本数据的音量和/或倍速进行调整,并且在调整之后从所述至少两个训练样本数据中的每个训练样本数据随机选择部分数据进行拼接以形成所述拼接样本数据。
17.根据本公开的第二方面,训练样本数据集中的预定比例的训练样本数据被选择用于拼接生成所述拼接样本数据。
18.根据本公开的第二方面,所述调参单元包括:权重计算单元,被配置为根据目标损失函数计算与多个训练样本数据中的每个训练样本数据对应的损失值;权重分配单元,被
配置为根据损失值对所述多个训练样本数据中的每个训练样本数据分配权重;模型调整单元,被配置为使用分配了权重的所述多个训练样本数据中的每个训练样本数据对节拍预测模型的参数进行调整。
19.根据本公开的第二方面,所述权重分配单元被配置为:对与所述多个训练样本数据中的每个训练样本数据对应的损失值进行排序;剔除排序在前预定范围和排序在后预定范围内的损失值所对应的训练样本数据;对剔除后的剩余训练样本数据中的部分训练样本数据赋予高于其他训练样本数据的权重。
20.根据本公开的第二方面,所述模型调整单元被配置为使用梯度下降算法来调整节拍预测模型的参数。
21.根据本公开的第二方面,所述装置还包括:学习权重分配单元,被配置为针对训练样本数据集中具有预定bpm的训练样本数据赋予高于训练样本数据集中的其它训练样本数据的学习权重以用于下一轮的训练,其中,所述具有预定bpm的训练样本数据的数量与训练样本数据集的总数据数量之比小于阈值。
22.根据本公开的第二方面,所述学习权重分配单元被配置为:使用节拍预测模型对训练样本数据集中的每个训练样本数据执行节拍预测以获得针对每个训练样本数据的节拍预测值;通过目标损失函数计算每个训练样本数据的节拍预测值和节拍标注数据的损失值;计算与训练样本数据集所具有的每个bpm值对应的训练样本数据的平均损失值和训练样本数据数量;根据与每个bpm值对应的训练样本数据的平均损失值和训练样本数据数量的比值对全部bpm值进行排序;对排序在前的预定比例的bpm值所对应的训练样本数据赋予高于其他bpm值所对应的训练样本数据的学习权重。
23.根据本公开的第三方面,提供了一种节拍检测方法,包括:获取待检测的音频数据;提取所述音频数据的频域特征,并将提取的频域特征输入节拍检测模型;使用节拍检测模型来确定音频数据的节拍,其中,所述节拍检测模型是如上所述的用于训练节拍预测模型的方法而训练得到的。
24.根据本公开的第四方面,提供了一种节拍检测装置,包括:音频获取单元,被配置为获取待检测的音频数据;特征提取单元,被配置为提取所述音频数据的频域特征,并将提取的频域特征输入节拍检测模型;节拍检测单元,被配置为使用节拍检测模型来确定音频数据的节拍,其中,所述节拍检测模型是如上所述的用于训练节拍预测模型的方法而训练得到的。
25.根据本公开的第五方面,提供了一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的训练节拍检测模型的方法和/或节拍检测方法。
26.根据本公开的第六方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上所述的训练节拍检测模型的方法和/或节拍检测方法。
27.根据本公开的第七方面,提供了一种计算机程序产品,所述计算机程序产品中的指令被电子设备中的至少一个处理器运行以执行如如上所述的训练节拍检测模型的方法和/或节拍检测方法。
28.本公开的实施例提供的技术方案至少带来以下有益效果:
29.可以使得训练数据与训练目标相结合,增大训练数据量,增加训练数据的多样性,提升模型的鲁棒性。对于bpm变化较大的情况,根据本公开的实施例的方法可提升模型的检测准确性,减小模型训练过程中的扰动,增加有用数据在训练过程中的比重,使得模型能更容易收敛到最优点,从而可以应对更多类型的音乐得到更加准确的节拍位置。
30.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
31.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
32.图1是示出应用根据本公开的示例性实施例的节拍检测方法和节拍检测装置的实施场景的示意图。
33.图2是示出根据本公开的示例性实施例的用于训练节拍预测模型的方法的流程图;
34.图3是示出根据本公开的示例性实施例的用于训练节拍预测模型的装置的框图。
35.图4是示出根据本公开示例性实施例的节拍检测方法的流程图。
36.图5是示出根据本公开示例性实施例的节拍检测装置的框图。
37.图6是示出根据本公开示例性实施例的用于训练节拍预测模型和/或用于节拍检测的电子设备的示图。
38.图7是示出根据本公开示例性实施例的用于训练节拍预测模型和/或用于节拍检测的服务器的示图。
具体实施方式
39.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
40.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
41.在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
42.根据本公开的示例性实施例的节拍检测方法和装置可在具有音频处理能力的电子设备上实现。这里,电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本
电脑、上网本、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备。在电子设备上可运行具有音频处理功能的应用或功能,诸如音乐播放应用、音乐编辑应用等。当运行这样的应用时,例如可对播放的音乐进行节拍检测并输出音乐的节拍位置。另外,也可以在服务器端实现根据本公开的示例性实施例的节拍检测方法和节拍检测装置。
43.图1是示出应用了根据本公开的示例性实施例的节拍检测方法和装置的实施场景的示意图。
44.具体地,图1示出了使用具有音视频编辑功能的应用制作卡点视频的示意图。该应用可使用根据本公开的示例性实施例的节拍检测方法和装置来检测需要编辑的音乐的节拍位置,并在用户界面上输出指示音乐的节拍位置的指示符,这样,用户可直观地看到音乐节拍的位置(即,节拍在音乐中的时间点),并且通过在用户界面进行选择以在相应的位置插入不同的图片和/或视频段落,从而实现根据音乐的节奏来改变图片和/或视频的功能。
45.在根据本公开的示例性实施例的节拍检测方法和节拍检测装置中,通过基于深度学习的节拍检测模型来检测音频数据的节拍。深度学习的节拍检测模型可采用长短时记忆网络(lstm)等序列来建立网络模型,并且考虑音乐种类的多样性可融合多种模型来针对不同种类的音乐建模。然后,使用带有节拍标注的训练样本数据集对节拍检测模型进行训练以得到。在经过多次训练迭代之后,可使用训练后的节拍检测模型来对新输入的音频数据进行检测,即,针对音频数据的每一帧确定其属于节拍点的概率,从而可确定音频数据的节拍位置。可选地,还可使用动态规划算法,结合先验知识来得到一组全局最优的节拍位置。
46.下面将参照图2来说明根据本公开的示例性实施例的训练节拍检测模型的方法。
47.具体地,首先,在步骤s210,从训练样本数据集获取具有大幅度节拍变化的多个训练样本数据。这里,具有大幅度节拍变化的训练样本数据是指作为训练样本数据的音频数据的每分钟节拍数(bpm)在其时间长度内的波动较大。也就是说,如果音频数据的bpm在前后两部分的差值超过了阈值,可确定该音频数据具有大幅度节拍变化。例如,假设一个音频数据的时间长度为2分钟,在第一分钟其bpm值为180而第二分钟的bpm值为60,则可认为该音频数据具有较大的节拍差异。
48.接下来,在步骤s220,提取所述多个训练样本数据的频域特征,将提取的频域特征输入节拍预测模型并获得所述多个训练样本数据的节拍概率预测值。
49.然后,在步骤s230,通过目标损失函数计算所述多个训练样本数据的节拍概率预测值与所述多个训练样本数据的节拍标注之间的偏差,并根据偏差调整节拍预测模型的参数。
50.训练样本数据集可具有作为训练样本数据的多个音频数据,每个音频数据具有特定的每分钟节拍数以及相应的节拍标注数据。根据本公开的示例性实施例,可通过对训练样本数据集中的音频数据进行组合来生成具有大幅度节拍变化的训练样本数据。例如,为了保证训练数据的多样性并且增大训练数据量,可将训练样本数据集中的bpm值之差超过阈值的训练样本数据进行组合来生成拼接训练样本数据。
51.为此,可首先根据节拍标注计算音频数据的bpm,如以下的等式1所示:
52.53.其中,n为标注的节拍数量,s为音频数据的时间长度,其单位为秒。
54.然后,可从训练样本数据集中选择一组bpm之差大于阈值d(例如,d=50)的至少两个训练样本数据,对这一组训练样本数据进行拼接而产生新的训练样本数据。例如,可选择bpm分别为60和120的两个音频数据进行拼接组合。应理解,对音频数据进行拼接组合的方式不限于此,只要能够保证产生较大幅度的节拍差异变化即可。例如,也可对3个或更多个音频数据进行拼接组合。
55.根据本公开的示例性实施例,在对音频数据进行拼接之前,还可对被拼接的至少两个训练样本数据的音量和/或倍速进行调整,并且在调整之后从所述至少两个训练样本数据中的每个训练样本数据随机选择部分数据进行拼接以形成所述拼接样本数据。例如,可将被拼接的音频数据的音量进行 10db~

10db的调整,或者将被拼接的音频数据的倍速调整为原始倍速的0.8倍~1.2倍,然后从调整后的音频数据各自随机选择一段长度大于5秒的数据来拼接生成新的训练样本数据。
56.根据本公开的示例性实施例,可从训练样本数据集中选择预定比例的数据来执行拼接。例如,可选择训练样本数据集中的50%的数据来执行拼接,而其余的50%的数据可不进行拼接而直接用于训练。
57.通过以上的方式,可使得训练数据与训练目标相结合,增大训练数据量,增加训练数据的多样性。
58.根据本公开的示例性实施例,在步骤s220,可将获取的训练样本数据通过短时傅里叶变换转换到时频域,计算转换后的训练样本数据的梅尔谱特征,将得到的梅尔谱特征输入到基于深度学习的神经网络中,从而可得到训练样本数据的每一帧数据是否为节拍点的概率。
59.具体地,假设长度为t的训练样本数据的原始音频信号x在时域上为x(t),其中t代表时间,0<t≤t,则经过短时傅里叶变换后,x(t)在时频域可表示为如下的等式(2):
60.x(n,k)=stft(x(t))
ꢀꢀꢀꢀꢀꢀ
(2)
61.其中n为帧序列,0<n≤ns,ns为总帧数,k为中心频率序列0<k≤k,k为总频点数。
62.然后通过以下等式(3)计算梅尔谱特征:
63.m(n,k)=mel(x(n,k

))
ꢀꢀꢀꢀꢀꢀꢀ
(3)
64.其中k

为梅尔谱映射后的频率序列。
65.将得到的梅尔谱特征输入神经网络中,根据等式(4)得到每一帧数据对应是否为节拍点的概率:
66.p(n)=model(m(n,k))
ꢀꢀꢀꢀꢀꢀꢀ
(4)
67.根据本公开的示例性实施例,在步骤s230根据偏差调整节拍预测模型的参数可包括:根据目标损失函数计算与多个训练样本数据中的每个训练样本数据对应的损失值,根据损失值对所述多个训练样本数据中的每个训练样本数据分配权重,使用分配了权重的所述多个训练样本数据中的每个训练样本数据对节拍预测模型的参数进行调整。
68.根据本公开的示例性实施例,对多个训练样本数据中的每个训练样本数据分配权重的操作可包括:对与所述多个训练样本数据中的每个训练样本数据对应的损失值进行排序;剔除排序在前预定范围和排序在后预定范围内的损失值所对应的训练样本数据;对剔除后的剩余训练样本数据中的部分训练样本数据赋予高于其他训练样本数据的权重。
69.例如,可通过估计得到的节拍概率p(n)和节拍标注信息b(n)计算目标损失函数对应的结果,如以下的等式(5)所示:
70.l(n)=loss(p(n),b(n))
ꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
71.其中,loss损失函数为交叉熵损失函数。
72.然后,对目标损失函数计算的结果进行从大到小的排序,剔除损失值排在前1%和后1%的数据,并对前50%的数据赋予2倍的学习权重,通过随机梯度下降法更新节拍预测模型对应的参数。应理解,以上的关于范围数值的举例仅是示意性的,本领域的技术人员可根据实际情况使用其他的数值范围。
73.根据本公开的示例性实施例,在针对训练完成步骤s210~s230的一轮迭代更新之后,训练方法还可包括s240,针对训练样本数据集中具有预定bpm的训练样本数据赋予高于训练样本数据集中的其它训练样本数据的学习权重以用于后续的训练,其中,所述具有预定bpm的训练样本数据的数量与训练样本数据集的总数据数量之比小于阈值。这里,可针对没有经过s210~s230的处理的原始的训练样本数据集中的所有训练样本数据来执行s240。这是因为,训练样本数据集中的音乐数据通常具有的bpm的值集中在一个比较接近的范围内(例如,可能训练样本数据集中的80%的音乐数据的bpm之间的差值都在固定范围内),为了在模型训练中更加关注不在此bpm范围内的训练样本数据,可针对这部分数据赋予更高的学习权重,例如,可对这部分数据赋予2倍的学习权重,从而在下一轮的训练中这部分数据对预测模型具有更高的影响。
74.根据本公开的示例性实施例,步骤s240可通过以下方式来针对训练样本数据集中的数据赋予权重:使用节拍预测模型对训练样本数据集中的每个训练样本数据执行节拍预测以获得针对每个训练样本数据的节拍预测值;通过目标损失函数计算每个训练样本数据的节拍预测值和节拍标注数据的损失值;计算与训练样本数据集所具有的每个bpm值对应的训练样本数据的平均损失值和训练样本数据数量;根据与每个bpm值对应的训练样本数据的平均损失值和训练样本数据数量的比值对全部bpm值进行排序;对排序在前的预定比例的bpm值所对应的训练样本数据赋予高于其他bpm值所对应的训练样本数据的学习权重。也就是说,假设训练样本数据集中有m个训练样本数据,这m个训练样本数据总共具有l个不同的bpm值{bpm
i
},i=1,2

l,每个bpm
i
对应有n
i
个的训练样本数据。使用节拍预测模型可获得每个bpm
i
值所对应的n
i
个训练样本数据的各自的节拍预测概率p(n),然后可如等式5所示,根据节拍预测概率p(n)和节拍标注信息b(n)的目标损失函数l(n)=loss(p(n),b(n))计算出每个bpm
i
所对应的n
i
个训练样本数据的损失值,从而可得到bpm
i
的平均损失值l
i
。然后,根据的平均损失值与训练样本数据的数量之比l
i
/n
i
来对每个bpm
i
所对应的训练样本数据分配权重,其中,l
i
/n
i
越大,分配的权重可以越大。例如,可对l
i
/n
i
的排序的前50%的bpm
i
所对应的训练样本数据分配2倍的学习权重,从而可以在后续的训练中更加关注这部分数据。
75.通过上述的训练基于深度学习的节拍预测模型的方法,可以使得训练数据与训练目标相结合,增大训练数据量,增加训练数据的多样性,提升模型的鲁棒性。对于bpm变化较大的情况,根据本公开的实施例的方法可提升模型的检测准确性,减小模型训练过程中的扰动,增加有用数据在训练过程中的比重,使得模型能更容易收敛到最优点。
76.图3是示出根据本公开的示例性实施例的用于训练节拍预测模型的装置的框图。
77.如图3所示,根据本公开的示例性实施例的用于训练节拍预测模型的装置300可包括:训练样本获取单元310、预测单元320和调参单元330。
78.根据本公开的示例性实施例,训练样本获取单元310被配置为从训练样本数据集获取具有大幅度节拍变化的多个训练样本数据。
79.预测单元320被配置为提取所述多个训练样本数据的频域特征,将提取的频域特征输入节拍预测模型并获得所述多个训练样本数据的节拍概率预测值。
80.调参单元330被配置为通过目标损失函数计算所述多个训练样本数据的节拍概率预测值与所述多个训练样本数据的节拍标注之间的偏差,并根据偏差调整节拍预测模型的参数。
81.根据本公开的示例性实施例,获取的所述多个训练样本数据中的每个训练样本数据是通过对训练样本数据集中的至少两个训练样本数据进行拼接而形成的拼接样本数据,其中,被拼接的至少两个训练样本数据的bpm之间的差大于阈值。如上所述,可将bpm的差大于50的两个训练样本数据拼接来形成拼接样本数据。
82.根据本公开的示例性实施例,训练样本获取单元310被配置为对被拼接的至少两个训练样本数据的音量和/或倍速进行调整,并且在调整之后从所述至少两个训练样本数据中的每个训练样本数据随机选择部分数据进行拼接以形成所述拼接样本数据。以上已经参照图2对调整训练样本数据的音量和/或倍速以及选择部分数据的过程进行了说明,在此不再重复描述。
83.根据本公开的示例性实施例,训练样本数据集中的预定比例的训练样本数据被选择用于拼接生成所述拼接样本数据。如上所述,可使用训练样本数据集中的50%的数据来拼接产生新的训练样本数据。
84.根据本公开的示例性实施例,调参单元330可包括:权重计算单元331,被配置为根据目标损失函数计算与多个训练样本数据中的每个训练样本数据对应的损失值;权重分配单元332,被配置为根据损失值对所述多个训练样本数据中的每个训练样本数据分配权重;模型调整单元333,被配置为使用分配了权重的所述多个训练样本数据中的每个训练样本数据对节拍预测模型的参数进行调整。
85.根据本公开的示例性实施例,权重分配单元332被配置为对与所述多个训练样本数据中的每个训练样本数据对应的损失值进行排序,剔除排序在前预定范围和排序在后预定范围内的损失值所对应的训练样本数据,并对剔除后的剩余训练样本数据中的部分训练样本数据赋予高于其他训练样本数据的权重。
86.根据本公开的示例性实施例,模型调整单元333被配置为使用梯度下降算法来调整节拍预测模型的参数。
87.根据本公开的示例性实施例,用于训练节拍预测模型的装置可还包括:学习权重分配单元340,被配置为针对训练样本数据集中具有预定bpm的训练样本数据赋予高于训练样本数据集中的其它训练样本数据的学习权重以用于下一轮的训练,其中,所述具有预定bpm的训练样本数据的数量与训练样本数据集的总数据数量之比小于阈值。
88.根据本公开的示例性实施例,学习权重分配单元340被配置为:使用节拍预测模型对训练样本数据集中的每个训练样本数据执行节拍预测以获得针对每个训练样本数据的节拍预测值;通过目标损失函数计算每个训练样本数据的节拍预测值和节拍标注数据的损
失值;计算与训练样本数据集所具有的每个bpm值对应的训练样本数据的平均损失值和训练样本数据数量;根据与每个bpm值对应的训练样本数据的平均损失值和训练样本数据数量的比值对全部bpm值进行排序;对排序在前的预定比例的bpm值所对应的训练样本数据赋予高于其他bpm值所对应的训练样本数据的学习权重。
89.图4是示出根据本公开示例性实施例的节拍检测方法的流程图。
90.如图4所示,在步骤s410,获取待检测的音频数据。例如,在如图1所示的音视频编辑应用中,可根据用户的选择来从本地和/或远程获取需要检测节拍的音频数据。应理解,获取音频数据的方式不限于此,还可通过其他方式(例如,从音视频文件中抓取的音频数据)来获取音频数据。
91.接下来,在步骤s420,提取所述音频数据的频域特征,并将提取的频域特征输入节拍检测模型。根据本公开的示例性实施例,可对音频数据进行短时傅里叶变换以将音频数据的原始信号转换为时频域的信号,然后计算转换后的音频数据的梅尔谱特征,并将计算得到的梅尔谱特征作为频域特征输入到基于深度学习的节拍检测模型。节拍检测模型可存储在本地,也可以通过远程通信来将提取的特征发送到存储有节拍检测模型的远程设备(例如,服务器)来检测节拍。
92.然后,在步骤s430,使用节拍检测模型来确定音频数据的节拍。这里,节拍检测模型可以是根据如上参照图2描述的训练方法而训练得到。根据本公开的示例性实施例的训练方法训练过后的基于深度学习的神经网络来估计音频数据的每个帧是否为节拍的概率,如果估计出的概率超过阈值,则将该帧的位置确定为音频数据中的节拍位置。
93.根据本公开的示例性实施例,在得到了音频数据的节拍位置之后,还可使用动态规划算法根据结合先验知识来得到音频数据的全局最优的节拍位置。
94.通过如图4所述的节拍检测方法,可以应对各种类型的音乐得到更加准确的节拍检测结果。
95.图5是示出根据本公开的示例性实施例的节拍检测装置的框图。根据本公开的示例性实施例的节拍检测装置500可以以软件和/或硬件的形式在诸如终端设备和服务器的电子设备中实现。
96.如图5所示,根据本公开的示例性实施例的节拍检测装置500可包括音频获取单元510、特征提取单元520和节拍检测单元530。
97.音频获取单元510被配置为获取待检测的音频数据。可根据用户的选择来从本地和/或远程获取需要检测节拍的音频数据。
98.特征提取单元520被配置为提取所述音频数据的频域特征,并将提取的频域特征输入节拍检测模型。根据本公开的示例性实施例,特征提取单元520可对音频数据进行短时傅里叶变换以将音频数据的原始信号转换为时频域的信号,然后计算转换后的音频数据的梅尔谱特征,并将计算得到的梅尔谱特征作为频域特征输入到基于深度学习的节拍检测模型。节拍检测模型可存储在本地(即,节拍检测装置所在的设备中),也可以通过远程通信来将提取的特征发送到存储有节拍检测模型的远程设备(例如,服务器)来检测节拍。
99.节拍检测单元530被配置为使用节拍检测模型来确定音频数据的节拍,其中,所述节拍检测模型是根据参照图2的实施例的用于训练节拍预测模型的方法而训练得到的。这里,节拍检测模型可以是根据如上参照图2描述的训练方法而训练得到。根据本公开的示例
性实施例的训练方法训练过后的基于深度学习的神经网络来估计音频数据的每个帧是否为节拍的概率,如果估计出的概率超过阈值,则将该帧的位置确定为音频数据中的节拍位置。
100.图6是示出根据本公开的示例性实施例的一种用于训练节拍检测模型和/或用于节拍检测的电子设备的结构框图。该电子设备600例如可以是:智能手机、平板电脑、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。电子设备600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
101.通常,电子设备600包括有:处理器601和存储器602。
102.处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用dsp(digital signal processing,数字信号处理)、fpga(field programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
103.存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本公开的如图2或图4所示的方法实施例提供的训练节拍检测模型的方法或节拍检测方法。
104.在一些实施例中,电子设备600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头606、音频电路607、定位组件608和电源609中的至少一种。
105.外围设备接口603可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
106.射频电路604用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行
通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括nfc(near field communication,近距离无线通信)有关的电路,本公开对此不加以限定。
107.显示屏605用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置在电子设备600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在电子设备600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在电子设备600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
108.摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
109.音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在电子设备600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
110.定位组件608用于定位电子设备600的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件608可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
111.电源609用于为电子设备600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
112.在一些实施例中,电子设备600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器
614、光学传感器615以及接近传感器616。
113.加速度传感器611可以检测以电子设备600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
114.陀螺仪传感器612可以检测电子设备600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对电子设备600的3d动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
115.压力传感器613可以设置在电子设备600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在电子设备600的侧边框时,可以检测用户对电子设备600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对ui上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
116.指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置电子设备600的正面、背面或侧面。当电子设备600上设置有物理按键或厂商logo时,指纹传感器614可以与物理按键或厂商logo集成在一起。
117.光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
118.接近传感器616,也称距离传感器,通常设置在电子设备600的前面板。接近传感器616用于采集用户与电子设备600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与电子设备600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与电子设备600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
119.本领域技术人员可以理解,图6中示出的结构并不构成对电子设备600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
120.图7示出的是根据本公开的示例性实施例的用于训练节拍预测模型和/或用于节拍预测的服务器的示图。参照图7,服务器700包括一个或多个处理处理器710以及存储器720。存储器720可以包括用于执行如上参照图2和/或图4所述的方法的一个或一个以上的程序。服务器700还可以包括一个电源组件730被配置为执行服务器700的电源管理,一个有线或无线网络接口740被配置为将服务器700连接到网络,和一个输入输出(i/o)接口750。
服务器700可以操作基于存储在存储器720的操作系统,例如windows servertm、mac os xtm、unixtm、linuxtm、freebsdtm或类似。
121.根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的训练节拍预测模型的方法和/或节拍预测方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd

rom、cd

r、cd r、cd

rw、cd rw、dvd

rom、dvd

r、dvd r、dvd

rw、dvd rw、dvd

ram、bd

rom、bd

r、bd

r lth、bd

re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
122.根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成上述方法。
123.根据本公开的节拍预测模型训练方法以及应用该方法的节拍预测方法、装置以及电子设备、计算机可读存储介质可以使得训练数据与训练目标相结合,增大训练数据量,增加训练数据的多样性,提升模型的鲁棒性。对于bpm变化较大的情况,根据本公开的实施例的方法可提升模型的检测准确性,减小模型训练过程中的扰动,增加有用数据在训练过程中的比重,使得模型能更容易收敛到最优点,从而可以应对更多类型的音乐得到更加准确的节拍位置。
124.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
125.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜