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

节拍检测模型的训练方法、节拍检测方法及装置与流程

2021-08-06 18:27:00 来源:中国专利 TAG:节拍 检测方法 装置 模型 音频
节拍检测模型的训练方法、节拍检测方法及装置与流程

本公开涉及音频领域,尤其涉及一种节拍检测模型的训练方法、节拍检测方法及装置。



背景技术:

节拍是音乐在时间上的基本单位,是由一组强弱规律组织而成。节拍检测方法是音乐信息检索领域的一项重要任务,主要是通过分析音乐的特性自动识别音乐中节拍点位置。节拍检测在现实生活中有多种多样的应用,如音乐可视化、游戏制作和音乐风格迁移等,因此,准确高效的节拍检测方法有重要的应用意义。

近些年来,深度学习被越来越多的应用到节拍检测方法中来提升传统算法的效果。目前,基于深度学习的节拍检测方法,不需要估计音符起始点的位置,依赖于较少的先验知识,较多数据的支撑下可以得到总体优于传统节拍检测方法的检测效果,但是在数据集没有覆盖到的情况下并没有比传统节拍检测好,有时比传统节拍检测方法的结果还要差。而现有的节拍检测数据集有限且存在标注有误的情况,导致神经网络模型有异常估计的情况;并且为了增加神经网络模型的鲁棒性以及适应于各种不同的音乐类型,神经网络模型的大小一般较大,导致不能实时的预测。



技术实现要素:

本公开提供一种节拍检测模型的训练方法、节拍检测方法及装置,以至少解决相关技术中训练出的节拍检测模型范化能力差且模型大小较大,难以实现实时的预测的问题。

根据本公开实施例的第一方面,提供一种节拍检测模型的训练方法,包括:获取训练音频数据集,其中,训练音频数据集包括多个音频数据和每个音频数据对应的节拍标注信息;获取音频数据的梅尔谱特征;获取音频数据中每帧数据的音符起始点概率,其中,音符起始点概率表示音频数据中每帧数据是音符起始点的概率;将音符起始点概率与梅尔谱特征输入节拍检测模型,得到估计的音频数据中每帧数据的节拍点概率,其中,节拍点概率表示音频数据中每帧数据是节拍点的概率;基于节拍点概率和音频数据对应的节拍标注信息确定目标损失函数,通过目标损失函数调整节拍检测模型的参数,对节拍检测模型进行训练。

可选地,将音符起始点概率与梅尔谱特征输入节拍检测模型,得到估计的音频数据中每帧数据是节拍点概率,包括:将音频数据中每帧数据的音符起始点概率与对应的梅尔谱特征进行拼接;将拼接结果输入节拍检测模型,得到音频数据中每帧数据的节拍点概率。

可选地,音符起始点概率是利用频域差分方法对音频数据执行音频节奏检测得到的。

可选地,利用频域差分方法对音频数据执行音频节奏检测,包括:基于音频数据的梅尔谱特征对音频数据中相邻两帧数据进行归一化处理;针对所述音频数据中每帧数据,对归一化处理后的当前帧数据的特征与上一帧数据的特征进行差分运算,得到当前帧数据所有频率点上的差分运算后的特征,其中,归一化处理后的第一帧数据的差分运算后的特征为预先设定的;获取差分运算后的每帧数据所有频率点上的特征的平均值;将平均值输入双曲正切函数,得到音频数据中每帧数据的音符起始点概率。

可选地,获取音频数据的梅尔谱特征包括:通过短时傅里叶变换获取音频数据的时频域特征;基于时频域特征获取音频数据的梅尔谱特征。

根据本公开实施例的第二方面,提供一种节拍检测方法,包括:获取待检测音频数据;获取待检测音频数据的梅尔谱特征;获取待检测音频数据中每帧数据的音符起始点概率,其中,音符起始点概率表示待检测音频数据中每帧数据是音符起始点的概率;将音符起始点概率与梅尔谱特征输入到训练好的节拍检测模型中,得到估计的待检测音频数据中每帧数据的节拍点概率,其中,节拍点概率表示待检测音频数据中每帧数据是节拍点的概率。

