CN113377994A - 一种基于旋律特征聚类与优化的哼唱检索方法 - Google Patents
一种基于旋律特征聚类与优化的哼唱检索方法 Download PDFInfo
- Publication number
- CN113377994A CN113377994A CN202110773772.9A CN202110773772A CN113377994A CN 113377994 A CN113377994 A CN 113377994A CN 202110773772 A CN202110773772 A CN 202110773772A CN 113377994 A CN113377994 A CN 113377994A
- Authority
- CN
- China
- Prior art keywords
- pitch
- clustering
- melody
- humming
- extracting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
- G06F16/634—Query by example, e.g. query by humming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/65—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Auxiliary Devices For Music (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于旋律特征聚类与优化的哼唱检索方法,包括:对训练数据进行旋律特征提取,该特征为音高向量;对音高向量进行聚类并利用聚类标签训练DBN网络;利用训练好的DBN模型对测试数据提取特征;与训练集旋律特征库中的旋律特征进行匹配并找到所属类别,在类内继续匹配输出检索结果。本方法将优化初始聚类中心的k‑means算法引入到哼唱检索中,其能够依据高密度优先聚类的思想,有效提升密度差异较大数据集的聚类效果,聚类后同簇的旋律特征具有更高的结构相似性。本发明不仅检索稳定高效,而且检索精度高。
Description
技术领域
本发明涉及声音与音乐的信号处理技术、音乐声学理论、机器学习、人工智能技术领域,具体涉及一种哼唱检索方法。
背景技术
哼唱检索是近年来新兴的检索方法,是一项通过哼唱歌曲来进行音乐检索的技术。具体而言,哼唱检索需要检索出与哼唱旋律特征相匹配的歌曲旋律特征,从而根据旋律特征的匹配程度来确定哼唱歌曲的所属类别。然而,不同人哼唱同一旋律将会产生较大差异,从而导致同首歌在不同版本之间的旋律特征具有极强的不一致性。因此,并无法保证哼唱歌曲与其对应歌曲的旋律特征完全一致,进而导致检索结果不准确。研究者们针对旋律匹配问题,Jang首先尝试了动态时间归整(dynamic time warping,DTW)与线性伸缩(linear scaling,LS)等近邻检索算法。接着,Wu提出了一种具有优越性的递归对齐(recursive align,RA)方法。而Ryynanen提出的局部敏感哈希(Locally SensitiveHashing,LSH)方法则是目前应用最为广泛的近邻检索方法。LSH方法需要通过旋律特征在多个方向上的投影来获取近邻,因此并无法保证其得到的近邻候选集是旋律特征的真正近邻。
针对上述问题,可以直接在特征空间中对旋律特征进行聚类,将空间距离近的旋律特征划分到同一聚类,使得划分到同一聚类内的旋律特征均互为真正近邻,从而有效保证检索结果的正确性。在众多旋律特征聚类方法中,使用最广泛的方法为k-均值聚类算法(k-means)。虽然k-means算法简单高效,但随机选取初始聚类中心将引入更多的不确定因素,且易陷入局部最优解。针对k-means算法初始簇心敏感和无法很好处理密度差异较大的数据集问题,本文将优化初始聚类中心的k-means(optimized initial clusteringcenter k-means,OICC k-means)算法引入到哼唱检索中,其能够依据高密度优先聚类的思想,提升密度差异较大数据集的聚类效果,增强算法的稳定性。
经过特征聚类后,同簇的旋律特征具有更高的结构相似性。对旋律特征进行聚类后,本文将聚类结果作为标签,并采用深度置信网络(deep beliefnetworks,DBN)来进行旋律特征提取,以获得区分性更强的高层旋律特征。进行哼唱检索时,利用哼唱旋律特征匹配到最相似的聚类特征,在该聚类内的歌曲旋律特征结构相似,正确检索结果包含在其中。实验结果表明所提出的方法能够有效提升哼唱检索系统的性能。
发明内容
本发明要解决的技术问题是哼唱检索不稳定的问题,提出了一种基于旋律特征聚类与优化的哼唱检索方法。
为了达到上述目的,本发明采用的技术方案是:
S1、对歌曲库MIDI文件提取音高向量;
S2、利用基于优化初始聚类中心的k-means算法,对步骤S1中提取的音高向量进行聚类,获取聚类标签;
S3、利用步骤S1中提取的音高向量及步骤S2中获取的聚类标签训练DBN模型;
S4、利用步骤S3中得到的DBN模型,提取步骤S1中音高向量所对应的高层旋律特征及其类别信息,利用这些信息构成歌曲特征库;
S5、对哼唱WAV文件提取音高向量;
S6、利用步骤S3中得到的DBN模型,提取步骤S5中音高向量所对应的高层旋律特征及其类别信息;
S7、利用步骤S6中得到的类别信息,将步骤S6中提取的高层旋律特征与步骤S4歌曲特征库中同类别的高层旋律特征进行匹配,最终得到匹配结果。
进一步的,所述步骤S1中对歌曲库MIDI文件提取音高向量,其具体方法包括:
S11、MIDI文件由不同音符值pi持续ti时间所构成的音符序列(p1,t1),...,(pi,ti)表示,音符持续时间ti又可以转换为持续帧数Fi,因此可以根据帧移数将时间音符序列转换为帧移音符序列(p1,F1),...,(pi,Fi)。
S12、所有的二维帧移音符序列均可由一维音高序列来表示:
其中,pi表示任意音符,Fi表示音符持续帧数。
S13、每个MIDI文件由不同音符值pw构成一维音高序列(p1,...,pw,...,pW),对其提取音高向量时,需要选取一个h秒的窗,在窗内提取一个固定时间间隔的高维音高向量,然后移动窗去提取下一个音高向量,以此类推,最终即可获得全部音高向量,表示为:
x=(p1,...,pw+T,...,pW+T(D-1))
其中,x为音高向量,T为采样间隔,D为音高向量维数。
进一步的,所述步骤S2中对步骤S1中提取的音高向量进行聚类,其具体方法包括:
S21、将样本数据集合定义表示为D={x1,x2,...,xn},k个簇类定义表示为C={C1,C2,...,Ck},m个集合定义表示为M={M1,M2,...,Mm},根据上述的符号定义,首先应该计算出两数据对象间的欧式距离:
式中,xi,xj表示为数据对象,xil表示为xi的第l个特征属性,xjl表示为xj的第l个特征属性;接着将距离最短的两个数据对象组成一个样本集合Mm(0≤m≤k),k表示为簇类数,从总的数据集D中将它们删除,同时计算出样本集合Mm内所有数据对象的均值。
S22、计算数据集D中每个对象与样本集合Mm间的距离:
其中,M为距离最短的两点组成的集合,D'为删除集合M中数据后的样本数据集,为第m个集合Mm的均值;找到距离最近的点加入集合Mm,将它从数据集D中删除,并计算集合Mm内所有数据对象的均值;重复执行直到Mm内数据对象大于等于α·(n/k),(0<α≤1);若m<k,则重复以上步骤直到m≥k,即当集合的数目等于簇类数目时,结束寻找初始聚类中心。
S23、经过上述步骤即可获得最优的初始聚类中心,利用这些聚类中心进行音高向量聚类从而获得最优聚类结果;音高向量集X={x1,...,xn,...,xN},每个数据对象xn有D维,在半径R内数据对象数目与总数据集的比值(占比率)为P(0≤P≤1),相邻两次误差平方和之差为β,计算每个数据对象与中心的距离:
并把它划分给最近的聚类中心,得到K个簇类,重新计算每个簇类的中心:
重新划分簇并更新中心,直到聚类中心不再变化或者连续两次E值差小于阈值,聚类完成得到聚类后的簇。
进一步的,所述步骤S3中训练DBN模型的具体内容是:
将步骤S1中提取的音高向量{x1,x2,...,xN}作为训练数据,训练数据标签则采用步骤S2中对应的聚类标签,采用sigmoid激活函数,如下所示:
目标函数则采用softmax损失函数,其分类过程如下所示:
其中,Z是上一层的输出,softmax的输入,维度为C,yi为某一类别的概率值,i的取值代表了类别数,n代表聚类后簇的数量。
进一步的,步骤S4中构成歌曲特征库的具体方法为:
S41、将步骤S1中提取的音高向量{x1,x2,...,xN}送入DBN模型,提取全连接层的输入作为高层旋律特征{e1,e2,...,eN},并将softmax输出结果作为类别信息。
S42、利用音高向量、高层旋律特征、类别信息、所属歌曲ID一起构成歌曲特征库。
进一步的,所述步骤S5中提取WAV文件音高向量,其具体方法为:
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文件由不同音符值pw构成一维音高序列(p1,...,pw,...,pW),对其提取音高向量时,需要选取一个h秒的窗,在窗内提取一个固定时间间隔的高维音高向量,然后移动窗去提取下一个音高向量,以此类推,最终即可获得全部音高向量,表示为:
x=(p1,...,pw+T,...,pW+T(D-1))
其中,x为音高向量;T为采样间隔;D为音高向量维数。
进一步的,所述步骤S6中提取步骤S5中音高向量所对应的高层旋律特征及其类别信息如下所示:
将步骤S5中提取的音高向量{x1,x2,...,xN}送入DBN模型,提取全连接层的输入作为高层旋律特征{e1,e2,...,eN},并将softmax输出结果作为类别信息。
进一步的,所述步骤S7中高层旋律特征匹配过程如下所示:
S71、利用线性伸缩方法粗略计算步骤S6中获得的高层旋律特征与步骤S4歌曲特征库中同类别的高层旋律的距离,筛选掉大部分伪候选。
S72、使用边界对齐线性伸缩算法和重音移位递归对齐算法精确计算高层旋律特征的距离。
S73、按照高层旋律特征的距离大小对所有候选进行排序,排序结果即为哼唱检索系统的检索结果。
本发明的先进点在于:
1、本发明采用IOCCk-means算法对音高向量进行聚类,使得同一聚类内的音高向量互为准确的近邻,可以用相似的特征来表示这个聚类,在检索时找到与哼唱旋律特征相似的聚类,即可得到全部候选集,只需在聚类内检索即可得到检索结果。
2、IOCCk-means算法有效避免k-means算法对初始簇心敏感和无法很好处理密度差异较大数据集的问题,其能够依据高密度优先聚类的思想,有效提升密度差异较大数据集的聚类效果,增强算法的稳定性。
3、考虑到聚类后的旋律特征可以进行进一步的特征表示,因此将聚类后的标签作为DBN的输入标签并进行特征提取,以获取具有更强区分性的高层旋律特征,从而有效提升旋律特征的鲁棒性。
附图说明
图1为哼唱检索系统示意图。
图2为提取音高向量过程示意图。
图3为DBN模型结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1,
参见图1-图3,本实施例1提供了一种基于旋律特征聚类与优化的哼唱检索方法,
包括如下步骤:
S1、对歌曲库MIDI文件提取音高向量;
参见图1,MIDI文件执行图1左侧,选取合适的帧移将时间音符序列转化为帧移音符序列,对其提取音高向量时,选取一个包含60个音高的窗,采样间隔为3,窗移为15,在窗内提取一个20维的音高向量,不断移动窗得到全部音高向量。
步骤S1中歌曲库MIDI文件使用国际中一些哼唱检索公开数据集,比如IOACAS_QBH,Jang,和Hidden Jang等,并将MIDI文件用于提取音高向量,具体步骤为:
S11、MIDI文件由不同音符值pi持续ti时间所构成的音符序列(p1,t1),...,(pi,ti)表示,音符持续时间ti又可以转换为持续帧数Fi,因此可以根据帧移数将时间音符序列转换为帧移音符序列(p1,F1),...,(pi,Fi)。
S12、所有的二维帧移音符序列均可由一维音高序列来表示:
其中,pi表示任意音符,Fi表示音符持续帧数。
S13、每个MIDI文件由不同音符值pw构成一维音高序列(p1,...,pw,...,pW),对其提取音高向量时,需要选取一个h秒的窗,在窗内提取一个固定时间间隔的高维音高向量,然后移动窗去提取下一个音高向量,以此类推,最终即可获得全部音高向量,表示为:
x=(p1,...,pw+T,...,pW+T(D-1))
其中,x为音高向量,T为采样间隔,D为音高向量维数。
具体的说,S1步骤是从歌曲数据库中,获取MIDI文件,然后根据帧移数将时间音符序列转换为帧移音符序列(p1,p2,...,pW),选取的窗内包含60个音高,采样间隔为3,窗移为15,最终获取大小为20维的音高向量,抽取的音高向量:(p1,p4,...,p58),(p16,p19,...,p73),...。
S2、利用基于优化初始聚类中心的k-means算法,对步骤S1中提取的音高向量进行聚类,获取聚类标签;
步骤S2具体包括:
S21、将样本数据集合定义表示为D={x1,x2,...,xn},k个簇类定义表示为C={C1,C2,...,Ck},m个集合定义表示为M={M1,M2,...,Mm},根据上述的符号定义,首先应该计算出两数据对象间的欧式距离:
式中,xi,xj表示为数据对象,xil表示为xi的第l个特征属性,xjl表示为xj的第l个特征属性;接着将距离最短的两个数据对象组成一个样本集合Mm(0≤m≤k),k表示为簇类数,从总的数据集D中将它们删除,同时计算出样本集合Mm内所有数据对象的均值。
S22、计算数据集D中每个对象与样本集合Mm间的距离:
其中,M为距离最短的两点组成的集合,D'为删除集合M中数据后的样本数据集,为第m个集合Mm的均值;找到距离最近的点加入集合Mm,将它从数据集D中删除,并计算集合Mm内所有数据对象的均值;重复执行直到Mm内数据对象大于等于α·(n/k),(0<α≤1);若m<k,则重复以上步骤直到m≥k,即当集合的数目等于簇类数目时,结束寻找初始聚类中心。
S23、经过上述步骤即可获得最优的初始聚类中心,利用这些聚类中心进行音高向量聚类从而获得最优聚类结果;音高向量集X={x1,...,xn,...,xN},每个数据对象xn有D维,在半径R内数据对象数目与总数据集的比值(占比率)为P(0≤P≤1),相邻两次误差平方和之差为β,计算每个数据对象与中心的距离:
并把它划分给最近的聚类中心,得到K个簇类,重新计算每个簇类的中心:
重新划分簇并更新中心,直到聚类中心不再变化或者连续两次E值差小于阈值,聚类完成得到聚类后的簇。
S3、利用步骤S1中提取的音高向量及步骤S2中获取的聚类标签训练DBN模型;
参见图2,DBN模型采用6层,每层1024个节点,每层之后都加入了sigmoid激活函数,之后接入全连接层,最后采用softmax作为输出层。将全连接层的输入作为高层旋律特征,用来后续进行高层旋律特征匹配。通过softmax输出结果作为类别信息,用来记录音高向量所属类别。
具体的说,将步骤S1中提取的音高向量{x1,x2,...,xN}作为训练数据,训练数据标签则采用步骤S2中对应的聚类标签,采用sigmoid激活函数,如下所示:
目标函数则采用softmax损失函数,其分类过程如下所示:
其中,Z是上一层的输出,softmax的输入,维度为C,yi为某一类别的概率值,i的取值代表了类别数,n代表聚类后簇的数量。
S4、利用步骤S3中得到的DBN模型,提取步骤S1中音高向量所对应的高层旋律特征及其类别信息,利用这些信息构成歌曲特征库;
步骤S4具体包括:
S41、将步骤S1中提取的音高向量{x1,x2,...,xN}送入DBN模型,提取全连接层的输入作为高层旋律特征{e1,e2,...,eN},并将softmax输出结果作为类别信息。
S42、利用音高向量、高层旋律特征、类别信息、所属歌曲ID一起构成歌曲特征库。
具体的说,将歌曲库MIDI文件的音高向量输入到DBN模型中,得到高层旋律特征及其类别信息,构成歌曲特征库,为高层旋律特征匹配做准备。
S5、对哼唱WAV文件提取音高向量;
参见图1,WAV文件执行图1右侧,选取短时自相关方法获取音符序列,对其提取音高向量时,选取一个包含60个音高的窗,采样间隔为3,窗移为15,在窗内提取一个20维的音高向量,不断移动窗得到全部音高向量。提取音高向量具体过程如下所示:
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文件由不同音符值pw构成一维音高序列(p1,...,pw,...,pW),对其提取音高向量时,需要选取一个h秒的窗,在窗内提取一个固定时间间隔的高维音高向量,然后移动窗去提取下一个音高向量,以此类推,最终即可获得全部音高向量,表示为:
x=(p1,...,pw+T,...,pW+T(D-1))
其中,x为音高向量;T为采样间隔;D为音高向量维数。
S6、利用步骤S3中得到的DBN模型,提取步骤S5中音高向量所对应的高层旋律特征及其类别信息;
步骤S6具体包括:
将步骤S5中提取的音高向量{x1,x2,...,xN}送入DBN模型,提取全连接层的输入作为高层旋律特征{e1,e2,...,eN},并将softmax输出结果作为类别信息。
S7、利用步骤S6中得到的类别信息,将步骤S6中提取的高层旋律特征与步骤S4歌曲特征库中同类别的高层旋律特征进行匹配,最终得到匹配结果;
步骤S7具体包括:
S71、利用线性伸缩方法粗略计算步骤S6中获得的高层旋律特征与步骤S4歌曲特征库中同类别的高层旋律的距离,筛选掉大部分伪候选。
S72、使用边界对齐线性伸缩算法和重音移位递归对齐算法精确计算高层旋律特征的距离。
S73、按照高层旋律特征的距离大小对所有候选进行排序,排序结果即为哼唱检索系统的检索结果。
具体的说,利用哼唱WAV音频的高层旋律特征匹配到最相似的聚类特征,在该聚类内的歌曲高层旋律特征结构相似,正确检索结果包含在其中。因此,在该类内检索即可得到准确检索结果,使得该系统不仅检索稳定高效,而且检索精度高。
本发明未详述之处,均为本领域技术人员的公知技术。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (8)
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文件由不同音符值pi持续ti时间所构成的音符序列(p1,t1),...,(pi,ti)表示,音符持续时间ti又可以转换为持续帧数Fi,因此可以根据帧移数将时间音符序列转换为帧移音符序列(p1,F1),...,(pi,Fi);
S12、所有的二维帧移音符序列均可由一维音高序列来表示:
其中,pi表示任意音符,Fi表示音符持续帧数;
S13、每个MIDI文件由不同音符值pw构成一维音高序列(p1,...,pw,...,pW),对其提取音高向量时,需要选取一个h秒的窗,在窗内提取一个固定时间间隔的高维音高向量,然后移动窗去提取下一个音高向量,以此类推,最终即可获得全部音高向量,表示为:
x=(p1,...,pw+T,...,pW+T(D-1))
其中,x为音高向量,T为采样间隔,D为音高向量维数。
3.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤S2中的k-means算法如下:
S21、将样本数据集合定义表示为D={x1,x2,...,xn},k个簇类定义表示为C={C1,C2,...,Ck},m个集合定义表示为M={M1,M2,...,Mm},根据上述的符号定义,首先应该计算出两数据对象间的欧式距离:
式中,xi,xj表示为数据对象,xil表示为xi的第l个特征属性,xjl表示为xj的第l个特征属性;接着将距离最短的两个数据对象组成一个样本集合Mm(0≤m≤k),k表示为簇类数,从总的数据集D中将它们删除,同时计算出样本集合Mm内所有数据对象的均值;
S22、计算数据集D中每个对象与样本集合Mm间的距离:
其中,M为距离最短的两点组成的集合,D'为删除集合M中数据后的样本数据集,为第m个集合Mm的均值;找到距离最近的点加入集合Mm,将它从数据集D中删除,并计算集合Mm内所有数据对象的均值;重复执行直到Mm内数据对象大于等于α·(n/k),(0<α≤1);若m<k,则重复以上步骤直到m≥k,即当集合的数目等于簇类数目时,结束寻找初始聚类中心;
S23、经过上述步骤即可获得最优的初始聚类中心,利用这些聚类中心进行音高向量聚类从而获得最优聚类结果;音高向量集X={x1,...,xn,...,xN},每个数据对象xn有D维,在半径R内数据对象数目与总数据集的比值(占比率)为P(0≤P≤1),相邻两次误差平方和之差为β,计算每个数据对象与中心的距离:
并把它划分给最近的聚类中心,得到K个簇类,重新计算每个簇类的中心:
重新划分簇并更新中心,直到聚类中心不再变化或者连续两次E值差小于阈值,聚类完成得到聚类后的簇。
5.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤S4包括:
S41、将步骤S1中提取的音高向量{x1,x2,...,xN}送入DBN模型,提取全连接层的输入作为高层旋律特征{e1,e2,...,eN},并将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文件由不同音符值pw构成一维音高序列(p1,...,pw,...,pW),对其提取音高向量时,需要选取一个h秒的窗,在窗内提取一个固定时间间隔的高维音高向量,然后移动窗去提取下一个音高向量,以此类推,最终即可获得全部音高向量,表示为:
x=(p1,...,pw+T,...,pW+T(D-1))
其中,x为音高向量;T为采样间隔;D为音高向量维数。
7.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤S6包括:
将步骤S5中提取的音高向量{x1,x2,...,xN}送入DBN模型,提取全连接层的输入作为高层旋律特征{e1,e2,...,eN},并将softmax输出结果作为类别信息。
8.根据权利要求1所述的一种基于旋律特征聚类与优化的哼唱检索方法,其特征在于,所述步骤S7包括:
S71、利用线性伸缩方法粗略计算步骤S6中获得的高层旋律特征与步骤S4歌曲特征库中同类别的高层旋律的距离,筛选掉大部分伪候选;
S72、使用边界对齐线性伸缩算法和重音移位递归对齐算法精确计算高层旋律特征的距离;
S73、按照高层旋律特征的距离大小对所有候选进行排序,排序结果即为哼唱检索系统的检索结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110773772.9A CN113377994A (zh) | 2021-07-08 | 2021-07-08 | 一种基于旋律特征聚类与优化的哼唱检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110773772.9A CN113377994A (zh) | 2021-07-08 | 2021-07-08 | 一种基于旋律特征聚类与优化的哼唱检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377994A true CN113377994A (zh) | 2021-09-10 |
Family
ID=77581380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110773772.9A Pending CN113377994A (zh) | 2021-07-08 | 2021-07-08 | 一种基于旋律特征聚类与优化的哼唱检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377994A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364238A (zh) * | 2008-09-17 | 2009-02-11 | 清华大学 | 分层递阶的歌曲旋律检索方法 |
US20120109563A1 (en) * | 2010-10-29 | 2012-05-03 | President And Fellows Of Harvard College | Method and apparatus for quantifying a best match between series of time uncertain measurements |
CN103823867A (zh) * | 2014-02-26 | 2014-05-28 | 深圳大学 | 一种基于音符建模的哼唱式音乐检索方法及系统 |
CN106952644A (zh) * | 2017-02-24 | 2017-07-14 | 华南理工大学 | 一种基于瓶颈特征的复杂音频分割聚类方法 |
CN107256710A (zh) * | 2017-08-01 | 2017-10-17 | 中国农业大学 | 一种基于动态时间伸缩算法的哼唱旋律识别方法 |
CN111737513A (zh) * | 2020-05-06 | 2020-10-02 | 华南理工大学 | 一种针对海量音乐数据的哼唱检索系统 |
-
2021
- 2021-07-08 CN CN202110773772.9A patent/CN113377994A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364238A (zh) * | 2008-09-17 | 2009-02-11 | 清华大学 | 分层递阶的歌曲旋律检索方法 |
US20120109563A1 (en) * | 2010-10-29 | 2012-05-03 | President And Fellows Of Harvard College | Method and apparatus for quantifying a best match between series of time uncertain measurements |
CN103823867A (zh) * | 2014-02-26 | 2014-05-28 | 深圳大学 | 一种基于音符建模的哼唱式音乐检索方法及系统 |
CN106952644A (zh) * | 2017-02-24 | 2017-07-14 | 华南理工大学 | 一种基于瓶颈特征的复杂音频分割聚类方法 |
CN107256710A (zh) * | 2017-08-01 | 2017-10-17 | 中国农业大学 | 一种基于动态时间伸缩算法的哼唱旋律识别方法 |
CN111737513A (zh) * | 2020-05-06 | 2020-10-02 | 华南理工大学 | 一种针对海量音乐数据的哼唱检索系统 |
Non-Patent Citations (3)
Title |
---|
WOLFGANG THEIMER ET AL.: "Fault-Tolerant Music Search by New Ranking Order Algorithm", 《2006 IEEE WORKSHOP ON MULTIMEDIA SIGNAL PROCESSING》 * |
肖艳: "基于哼唱的MIDI音频检索算法研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
郑贵滨 等: "基于两级神经网络的连续哼唱特征提取", 《计算机工程与应用》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Korzeniowski et al. | A fully convolutional deep auditory model for musical chord recognition | |
Zhou et al. | Chord detection using deep learning | |
Hung et al. | Frame-level instrument recognition by timbre and pitch | |
Wu et al. | Automatic audio chord recognition with MIDI-trained deep feature and BLSTM-CRF sequence decoding model | |
Humphrey et al. | Learning a robust tonnetz-space transform for automatic chord recognition | |
Park et al. | Towards unsupervised pattern discovery in speech | |
JP3903610B2 (ja) | 検索装置、検索方法及び検索プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
Garcia et al. | Leveraging hierarchical structures for few-shot musical instrument recognition | |
Yu et al. | Learning a representation for cover song identification using convolutional neural network | |
Chang et al. | Audio cover song identification using convolutional neural network | |
Doras et al. | A prototypical triplet loss for cover detection | |
Kolozali et al. | Automatic ontology generation for musical instruments based on audio analysis | |
Durand et al. | Downbeat Detection with Conditional Random Fields and Deep Learned Features. | |
Yesiler et al. | Less is more: Faster and better music version identification with embedding distillation | |
Kurimo | Using self-organizing maps and learning vector quantization for mixture density hidden Markov models | |
Rafi et al. | Comparative analysis of three improved deep learning architectures for music genre classification | |
Hou et al. | Transfer learning for improving singing-voice detection in polyphonic instrumental music | |
Ding et al. | Knowledge-graph augmented music representation for genre classification | |
CN117037779A (zh) | 一种基于gcn-amcn的midi标签分类方法 | |
Vasudevan et al. | A hybrid cluster-classifier model for Carnatic raga classification | |
Nasridinov et al. | A study on music genre recognition and classification techniques | |
Du et al. | Bytecover3: Accurate cover song identification on short queries | |
CN113377994A (zh) | 一种基于旋律特征聚类与优化的哼唱检索方法 | |
Wang et al. | Transfer learning for music classification and regression tasks using artist tags | |
Ghosal et al. | Musical genre and style recognition using deep neural networks and transfer learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210910 |