HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种基于信息提取的音乐节奏定制方法与流程

2021-01-28 16:01:46|318|起点商标网

本发明涉及音乐制作技术领域,具体涉及一种基于信息提取的音乐节奏定制方法。



背景技术:

在我们的日常生活中存在着各种各样的声音,有校园中的琅琅书声、街道上的轰鸣笛声;也有森林中的空灵鸟鸣声、山谷中的潺潺流水声。在古时人们便通晓了音律的优美,将韵律优美的乐当作是礼的外在化表现。中国有宫商角徵羽五音及编钟、琴瑟筝笛鼓等乐器;西方也在进步的过程中演变出了吉他、钢琴、提琴等乐器。当代,音乐又可根据划分成种类繁多的流派,如蓝调、摇滚以及乡村等。

在当代,形成音乐的方式主要有两种:直接录制算法合成,直接录制就是将需要的乐器全部准备好,再寻找相关人员弹奏/击打即时录制,这种方式费时费力,需要较高的成本投入;反观算法合成,只需要将各种乐器的音调录制成源带入算法中,就能自由的拼接组合,这种方式成本较低,但是对于计算音乐合成的人员要求不仅要懂得相关的算法操作方法,还需要具有一定的乐理审美。

目前,虽然已经有信息提取式节奏定制算法,但其存在节奏区分度不高、节奏范围把控不足的缺陷;且现有的信息提取式算法在对音乐节奏进行提取时容易使得最终得出的音乐节奏定制结构不具有连续性,并难以估算节奏周期的范围。



技术实现要素:

本发明为了克服以上技术的不足,提供了一种基于信息提取的音乐节奏定制方法。

本发明克服其技术问题所采用的技术方案是:

一种基于信息提取的音乐节奏定制方法,包括如下步骤:

步骤一:构建中层输入表示:用于将输入音频信号转换成音频帧数组;

步骤二:合并节奏追踪模型;

步骤三:结合整体输出具有上下文关联性的音乐节奏;

步骤四:进行时间拉伸:调用rubberbandaudio中函数,输入音频节奏数组和相应的倍速,选择相应的转换模式,得到结果节奏数组后将使用快速傅立叶变换转换成频谱图实时显示在界面上。

进一步地,步骤二所述的合并节奏追踪模型具体包括如下步骤:

步骤21、给定一个起始检测模块,在合并到节奏追踪模型中时,推断连续节奏之间的时间、节奏周期、帧开始与节奏位置之间的偏移、节奏对齐;

步骤22、计算一个帧的自适应移动平均范围,得出修改好的节奏检测数组;

步骤23、寻找拍频周期,并导出一个梳状模板λτ(l);

步骤24、使用瑞利分布函数计算出节奏周期模板wg(τ);

步骤25、将步骤23所得的梳状模板λτ(l)和步骤24所得的节奏周期模板wg(τ)加权,得出移位不变梳状滤波器组fg(l,τ),并构造一个校准梳状模板ψα(m);

步骤26、计算结束;

步骤三所述的结合整体输出具有上下文关联性的音乐节奏具体包括如下步骤:

步骤31、把梳状模板λτ(l)中的元素个数设置为t,去除λτ(l)中的标准化,使梳状模板具有测量偏差;

步骤32、用上下文关联的高斯函数代替瑞利分布函数,得到上下文关联的高斯周期范围函数wc(τ);

步骤33、再使用梳状模板λτ(l),设置为矩阵的第τ列并使用高斯周期范围函数wc(τ)加权每个梳状模板,可以形成上下文关联状态的移位不变梳状滤波器组fc(l,τ);

步骤34、通过导入的音乐的节奏周期τg和节奏对齐αg来定义节奏,并将节奏周期τg和节奏对齐αg代入校准梳状模板ψα(m)中计算;

步骤35、计算结束。

进一步地,所述步骤s1中,采用连续监测函数作为节奏追踪器的输入,节奏追踪公式如下:

其中,k表示频率个数,sk(m)表示m处的频谱,表示所有频谱的预测值。

进一步地,所述步骤22中,采用公式(2)计算一个帧的自适应移动平均范围:

其中,q表示16dfsamples,q表示一个帧的偏移距离,i表示每一次计算的次数,i的取值范围1~n;

则设γ(m)=0,修改好的节奏检测数组如公式(3)所示:

其中,hwr(x)=(x+|x|)/2。

进一步地,所述步骤23具体包括如下:

采用观察节奏水平的整数倍上的周期性的方法来寻找拍频周期;

梳状模板λτ(l)的计算如下:

