一种基于旋律特征聚类与优化的哼唱检索方法

文档序号:26588587发布日期:2021-09-10 20:07阅读:来源:国知局

技术特征:
1.一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,包括以下几个步骤:s1、对歌曲库midi文件提取音高向量;s2、利用基于优化初始聚类中心的k

means算法,对步骤s1中提取的音高向量进行聚类,获取聚类标签;s3、利用步骤s1中提取的音高向量及步骤s2中获取的聚类标签训练dbn模型;s4、利用步骤s3中得到的dbn模型,提取步骤s1中音高向量所对应的高层旋律特征及其类别信息,利用这些信息构成歌曲特征库;s5、对哼唱wav文件提取音高向量;s6、利用步骤s3中得到的dbn模型,提取步骤s5中音高向量所对应的高层旋律特征及其类别信息;s7、利用步骤s6中得到的类别信息,将步骤s6中提取的高层旋律特征与步骤s4歌曲特征库中同类别的高层旋律特征进行匹配,最终得到匹配结果。2.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤s1包括:s11、midi文件由不同音符值p
i
持续t
i
时间所构成的音符序列(p1,t1),...,(p
i
,t
i
)表示,音符持续时间t
i
又可以转换为持续帧数f
i
,因此可以根据帧移数将时间音符序列转换为帧移音符序列(p1,f1),...,(p
i
,f
i
);s12、所有的二维帧移音符序列均可由一维音高序列来表示:其中,p
i
表示任意音符,f
i
表示音符持续帧数;s13、每个midi文件由不同音符值p
w
构成一维音高序列(p1,...,p
w
,...,p
w
),对其提取音高向量时,需要选取一个h秒的窗,在窗内提取一个固定时间间隔的高维音高向量,然后移动窗去提取下一个音高向量,以此类推,最终即可获得全部音高向量,表示为:x=(p1,...,p
w+t
,...,p
w+t(d

1)
)其中,x为音高向量,t为采样间隔,d为音高向量维数。3.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤s2中的k

means算法如下:s21、将样本数据集合定义表示为d={x1,x2,...,x
n
},k个簇类定义表示为c={c1,c2,...,c
k
},m个集合定义表示为m={m1,m2,...,m
m
},根据上述的符号定义,首先应该计算出两数据对象间的欧式距离:式中,x
i
,x
j
表示为数据对象,x
il
表示为x
i
的第l个特征属性,x
jl
表示为x
j
的第l个特征属性;接着将距离最短的两个数据对象组成一个样本集合m
m
(0≤m≤k),k表示为簇类数,从总的数据集d中将它们删除,同时计算出样本集合m
m
内所有数据对象的均值;s22、计算数据集d中每个对象与样本集合m
m
间的距离:
其中,m为距离最短的两点组成的集合,d'为删除集合m中数据后的样本数据集,为第m个集合m
m
的均值;找到距离最近的点加入集合m
m
,将它从数据集d中删除,并计算集合m
m
内所有数据对象的均值;重复执行直到m
m
内数据对象大于等于α
·
(n/k),(0<α≤1);若m<k,则重复以上步骤直到m≥k,即当集合的数目等于簇类数目时,结束寻找初始聚类中心;s23、经过上述步骤即可获得最优的初始聚类中心,利用这些聚类中心进行音高向量聚类从而获得最优聚类结果;音高向量集x={x1,...,x
n
,...,x
n
},每个数据对象x
n
有d维,在半径r内数据对象数目与总数据集的比值(占比率)为p(0≤p≤1),相邻两次误差平方和之差为β,计算每个数据对象与中心的距离:并把它划分给最近的聚类中心,得到k个簇类,重新计算每个簇类的中心:重新划分簇并更新中心,直到聚类中心不再变化或者连续两次e值差小于阈值,聚类完成得到聚类后的簇。4.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤s3中的训练dbn模型方法如下:将步骤s1中提取的音高向量{x1,x2,...,x
n
}作为训练数据,训练数据标签则采用步骤s2中对应的聚类标签,采用sigmoid激活函数,如下所示:目标函数则采用softmax损失函数,其分类过程如下所示:其中,z是上一层的输出,softmax的输入,维度为c,y
i
为某一类别的概率值,i的取值代表了类别数,n代表聚类后簇的数量。5.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤s4包括:s41、将步骤s1中提取的音高向量{x1,x2,...,x
n
}送入dbn模型,提取全连接层的输入作为高层旋律特征{e1,e2,...,e
n
},并将softmax输出结果作为类别信息;s42、利用音高向量、高层旋律特征、类别信息、所属歌曲id一起构成歌曲特征库。6.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤s5包括:s51、利用短时自相关方法从wav文件中提取音高序列,短时自相关函数r(o)表现方式如下:
其中,y(j)表示一段语音信号,j为窗长,o=(

j+1)~(j

1)且为偶数时,r(o)不为零;s52、需要经过中值滤波、去均值等操作,使音高序列变得平滑,在此之后,为了与步骤s1中midi文件的音高序列匹配,还需要对音高序列进行半音处理,将其转化为midi文件中音符的半音表示:s=log2(f/440)
×
12+69其中,s为音高值,f为基音频率;s53、每个wav文件由不同音符值p
w
构成一维音高序列(p1,...,p
w
,...,p
w
),对其提取音高向量时,需要选取一个h秒的窗,在窗内提取一个固定时间间隔的高维音高向量,然后移动窗去提取下一个音高向量,以此类推,最终即可获得全部音高向量,表示为:x=(p1,...,p
w+t
,...,p
w+t(d

1)
)其中,x为音高向量;t为采样间隔;d为音高向量维数。7.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤s6包括:将步骤s5中提取的音高向量{x1,x2,...,x
n
}送入dbn模型,提取全连接层的输入作为高层旋律特征{e1,e2,...,e
n
},并将softmax输出结果作为类别信息。8.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤s7包括:s71、利用线性伸缩方法粗略计算步骤s6中获得的高层旋律特征与步骤s4歌曲特征库中同类别的高层旋律的距离,筛选掉大部分伪候选;s72、使用边界对齐线性伸缩算法和重音移位递归对齐算法精确计算高层旋律特征的距离;s73、按照高层旋律特征的距离大小对所有候选进行排序,排序结果即为哼唱检索系统的检索结果。

技术总结
本申请涉及一种基于旋律特征聚类与优化的哼唱检索方法,包括:对训练数据进行旋律特征提取,该特征为音高向量;对音高向量进行聚类并利用聚类标签训练DBN网络;利用训练好的DBN模型对测试数据提取特征;与训练集旋律特征库中的旋律特征进行匹配并找到所属类别,在类内继续匹配输出检索结果。本方法将优化初始聚类中心的k


技术研发人员:王宁 陈德运 季超群 陈晨 何勇军
受保护的技术使用者:哈尔滨理工大学
技术研发日:2021.07.08
技术公布日:2021/9/9
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1