可选地,在得到估计的待检测音频数据中每帧数据的节拍点概率之后,还包括:基于音符起始点概率和节拍点概率,确定最终的节拍点概率。

可选地,基于音符起始点概率和节拍点概率,获取最终的节拍点概率,包括:在节拍点概率大于预定阈值时,将节拍点概率作为最终的节拍点概率;在节拍点概率小于等于预定阈值且音符起始点概率大于预定阈值时,将音符起始点概率作为最终的节拍点概率;在节拍点概率和音符起始点概率均小于等于预定阈值时,并获取节拍点概率与预定比例的第一乘积、音符起始点概率与(1-预定比例)的第二乘积,将第一乘积和第二乘积的和作为最终的节拍点概率。

可选地,在得到估计的待检测音频数据中每帧数据的节拍点概率之后,还包括:基于节拍点概率,获得待检测音频数据的节拍检测结果。

可选地,将音符起始点概率与梅尔谱特征输入到训练好的节拍检测模型中,得到估计的待检测音频数据中每帧数据的节拍点概率,包括:将待检测音频数据中每帧数据的音符起始点率与对应的梅尔谱特征进行拼接;将拼接结果输入到训练好的节拍检测模型,得到估计的待检测音频数据中每帧数据的节拍点概率。

可选地,音符起始点概率是利用频域差分方法对待检测音频数据执行音频节奏检测得到的。

可选地,利用频域差分方法对待检测音频数据执行音频节奏检测,包括:基于待检测音频数据的梅尔谱特征对待检测音频数据中相邻两帧数据进行归一化处理;针对所述待检测音频数据中每帧数据,对归一化处理后的当前帧数据的特征与上一帧数据的特征进行差分运算,得到当前帧数据所有频率点上的差分运算后的特征,其中,归一化处理后的第一帧数据的差分运算后的特征为预先设定的;获取差分运算后的每帧数据所有频率点上的特征的平均值;将平均值输入双曲正切函数,得到待检测音频数据中每帧数据的音符起始点概率。

可选地,获取待检测音频数据的梅尔谱特征包括:通过短时傅里叶变换获取待检测音频数据的时频域特征;基于时频域特征获取待检测音频数据的梅尔谱特征。

可选地,节拍检测模型通过上述任一节拍检测模型的训练方法训练得到的。

根据本公开实施例的第三方面,提供一种节拍检测模型的训练装置,包括:第一获取单元,用于获取训练音频数据集,其中,训练音频数据集包括多个音频数据和每个音频数据对应的节拍标注信息;第二获取单元,用于获取音频数据的梅尔谱特征;第三获取单元,用于获取音频数据中每帧数据的音符起始点概率,其中,音符起始点概率表示音频数据中每帧数据是音符起始点的概率;估计单元,用于将音频起始点概率与梅尔谱特征输入节拍检测模型,得到估计的音频数据中每帧数据的节拍点概率,其中,节拍点概率表示音频数据中每帧数据是节拍点的概率;确定单元,用于基于节拍点概率和音频数据对应的节拍标注信息确定目标损失函数;训练单元,用于通过目标损失函数调整节拍检测模型的参数,对节拍检测模型进行训练。

可选地,估计单元,还用于将音频数据中每帧数据的音符起始点概率与对应的梅尔谱特征进行拼接;将拼接结果输入节拍检测模型,得到音频数据中每帧数据的节拍点概率。

可选地,第三获取单元,还用于利用频域差分方法对音频数据执行音频节奏检测得到音符起始点概率。

可选地,第三获取单元,还用于基于音频数据的梅尔谱特征对音频数据中相邻两帧数据进行归一化处理;针对所述音频数据中每帧数据对归一化处理后的当前帧数据的特征与上一帧数据的特征进行差分运算,得到当前帧数据所有频率点上的差分运算后的特征,其中,归一化处理后的第一帧数据的差分运算后的特征为预先设定的;获取差分运算后的每帧数据所有频率点上的特征的平均值;将平均值输入双曲正切函数,得到音频数据中每帧数据的音符起始点概率。

可选地,第二获取单元,还用于通过短时傅里叶变换获取音频数据的时频域特征;基于时频域特征获取音频数据的梅尔谱特征。