其中,τ表示周期,bf表示每个自相关函数的数据帧长度512b,允许在每个梳状模板中使用四个梳状元素p=1、2、3、4,v=1-p,…,p-1,周期τ由v设置,每个梳状元素p的宽度与其此周期τ的关系成正比、高度则由其宽度2p-1归一化。

进一步地,所述步骤24中,节奏周期模板wg(τ)的计算公式如下:

其中,参数设置权重的最强点β的可接受范围在40到50个dfsamples之间。

进一步地,所述步骤25中,移位不变梳状滤波器组fg(l,τ)的计算如下:

fg(l,τ)=wg(τ)λτ(l)(6)

算法中通过两个参数定义节奏:节奏周期τg和节奏对齐αg;

为了进行节奏对齐,通过公式(7)构造一个校准梳状模板ψα(m):

其中,bq表示512dfsamples,αg表示一个脉冲序列在拍频周期间隔的偏移量,v(m)表示线性递减的权重,用于强调导入音频中最前面的梳状元素,n表示有n个超出每个梳模板的元素个数。

进一步地,所述步骤31中,为了使梳状模板与公式(4)相比具有测量偏差,将公式(4)中的(2p-1)个标准化去除,得:

其中,t表示梳状模板λτ(l)中的元素个数。

进一步地,所述步骤32中,高斯周期范围函数wc(τ)的计算如下:

其中,σw表示权重的宽度,用于限制周期范围。

进一步地,所述步骤33中,上下文关联状态的移位不变梳状滤波器组fc(l,τ)的计算如下:

fc(l,τ)=wc(τ)λτ(l)(10)。

本发明的有益效果是:

本发明针对信息提取算法的构造中层输入表示的阶段和合并节奏追踪模型阶段分别进行了改进。在构造中层输入表示的阶段,将输入音频信号转换成音频帧数组,使任务执行过程中不漏检相关节奏。在合并节奏追踪模型阶段则将当前节奏和过去节奏(该导入音频的原版节奏)的位置信息合并到节奏追踪模型中,推断连续节奏之间的时间、节奏周期、帧开始与节奏位置之间的偏移、节奏对齐,而不需要事先知道输入。另外,在结合整体输出具有上下文关联性的音乐节奏阶段,引入了上下文关联性状态用来解决且单独解决音频输出的连续性问题,而关于节奏周期的先验性能让我们提前计算好节奏周期的范围,更好的定制音乐节奏。在时间拉伸算法阶段,只需导入想要修改的音乐或者视频,选择相应的风格或者倍速,即可得到相关的音频结果。

(1)操作简便,去除了很多无关操作,无需懂得相关专业知识即可进行处理。

(2)时间拉伸自由,支持导入音频的开始结束时间截取和速度编辑。

本发明在原有节奏追踪算法的基础上去除了操作的复杂性,可对音乐时间自有拉伸,提高了对通信中零散时间的利用率,提高了音乐节奏的多样性;本发明实现了对原有节奏追踪的优化,提高算法效率的同时也降低了计算过程中的能耗。

具体实施方式

为了便于本领域人员更好的理解本发明,下面通过具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。

本实施例所述的一种基于信息提取的音乐节奏定制方法,包括如下步骤:

步骤一:构建中层输入表示:用于将输入音频信号转换成音频帧数组。

与传统的节奏提取算法相比,本实施例改进后的算法将输入音频信号转换成音频帧数组,目的是使任务执行过程中不漏检相关节奏,中层输入表示又叫做节奏检测功能,用于在输入音频节奏与输出音频节奏之间充当中间信号,本实施例采用连续监测函数作为节奏追踪器的输入,节奏追踪公式如下:

其中,k表示频率个数,sk(m)表示m处的频谱,表示所有频谱的预测值。

步骤二:合并节奏追踪模型。

步骤21、给定一个起始检测模块,在合并到节奏追踪模型中时,通过该节奏追踪模型中的节奏追踪公式推断连续节奏之间的时间、节奏周期、帧开始与节奏位置之间的偏移、节奏对齐。

步骤22、为了实现强调显著的节奏,抛弃不显著的节奏的效果,将公式(1)化用,采用公式(2)计算一个帧的自适应移动平均范围:

其中,q表示16dfsamples,q表示一个帧的偏移距离,i表示每一次计算的次数,i的取值范围1~n;

然后,将公式(1)的结果与公式(2)的结果相比较,若则设γ(m)=0,修改好的节奏检测数组如公式(3)所示:

其中,hwr(x)=(x+|x|)/2。

步骤23、算法中,采用观察节奏水平的整数倍上的周期性的方法来寻找拍频周期,使用梳状滤波器的结构,为了在多个度量级别上反应节奏的周期性,算法中导出一个梳状模板λτ(l),梳状模板λτ(l)的计算如下:

