基于重复旋律的音乐分段边界识别方法与流程
本发明涉及音频信号处理技术领域,具体地说,涉及一种基于重复旋律的音乐分段边界识别方法。
背景技术:
信息常以一定结构或层级进行组织来促进传播或是理解。人类通常很善于感知这样的结构,这种行为有时甚至是无意识地进行以让我们分析和充分获取给定信息的含义。然而考虑到大数据时代下的情况,我们越来越多地需要从计算机获得信息处理上的支持。因此,自动化获取信息的结构成为当今内容处理系统的关键任务。在广泛的多媒体内容中,音乐是一个典型的例子。
音乐分段边界识别算法研究的重要应用有播放器的作品内导航、片段和混搭自动生成、相同作品版本识别以及大规模的音乐学研究。网络与数字娱乐产品的普及和发展,使得音乐已经成为最重要的数字媒体内容之一。
在当下,音乐除了作为独立的娱乐产品,同时也在影视作品中以配乐的形式扮演了重要的角色。作为独立的娱乐产品,在音乐分析上音乐分段是重要的基本流程。对于某类音乐作品的分析场景下,庞大的作品数量凸显了自动音乐分段重要性。作为配乐,实际应用中比起音乐整篇出现,更多的情况是取其片段使用,自动音乐分段能够极大地提升音乐片段提取的效率。可见,音乐分段边界识别算法研究具有广阔的市场应用前景。
foote在2000年最先将自相似矩阵用于音乐分段算法研究,以用于发现音乐中的重复旋律。bruderer等人2006年的研究指出,有一些线索与人类在音乐结构感知上高度相关,如音色改变、重复和间歇等。paulus等人2010年的研究指出,推断音乐结构有三个原则:新奇,同质和重复。serra等人在2014年提出的音乐分段算法综合考虑了这些原则,引入了递归图的计算方法,大大提高了分段正确率,从而提升了自动音乐分段效率,促进了音乐自动分段算法的发展。
然而,目前应用于音乐分段的算法本身还存在诸多不足,如无监督方法的分段粒度较大,对部分音乐的短片段获取存在困难,还存在结合乐理知识程度较低、过多依赖于数学方法的问题。深度学习方法未能充分考虑分段中重复的性质,且存在对数据的依赖、模型训练成本高和难以结合乐理知识的问题。
技术实现要素:
本发明的目的是提供一种基于重复旋律的音乐分段边界识别方法,以提升对音乐中重复旋律的识别能力,能够在更短时长规模上对音乐进行分段。
为了实现上述目的,本发明提供的基于重复旋律的音乐分段边界识别方法包括以下步骤:
1)对音频提取chroma特征,得到特征向量序列,共m帧;对特征向量序列首尾零填充,聚合每相邻的n帧形成新的帧向量,所有帧向量构成新的帧特征向量序列;
2)计算帧特征序列中每个帧向量与其他帧向量的欧氏距离,得到自相似矩阵s;
3)基于自相似矩阵s,得到第i个帧向量最近邻帧的集合ni,i=1,2,…,m,并依此得到自相似矩阵s的递归图r;
4)将递归图r经时间延迟处理,得到时间延迟矩阵l;
5)对时间延迟矩阵l进行线段规整及去噪,再反时间延迟处理得到规整及去噪后的递归图r’;
6)基于递归图r’,检测出所有的线段并进行线段聚簇,从线段最多的簇开始依次处理,得到音乐分段边界点集合b。
上述技术方案中,针对音乐的重复片段,分帧提取音乐的音高类概述(pitchclassprofile)特征,也称为chroma特征,该特征将给定范围的频率组织到12个音高类中去,突出反映了音乐的旋律。
可选地,在一个实施例中,步骤3)中,对于集合ni中的k个元素是所有帧向量中与第i个帧向量最相似的k个帧向量,k的取值为帧向量总数的0.01。对于递归图r中的每个点ri,j,若i属于nj且j属于ni,则取ri,j等于1,否则取ri,j等于0,依此得到自相似矩阵s的递归图r。
可选地,在一个实施例中,步骤4)中,令li,j=ri,(i+j)mod(m-1),i=1,2,…,m,j=1,2,…,m,得到递归图r的时间延迟矩阵l,即将递归图r中主对角线方向转化为水平方向。
可选地,在一个实施例中,步骤5)包括:
5-1)对时间延迟矩阵l进行遍历,取值为1的定义为点;每找到一个点,通过广度优先搜素确定与其相连的所有点,步距小于3则认为相连;
5-2)统计相连的点中每个相同纵坐标的点的数量,若点数量最多的纵坐标下点的数量大于5,则保留这些点中该纵坐标的点,其他点取值为0;否则将这些点全部取值为0;
5-3)令r’i,(i+j)mod(m-1)=li,j,i=1,2,…,m,j=1,2,…,m,得到规整及去噪后的递归图r’。
可选地,在一个实施例中,步骤6)中,线段聚簇包括:
遍历递归图r’,设置步距为3。
找出图中所有线段,并用{x1,x2,y1,y2}对各线段进行标准化表示,x1和x2是起止点横坐标,y1和y2是起止点的纵坐标;
取一线段,遍历其他线段,找到与该线段对应为同一段旋律的所有线段进行聚簇;判定对应为同一段旋律的依据为:x1与x2的公共长度占各自的80%以上。
可选地,在一个实施例中,步骤6)中,线段聚簇后,取线段条数最多的簇,对所有x1和x2取平均值,得到
与现有技术相比,本发明的有益之处在于:
本发明利用乐理知识以及实际经验进行矩阵去噪,充分考虑了在音乐分段中噪音产生的主要原因,可以更彻底、高效地减少噪音造成的误差。而基于线段聚簇的分段点获取方法优先考虑了重复次数多的旋律片段,取平均值为分段点的方法也进一步地减少了误差,提高了泛化性能。
附图说明
图1为本发明实施例中基于重复旋律的音乐分段边界识别方法的流程图;
图2为本发明实施例中递归图r的示意图;
图3为本发明实施例中延迟矩阵l的示意图;
图4为本发明实施例中经规整去噪后的递归图r’。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下结合实施例及其附图对本发明作进一步说明。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“包括”或者“包含”等类似的词语意指出现该词前面的元件或者步骤涵盖出现在该词后面列举的元件或者步骤及其等同,而不排除其他元件或者步骤。
实施例
本实施例基于重复旋律的音乐分段边界识别方法,构建基于自相似矩阵的音乐分段算法,实现音乐结构分段点自动识别。该方法可代替人工标注,用于音乐结构序列的生成,并可进一步应用于音乐分析、片段自动生成等。参见图1,其具体流程如下:
s100,对音频提取chroma特征,得到特征向量序列,共m帧;对特征向量序列首尾零填充,聚合每相邻的n帧形成新的帧向量,所有帧向量构成新的帧特征向量序列;
样例音乐的特征序列为12维向量序列,长度为1344。首尾零填充得到长度为1350的长度序列,聚合每个相邻的7帧形成新的帧特征序列,得到12x7维向量序列,长度仍为1344。
s200,计算帧特征序列中每个帧向量与其他帧向量的欧氏距离,得到1344x1344的自相似矩阵s。
s300,基于自相似矩阵s,得到第i帧最近邻帧的集合ni,i=1,2,…,m,并依此得到自相似矩阵s的递归图r,参见图2;
集合ni中的k个元素是所有帧中与第i帧最相似的k帧。对于递归图中的每个点ri,j,若i属于nj且j属于ni,则取ri,j等于1,否则取ri,j等于0,得到1344x1344的递归图r。k的取值为帧总数的0.01,本实施例取13。
s400,将递归图r经时间延迟处理,得到时间延迟矩阵l,参见图3;
先令li,j=ri,(i+j)mod(m-1),得到递归图r的时间延迟矩阵l,将递归图r中主对角线方向转化为水平方向,提升计算效率。
s500,对时间延迟矩阵l进行线段规整及去噪,再反时间延迟处理得到规整及去噪后的递归图r’,参见图4。
首先对时间延迟矩阵l进行遍历,取值为1的定义为点。每次找到一个点,通过广度优先搜素确定与其相连的所有点,步距小于3则认为相连。统计这些相连的点中每个相同纵坐标的点的数量,若点数量最多的纵坐标下点的数量大于5,则保留这些点中该纵坐标的点,其他点取值均取0。否则将这些点取值全部取0。例如某一系列点为{(1,1),(2,1),(3,1),(4,1),(5,1),(6,1),(2,2),(3,2),(4,2)},则纵坐标为1的点最多且有6个,它们会被保留,而纵坐标为2的点将被抹去。然后,令r’i,(i+j)mod(m-1)=li,j,得到规整及去噪后的递归图r’。
s600,基于递归图r’,检测出所有的线段并进行线段聚簇,从线段最多的簇开始依次处理,得到音乐分段边界点集合b。
首先找到递归图r’中所有的线段并标准化表示,遍历递归图r’,设置步距为3,找到所有线段。找到线段后,用{x1,x2,y1,y2}表示,x1和x2是起止点横坐标,y1和y2是起止点的纵坐标。如一段线段是{1,9,10,19},代表第10帧到第18帧与第1帧到第9帧相似。然后将所有线段中x1与x2公共部分占各自的80%以上的部分聚在同一簇,如{1,9,10,18}、{2,9,20,27}以及{2,9,31,38}。聚簇后,对x1取平均值,并将对应的y1标记,例如此处x1平均值为2,对应的3个y1会取为11、20和31。检查边界点集合b中是否存在和它们差距在20帧(与需要的分段时长相关)内的点,若不存在则将它们加入b中。这样就获得了样例音乐的分段结果。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除