根据本公开实施例的第四方面,提供一种节拍概率检测装置,包括:第一获取单元,用于获取待检测音频数据;第二获取单元,用于获取待检测音频数据的梅尔谱特征;第三获取单元,用于获取待检测音频数据中每帧数据的音符起始点概率,其中,音符起始点概率表示待检测音频数据中每帧数据是音符起始点的概率;估计单元,用于将音符起始点概率与梅尔谱特征输入到训练好的节拍检测模型中,得到估计的待检测音频数据中每帧数据的节拍点概率,其中,节拍点概率表示待检测音频数据中每帧数据是节拍点的概率。

可选地,估计单元,还用于在得到估计的待检测音频数据中每帧数据的节拍点概率之后,基于音符起始点概率和节拍点概率,确定最终的节拍点概率。

可选地,估计单元,还用于在节拍点概率大于预定阈值时,将节拍点概率作为最终的节拍概率;在节拍点概率小于等于预定阈值且音符起始点概率大于预定阈值时,将音符起始点概率作为最终的节拍概率;在节拍点概率和音符起始点概率均小于等于预定阈值时,并获取节拍点概率与预定比例的第一乘积、音符起始点概率与(1-预定比例)的第二乘积,将第一乘积和第二乘积的和作为最终的节拍概率。

可选地,第四获取单元,用于基于节拍点概率,获得待检测音频数据的节拍检测结果。

可选地,估计单元,还用于将待检测音频数据中每帧数据的音符起始点率与对应的梅尔谱特征进行拼接;将拼接结果输入到训练好的节拍检测模型,得到估计的待检测音频数据中每帧数据的节拍点概率。

可选地,第三获取单元,还用于利用频域差分装置对待检测音频数据执行音频节奏检测得到音符起始点概率。

可选地,第三获取单元,还用于基于待检测音频数据的梅尔谱特征对待检测音频数据中相邻两帧数据进行归一化处理;针对所述待检测音频数据中每帧数据,对归一化处理后的当前帧数据的特征与上一帧数据的特征进行差分运算,得到当前帧数据所有频率点上的差分运算后的特征,其中,归一化处理后的第一帧数据的差分运算后的特征为预先设定的;获取差分运算后的每帧数据所有频率点上的特征的平均值;将平均值输入双曲正切函数,得到待检测音频数据中每帧数据的音符起始点概率。

可选地,第二获取单元,用于通过短时傅里叶变换获取待检测音频数据的时频域特征;基于时频域特征获取待检测音频数据的梅尔谱特征。

可选地,节拍检测模型通过如上任一节拍检测模型的训练方法训练得到的。

根据本公开实施例的第五方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现根据本公开的节拍检测模型的训练方法和节拍检测方法。

根据本公开实施例的第六方面,提供了一种计算机可读存储介质,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行如上根据本公开的节拍检测模型的训练方法和节拍检测方法。

根据本公开实施例的第七方面,提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现根据本公开的节拍检测模型的训练方法和节拍检测方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

根据本公开的节拍检测模型的训练方法及装置、节拍检测方法及装置,在训练过程中,先获取音频数据的梅尔谱特征,再获取每帧数据是音符起始点的概率,并将该音符起始点概率与梅尔谱特征拼接,然后通过拼接后的特征对节拍检测模型进行训练,实现了利用传统算法提供的信息,即音频数据中每帧数据的音符起始点概率,帮助节拍检测模型更好的训练,并且可以减小节拍检测模型的大小,达到更快的检测速度。因此,本公开解决了相关技术中训练出的节拍检测模型范化能力差且模型大小较大,难以实现实时的预测的问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是根据一示例性实施例示出的节拍检测模型的训练方法的实施场景示意图;

图2是根据一示例性实施例示出的一种节拍检测模型的训练方法的流程图;

图3是根据一示例性实施例示出的一种节拍检测方法的流程图;

图4是根据一示例性实施例示出的节拍检测的流程示意图;

图5是根据一示例性实施例示出的一种节拍检测模型的训练装置的框图;

图6是根据一示例性实施例示出的一种节拍概率检测装置的框图;

图7是根据本公开实施例的一种电子设备700的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。