其中,τ表示周期,bf表示每个自相关函数的数据帧长度512b,允许在每个梳状模板中使用四个梳状元素p=1、2、3、4,v=1-p,…,p-1,周期τ由v设置,每个梳状元素p的宽度与其此周期τ的关系成正比、高度则由其宽度2p-1归一化。

步骤24、为了反应节奏周期所假设的近似先验分布,算法中使用了瑞利分布函数计算出wg(τ)来表示节奏周期,节奏周期wg(τ)的计算公式如下:

其中,参数设置权重的最强点β的可接受范围在40到50个dfsamples之间,本实施例算法中优选β为43个dfsamples。

步骤25、将步骤23中的公式(4)得出的梳状模板λτ(l)和步骤24中的公式(5)得出的节奏周期模板wg(τ)加权,得出如公式(6)所示的移位不变梳状滤波器组fg(l,τ):

fg(l,τ)=wg(τ)λτ(l)(6)

为了进行节奏对齐,通过公式(7)构造一个校准梳模板ψα(m):

其中,bq表示512dfsamples,αg表示一个脉冲序列在拍频周期间隔的偏移量,v(m)表示线性递减的权重,用于强调导入音频中最前面的梳状元素,n表示有n个超出每个梳模板的元素个数。

步骤26、计算结束。

步骤三:结合整体输出具有上下文关联性的音乐节奏。

步骤31、具有上下文关联性的状态下的节奏周期提取与步骤二所述的合并节奏追踪模型状态下的节奏周期提取存在两个区别,这两个区别与上下文关联状态的梳状滤波器组fc(l,τ)的构造相关,在上下文关联性的状态中,算法把梳状模板λτ(l)中的元素个数设置为t,为了使梳状模板与公式(4)相比具有测量偏差,将公式(4)中的(2p-1)个标准化去除,从而强调测量的周期性:

步骤32、关于节奏周期的先验性能让我们提前计算好节奏周期的范围,用上下文关联的高斯函数代替瑞利分布函数,得到上下文关联的高斯周期范围函数wc(τ),周期范围函数wc(τ)的计算如下:

其中,σw表示权重的宽度,用于限制周期范围。

步骤33、再使用梳状模板λτ(l),设置为矩阵的第τ列并使用高斯周期范围函数wc(τ)加权每个梳状模板,可以形成上下文关联状态的移位不变梳状滤波器组fc(l,τ),所述上下文关联状态的移位不变梳状滤波器组fc(l,τ)的计算如下:

fc(l,τ)=wc(τ)λτ(l)(10)

步骤34、通过导入的音乐的节奏周期τg和节奏对齐αg定义节奏,其中所述节奏周期τg和节奏对齐αg的值都是已知的,由导入的音乐决定;然后将节奏周期τg和节奏对齐αg代入校准梳状模板ψα(m)中计算,从而计算出校准梳状模板ψα(m)的值;

步骤35、计算结束。

步骤四:进行时间拉伸。

调用rubberbandaudio中函数,输入音频节奏数组和相应的倍速,选择相应的转换模式,得到结果节奏数组后将使用快速傅立叶变换转换成频谱图实时显示在界面上。其中,所述rubberband库是一种高质量的音频时间拉伸和音高转换软件库,基于c++语言。

所述函数rubberbandaudio的功能如下:

rubberbandstretcher:构造器函数,生成一个拉伸器。

settimeratio:设置拉伸器的时间比例。

study:为拉伸器提供一个“样本”框架块,用于研究和计算拉伸剖面,仅用于离线模式(本实施例采用的全为rubberband的离线模式块),在离线模式中只有先使用study函数后才能使用process函数处理音频。

process:处理拉伸器以及音频的函数模块。

available:询问拉伸器有多少输出数据的音频样本帧可供读取,如果没有可用的帧,这个函数返回0:这通常意味着需要提供更多的输入数据;如果所有数据都已完全处理,所有输出都已读取,并且拉伸过程现在已经完成,则此函数返回-1。

retrieve:从拉伸器中获取一些经过处理的输出数据,返回值是检索的样本帧的实际数目。

setdefaultdebuglevel:为随后构造的扩展器设置调试输出的默认级别,在构造之前调用,值为0-3,越大报错越详细。

setexpectedinputduration:告诉拉伸器它将接收多少输入样本;仅在脱机模式下有用,需要拉伸器确保输出样本的数量完全正确。

以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述做出许多变化和改进,这些变化和改进应该属于本发明的保护范围。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: 算法音乐
tips