目前,节拍检测大概有两种方法,传统节拍检测方法和基于深度学习的节拍检测方法。但是,传统节拍检测方法在打击/弹拨类乐器演奏的音乐中能得到较为准确的检测结果,但是对于多乐器和有人声的场景,检测难以得到较为准确的检测结果,使得最终的节拍检测不准确;而现有的基于深度学习的节拍检测方法,训练出的节拍检测模型范化能力差且模型大小较大,难以实现实时的预测。

针对上述问题,本公开提供了一种节拍检测模型的训练方法和节拍检测方法。图1是根据一示例性实施例示出的节拍检测模型的训练方法的实施场景示意图,如图1所述,该实施场景包括服务器100、用户终端110和用户终端120,其中,用户终端不限于2个,包括并不限于手机、个人计算机等设备,用户终端可以安装获取音频数据的应用程序,服务器可以是一个服务器,也可以是若干个服务器组成服务器集群,还可以是云计算平台或虚拟化中心。

服务器100接收用户终端110、120发送的对节拍检测模型进行训练的请求之后,统计从用户终端110、120历史上接收到的音频数据并获取统计的音频数据进行标注后的节拍标注信息,并将标注后的音频数据合并在一起作为训练音频数据集,其中,训练音频数据集包括多个音频数据和每个音频数据对应的节拍标注信息,服务器100在获取到训练音频数据集后,获取训练音频数据集中音频数据的梅尔谱特征,再获取音频数据中每帧数据的音符起始点概率,然后将音符起始点概率与梅尔谱特征输入节拍检测模型,从而得到估计的音频数据中每帧数据的节拍点概率,服务器100再基于得到的节拍点概率和音频数据对应的节拍标注信息确定目标损失函数,以便通过目标损失函数调整节拍检测模型的参数,实现对节拍检测模型进行训练。在训练好节拍检测模型后,后续接收到用户终端110、120发送的待检测音频数据,可以通过训练好节拍检测模型实时获取待检测音频数据的节拍点概率。

下面,将参照图2至图6详细描述根据本公开的示例性实施例的节拍检测模型的训练方法、节拍检测方法及装置。

图2是根据一示例性实施例示出的一种节拍检测模型的训练方法的流程图,如图2所示,节拍检测模型的训练方法包括以下步骤:

在步骤s201中,获取训练音频数据集,其中,训练音频数据集包括多个音频数据和每个音频数据对应的节拍标注信息。例如,可以从服务器本地获取历史音频数据,然后人工对历史音频数据标注节拍信息,来获取对应的节拍标注信息。

在步骤s202中,获取音频数据的梅尔谱特征。

根据本公开的示例性实施例,获取音频数据的梅尔谱特征可以先通过短时傅里叶变换获取音频数据的时频域特征,再基于时频域特征获取音频数据的梅尔谱特征。

例如,首先,对音频数据x(t)通过短时傅里叶变换(short-timefouriertransform,简称为stft)转到时频域。若长度为t的原始音频信号x在时域上为x(t),其中t代表时间,0<t≤t,则经过短时傅里叶变换后,x(t)在时频域可表示为:

x(n,k)=stft(x(t))(1)

其中,n为帧序列,0<n≤ns,(ns为总帧数);0<k≤k;(k为总频点数)。

其次,可以通过如下公式计算梅尔谱特征:

m(n,k)=mel(x(n,k‘))(2)

其中,k‘为梅尔谱映射后的频率序列。

返回图2,在步骤s203中,获取音频数据中每帧数据的音符起始点概率,其中,音符起始点概率表示音频数据中每帧数据是音符起始点的概率。例如,上述音符起始点概率可以利用频域差分方法对音频数据执行音频节奏检测(onset检测)得到的。需要说明的是,传统节拍检测方法包括基于时域能量包络的方法和基于短时傅里叶得到的时频域特征的方法,主要是估计音符起始点(onset检测)。其中,基于时域能量的方法,通过计算能量上的差分得到的峰值点为onset点;而基于时频域特征的方法,一般利用短时傅里叶变换(short-timefouriertransform,简称为stft)提取时频域特征,在时频域上计算差分得到的峰值点为onset点。然后,利用音频节奏变化较为平稳等特征,通过估计的音符起始点计算相关性估计每分钟节拍数(beatsperminute,简称为bpm),最后,通过最优化方法得到一组最优的节拍组合得到音频起始点概率。

根据本公开的示例性实施例,利用频域差分方法对音频数据执行音频节奏检测具体可以通过如下方式实现:基于音频数据的梅尔谱特征对音频数据中相邻两帧数据进行归一化处理;针对所述音频数据中每帧数据,对归一化处理后的当前帧数据的特征与上一帧数据的特征进行差分运算,得到当前帧数据所有频率点上的差分运算后的特征,其中,归一化处理后的第一帧数据的差分运算后的特征为预先设定的;获取差分运算后的每帧数据所有频率点上的特征的平均值;将平均值输入双曲正切函数,得到音频数据中每帧数据的音符起始点概率。通过本实施例,采用梅尔谱特征替代原始音频数据获取音符起始点概率,由于mel谱更接近人的听觉感受,维度小一些,计算量小,因此,本实施例获取概率计算量更小,可以方便快速的获取音符起始点概率。

例如,采用传统节拍检测方法对获取的梅尔谱特征进行差分处理以得到每帧是音符起始点(onset)的概率o(n)。首先,采用如下公式(3)对相邻两帧音频数据做归一化处理,再对相邻两帧数据的归一化处理后的特征计算差分,并对差分运算后的每帧数据在所有频率点上的特征求平均值,最后,利用如下公式(4)双曲正切函数将数值压缩为0到1之间,从而得到音频数据中每帧数据的音符起始点概率,需要说明的是,由于第一帧数据无上一帧进行差分,可以预先设定对应的差分后的特征:

m‘(n,k)=normalize(m(n-1:n,k))(3)

o(n)=tanh(mean(|m(n,k)-m(n-1,k)|))(4)

其中,normalize为归一化函数,tanh为双曲正切函数。

在步骤s204中,将音符起始点概率与梅尔谱特征输入节拍检测模型,得到估计的音频数据中每帧数据的节拍点概率,其中,节拍点概率表示音频数据中每帧数据是节拍点的概率。需要说明的是,上述节拍检测模型可以采用神经网络,如序列建模网络或多个深度神经网络的融合,其中,序列建模网络可以为长短时记忆(longshort-termmemory,简称为lstm)、时域卷积网络(temporalconvolutionalnetworks,简称为tcn)等。

根据本公开的示例性实施例,将音符起始点概率与梅尔谱特征输入节拍检测模型,得到估计的音频数据中每帧数据是节拍点概率可以包括:将音频数据中每帧数据的音符起始点概率与对应的梅尔谱特征进行拼接;将拼接结果输入节拍检测模型,得到音频数据中每帧数据的节拍点概率。通过本实施例,将音符起始点概率和梅尔谱拼接后输入模型,使得拼接结果与模型输入相匹配,以便对模型进行训练。

例如,可以通过如下公式对得到的音频起始点概率o(n)和梅尔谱特征m(n,k)进行特征拼接:

f(n)=concat(o(n),m(n,k))(5)

其中,n为帧序列,0<n≤ns,(ns为总帧数);0<k′≤k′;k′=t/ns,concat为拼接函数,即将原来每一帧计算的onset概率和每一帧计算的梅尔谱拼接。

然后,将拼接的特征输入节拍检测模型中,得到每一帧数据对应是否为节拍点的概率:

p(n)=model(f(n))(6)

其中,model为节拍检测模型。

在步骤s205中,基于节拍点概率和音频数据对应的节拍标注信息确定目标损失函数。例如,目标损失函数可以是交叉熵目标损失函数,但并不限于此。

在步骤s206中,通过目标损失函数调整节拍检测模型的参数,对节拍检测模型进行训练。

例如,通过估计得到的节拍点概率p(n)和节拍标注信息b(n)确定目标损失函数l(n),并更新节拍检测模型的参数。

l(n)=loss(p(n),b(n))(7)

其中,loss损失函数可以为交叉熵目标损失函数。

图3是根据一示例性实施例示出的一种节拍检测方法的流程图,如图3所示,节拍检测方法包括以下步骤:

在步骤s301中,获取待检测音频数据。例如,可以获取用户终端上的一首歌曲,将其作为待检测音频数据。

在步骤s302中,获取待检测音频数据的梅尔谱特征。

根据本公开的示例性实施例,获取待检测音频数据的梅尔谱特征包括:通过短时傅里叶变换获取待检测音频数据的时频域特征;基于时频域特征获取待检测音频数据的梅尔谱特征。例如,可以通过上面公式(1)和公式(2)得到待检测音频数据的梅尔谱特征。

在步骤s303中,获取待检测音频数据中每帧数据的音符起始点概率,其中,音符起始点概率表示待检测音频数据中每帧数据是音符起始点的概率。例如,该音符起始点概率可以利用频域差分方法对待检测音频数据执行音频节奏检测得到的。

根据本公开的示例性实施例,上述利用频域差分方法对待检测音频数据执行音频节奏检测可以包括:基于待检测音频数据的梅尔谱特征对待检测音频数据中相邻两帧数据进行归一化处理;针对所述待检测音频数据中每帧数据,对归一化处理后的当前帧数据的特征与上一帧数据的特征进行差分运算,得到当前帧数据所有频率点上的差分运算后的特征,其中,归一化处理后的第一帧数据的差分运算后的特征为预先设定的;获取差分运算后的每帧数据所有频率点上的特征的平均值;将平均值输入双曲正切函数,得到待检测音频数据中每帧数据的音符起始点概率。具体的,可以上面的公式(3)和公式(4)得到音符起始点概率。通过本实施例,采用梅尔谱特征替代原始音频数据获取音符起始点概率,由于mel谱更接近人的听觉感受,维度小一些,计算量小,因此,本实施例获取概率计算量更小,可以方便快速的获取音符起始点概率。

在步骤s304中,将音符起始点概率与梅尔谱特征输入到训练好的节拍检测模型中,得到估计的待检测音频数据中每帧数据的节拍点概率,其中,节拍点概率表示待检测音频数据中每帧数据是节拍点的概率。需要说明的是,上述训练好的节拍检测模型可以通过上面实施例中任一节训练方法训练得到的,此处不在展开论述。

根据本公开的示例性实施例,将音符起始点概率与梅尔谱特征输入到节拍检测模型中,得到估计的待检测音频数据中每帧数据的节拍点概率可以包括:将待检测音频数据中每帧数据的音符起始点率与对应的梅尔谱特征进行拼接;将拼接结果输入到训练好的节拍检测模型,得到估计的待检测音频数据中每帧数据的节拍点概率。具体地,可以通过公式(5)将待检测音频数据中每帧数据的音符起始点率与对应的梅尔谱特征进行拼接,通过公式(6)得到估计的待检测音频数据中每帧数据的节拍点概率。通过本实施例,将音符起始点率和梅尔谱拼接后输入模型,使得拼接结果与模型输入相匹配,以便对模型进行训练。

根据本公开的示例性实施例,在得到估计的待检测音频数据中每帧数据的节拍点概率之后,还可以基于音符起始点概率和节拍点概率,进一步地确定最终的节拍点概率。通过本实施例,在基于训练好的节拍检测模型得到节拍概率后,进一步结合传统算法获取的音符起始点概率,获取最终节拍概率,提高节拍概率检测的准确度。

根据本公开的示例性实施例,基于音符起始点概率和节拍点概率,获取最终的节拍点概率,包括:在节拍点概率大于预定阈值时,将节拍点概率作为最终的节拍点概率;在节拍点概率小于等于预定阈值且音符起始点概率大于预定阈值时,将音符起始点概率作为最终的节拍概率;在节拍点概率和音符起始点概率均小于等于预定阈值时,并获取节拍点概率与预定比例的第一乘积、音符起始点概率与(1-预定比例)的第二乘积,将第一乘积和第二乘积的和作为最终的节拍概率。通过本实施例,可以很好的结合基于训练好的节拍检测模型得到节拍概率和传统算法获取的音符起始点概率,获取的准确率更高的节拍点概率

例如,可以结合确定的节拍点概率p(n)和传统算法预测的onset概率o(n),通过如下公式得到最终的节拍点概率:

其中,alpha表示p(n)占最后概率的比例,一般可以根据需要选在0.5~0.8之间。

根据本公开的示例性实施例,在得到估计的待检测音频数据中每帧数据的节拍点概率之后,可以对获取的节点概率进行利用,如基于节拍点概率获得待检测音频数据的节拍检测结果。

为了更好的理解上述实施例,下面参照图4示例性地描述根据本公开的示例性实施例的节拍检测的流程。图4是根据一示例性实施例示出的节拍检测的流程示意图。如图4所示,首先,对输入的音频数据x(t)通过短时傅里叶变换(stft)转到时频域,转到时频域之后,根据上述公式(2)计算其梅尔谱特征;再然后,利用传统onset检测方法对得到的梅尔谱特征进行差分得到每帧是音符起始点的概率o(n),如,利用公式(3)和(4)得到o(n);再然后,将o(n)和梅尔谱特征拼接并输入节拍检测模型,得到每一帧数据对应是否为节拍点的概率p(n),以便通过得到估计的节拍点概率p(n)和节拍标注信息b(n)计算目标损失函数l(n),并根据目标损失函数更新节拍检测模型的参数;最后,结合训练好的节拍检测模型得到的节拍点概率p(n)和传统算法预测的onset概率o(n),根据p(n)和o(n)到最终的节拍点概率,如根据上面公式(8)得到最终的节拍点概率。

综上,本公开结合了传统节拍检测方法和基于深度学习的节拍检测方法,首先提取音频的时频域特征,利用时频域差分方法进行onset检测,将onset检测结果和提取的时频域特征作为节拍检测模型的特征输入,节拍检测模型可以采用序列建模网络结构(如lstm,tcn等),训练音频数据通过节拍检测模型,得到每一帧数据为节拍点的概率,进而通过目标损失函数计算与节拍标注信息之间的偏差,从而通过调整节拍检测模型的参数优化目标损失函数。最后,将训练好的节拍检测模型输出的节拍点概率和传统onset预测概率进行融合最后得到总体预测为节拍点的概率。通过本公开,解决了传统节拍检测方法效果差,基于深度学习的节拍检测方法模型大延迟长的问题,同时增加了模型的鲁棒性,减少了模型对数据的依赖,并且利用传统节拍检测方法提供的信息,帮助神经网络更好的训练,并且可以减小神经网络模型的大小,达到更快的检测速度。

图5是根据一示例性实施例示出的一种节拍检测模型的训练装置的框图。参照图5,该装置包括第一获取单元50,第二获取单元52、第三获取单元54,估计单元56,确定单元58和训练单元510。

第一获取单元50,用于获取训练音频数据集,其中,训练音频数据集包括多个音频数据和每个音频数据对应的节拍标注信息;第二获取单元52,用于获取音频数据的梅尔谱特征;第三获取单元54,用于获取音频数据中每帧数据的音符起始点概率,其中,音符起始点概率表示音频数据中每帧数据是音符起始点的概率;估计单元56,用于将音频起始点概率与梅尔谱特征输入节拍检测模型,得到估计的音频数据中每帧数据的节拍点概率,其中,节拍点概率表示音频数据中每帧数据是节拍点的概率;确定单元58,用于基于节拍点概率和音频数据对应的节拍标注信息确定目标损失函数;训练单元510,用于通过目标损失函数调整节拍检测模型的参数,对节拍检测模型进行训练。

根据本公开的实施例,估计单元56,还用于将音频数据中每帧数据的音符起始点概率与对应的梅尔谱特征进行拼接;将拼接结果输入节拍检测模型,得到音频数据中每帧数据的节拍点概率。

根据本公开的实施例,第三获取单元54,还用于利用频域差分方法对音频数据执行音频节奏检测得到音符起始点概率。

根据本公开的实施例,第三获取单元54,还用于基于音频数据的梅尔谱特征对音频数据中相邻两帧数据进行归一化处理;针对所述音频数据中每帧数据,对归一化处理后的当前帧数据的特征与上一帧数据的特征进行差分运算,得到当前帧数据所有频率点上的差分运算后的特征,其中,归一化处理后的第一帧数据的差分运算后的特征为预先设定的;获取差分运算后的每帧数据所有频率点上的特征的平均值;将平均值输入双曲正切函数,得到音频数据中每帧数据的音符起始点概率。

根据本公开的实施例,第二获取单元52,还用于通过短时傅里叶变换获取音频数据的时频域特征;基于时频域特征获取音频数据的梅尔谱特征。

图6是根据一示例性实施例示出的一种节拍概率检测装置的框图。参照图6,该装置包括第一获取单元60,第二获取单元62、第三获取单元64和估计单元66。

第一获取单元60,用于获取待检测音频数据;第二获取单元62,用于获取待检测音频数据的梅尔谱特征;第三获取单元64,用于获取待检测音频数据中每帧数据的音符起始点概率,其中,音符起始点概率表示待检测音频数据中每帧数据是音符起始点的概率;估计单元66,用于将音符起始点概率与梅尔谱特征输入到训练好的节拍检测模型中,得到估计的待检测音频数据中每帧数据的节拍点概率,其中,节拍点概率表示待检测音频数据中每帧数据是节拍点的概率。

根据本公开的实施例,估计单元66,还用于在得到估计的待检测音频数据中每帧数据的节拍点概率之后,基于音符起始点概率和节拍点概率,确定最终的节拍点概率。

根据本公开的实施例,估计单元66,还用于在节拍点概率大于预定阈值时,将节拍点概率作为最终的节拍概率;在节拍点概率小于等于预定阈值且音符起始点概率大于预定阈值时,将音符起始点概率作为最终的节拍概率;在节拍点概率和音符起始点概率均小于等于预定阈值时,并获取节拍点概率与预定比例的第一乘积、音符起始点概率与(1-预定比例)的第二乘积,将第一乘积和第二乘积的和作为最终的节拍概率。

根据本公开的实施例,第四获取单元68,用于基于节拍点概率,获得待检测音频数据的节拍检测结果。

根据本公开的实施例,估计单元66,还用于将待检测音频数据中每帧数据的音符起始点率与对应的梅尔谱特征进行拼接;将拼接结果输入到训练好的节拍检测模型,得到估计的待检测音频数据中每帧数据的节拍点概率。

根据本公开的实施例,第三获取单元64,还用于利用频域差分装置对待检测音频数据执行音频节奏检测得到音符起始点概率。

根据本公开的实施例,第三获取单元64,还用于基于待检测音频数据的梅尔谱特征对待检测音频数据中相邻两帧数据进行归一化处理;针对所述待检测音频数据中每帧数据,对归一化处理后的当前帧数据的特征与上一帧数据的特征进行差分运算,得到当前帧数据所有频率点上的差分运算后的特征,其中,归一化处理后的第一帧数据的差分运算后的特征为预先设定的;获取差分运算后的每帧数据所有频率点上的特征的平均值;将平均值输入双曲正切函数,得到待检测音频数据中每帧数据的音符起始点概率。

根据本公开的实施例,第二获取单元62,用于通过短时傅里叶变换获取待检测音频数据的时频域特征;基于时频域特征获取待检测音频数据的梅尔谱特征。

根据本公开的实施例,上述节拍检测模型通过如上任一节拍检测模型的训练方法训练得到的。

根据本公开的实施例,可提供一种电子设备。图7是根据本公开实施例的一种电子设备700的框图,该电子设备包括至少一个存储器701和至少一个处理器702,所述至少一个存储器中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器执行时,执行根据本公开实施例的节拍检测模型的训练方法及节拍检测方法。

作为示例,电子设备700可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备1000并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备700还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。

在电子设备700中,处理器702可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器702还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。

处理器702可运行存储在存储器中的指令或代码,其中,存储器701还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。

存储器701可与处理器702集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器702可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器701和处理器702可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器702能够读取存储在存储器701中的文件。

此外,电子设备700还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备的所有组件可经由总线和/或网络而彼此连接。

根据本公开的实施例,还可提供一种计算机可读存储介质,其中,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行本公开实施例的节拍检测模型的训练方法及节拍检测方法。这里的计算机可读存储介质的示例包括:只读存储器(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-rlth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。

根据本公开实施例,提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现本公开实施例的节拍检测模型的训练方法及节拍检测方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