首页> 中国专利> 一种基于音色相似度的歌曲检索方法

一种基于音色相似度的歌曲检索方法

摘要

本发明涉及一种基于音色相似度的歌曲检索方法,针对基于内容的音乐检索技术,综合利用歌曲背景音乐音色、歌唱者声音特点等特征,提出了一种基于MFCC和GMM的歌曲个性建模、计算和检索匹配的方法并加以实现,实验结果表明,该系统的检索速度快,系统稳定性高、可扩展性强。本发明特别适合对于音色要求较高的音频检索场合,例如器乐音频检索系统、多媒体音频管理系统等。

著录项

  • 公开/公告号CN103177722A

    专利类型发明专利

  • 公开/公告日2013-06-26

    原文格式PDF

  • 申请/专利权人 北京理工大学;

    申请/专利号CN201310074868.1

  • 申请日2013-03-08

  • 分类号G10L15/08(20060101);G06F17/30(20060101);

  • 代理机构

  • 代理人

  • 地址 100081 北京市海淀区中关村南大街5号

  • 入库时间 2024-02-19 19:28:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-27

    未缴年费专利权终止 IPC(主分类):G10L15/08 授权公告日:20160420 终止日期:20170308 申请日:20130308

    专利权的终止

  • 2016-04-20

    授权

    授权

  • 2013-07-24

    实质审查的生效 IPC(主分类):G10L15/08 申请日:20130308

    实质审查的生效

  • 2013-06-26

    公开

    公开

说明书

技术领域

本发明涉及一种基于音色相似度的歌曲检索方法,属于多媒体信息处理 技术领域;具体来讲,属于音频处理技术领域。

背景技术

音乐作为一种重要的媒体资源,音乐的检索对于音乐数据库和数字图书 馆建设有着非常重要的意义。网络上多媒体资源量非常巨大,人们需要高效 的搜索引擎从浩如烟海的数据中找出需要的音乐资源。另外,音乐检索在卡 拉OK检索以及辅助视频检索等方面都有广阔的研究前景和巨大的应用价 值。面对不断增长的海量资源与人们对音乐检索的高标准,基于背景音乐及 歌唱者音色的音乐检索需求也不断增加。利用相关技术实现对于相似音乐的 检索不仅可以改变现在的人工检索方式,而且歌唱者可以根据自己声音和风 格利用系统检索与自己相似的歌曲,不仅可以节约大量的时间,能够取得更 好的效果,同时,用户可以从大量的歌曲音乐库中自动选择自己喜爱的歌曲, 满足个性化音乐检索和服务。

目前,对于歌曲的检索方法分为两大类:基于文本标注的方法和基于内 容的方法。

目前实用的歌曲检索系统都使用了基于文本的方法,如百度音乐检索、 九酷音乐网、搜刮网等,这种方法需要首先对歌曲库中的歌曲进行人工标注, 标注出歌曲名、演唱者、歌曲分类等特征,再利用关键字匹配的方法进行查 找。这种方法在实用中有着一些难以弥补的缺陷。首先,歌曲的很多特征难 以用文字准确描述(例如歌唱者声音特征、歌曲风格、节奏、背景音乐音色 等),因而难以针对这些特性进行检索;其次,文本匹配的检索准确性能很 大程度上取决于文本标注的准确性,而很多特性(如歌曲分类、情绪等)的 评价具有很强的主观性,准确性难以保证;第三,对于“以歌找歌”的相似 歌曲检索需求,基于文本的方法目前还无法实现。

在基于内容的歌曲检索方面,目前常用的方法有:

1.种基于时间序列的方法。在该方法将整首歌曲中音符的组合转化为时 间序列的组合,然后再计算时间序列间的距离,并将结果作为衡量歌曲间相 似度的标准。该方法有利于使用DTW方法进行匹配,但是需要进行音符序 列的平移和时间弯曲,还需要对每个时间序列进行匹配,时间复杂度非常高。

基于隐马尔可夫模型(HMM)的匹配算法。该方法对音高误差比较敏感, 但能较好地容忍遗漏音符和节奏上的哼唱误差。基于SOM神经网络算法和 基于文本特征的技术的方法等,这些方法通过用户哼唱一首乐曲的旋律片段, 从音乐中提取旋律和节奏等特征信息进行搜索的。

然而,面对用户对于音色相似性的检索需求,目前可用的方法却很少。 本发明就是针对这一问题提出的,用户可以根据自己喜欢的歌曲,利用检索 系统检索与之音色相似的歌曲,满足个性化音乐检索和服务的需要。

发明内容

本发明的目标是:提出一种基于音色相似度的歌曲检索方法,能实现根 据音色的相似度完成歌曲检索的目的。

本发明的设计原理为:采用Mel频率倒谱系数(MFCC)和高斯混合模型 (GMM)算法来构造该模型,并用期望最大化(EM)算法进行训练,最终使用 GMM模型匹配的方式进行检索。原理图见图1。

本发明的技术方案是通过如下步骤实现的:

步骤1,对音频库的所有S首样本歌曲进行预处理,利用音频片段平均 短时能量和过零率标准偏差的融合判决方法去除歌曲中的静音部分。每首歌 的处理流程如下:

步骤1.1,对音频进行分帧处理,具体方法为:

帧移长度选为半帧,窗函数选用哈明窗(Hamming Window),如下式所示。

式中α的取值根据系统部署时的实际情况来确定。

步骤1.2,计算短时能量,具体方法为:

En=Σm=-[x(m)w(n-m)]2=Σm=nn+N-1[x(m)w(n-m)]2

上式中,n是第n个短时帧,x(m)表示第n个短时帧内第m个采样点信号 值,N是窗长,可以在系统部署时根据实际应用具体确定,w(n)表示长度为N 的窗函数。上式也可以改写为

En=Σm=-[x(m)w(n-m)]2=Σm=-x2(m)h(n-m)=x2(n)*h(n)

上式中h(n)定义如下

h(n)=w(n)2

步骤1.3,设定音频片段的长度为t,计算各音频片段的平均短时能量E平m, 及整个语音的平均短时能量E平all

式中,G为整首歌曲的音频帧数,g为t秒片段中包含的音 频帧数。

步骤1.4,按照如下规则删除静音片段:

(1)当一个音频片段的能量低于某个阈值,就认为它是静音帧。

(2)当一个片段中的静音帧的比例超过阈值TS时,就认为它是静音 片段。

阈值的设定与当前声音的响度和频率有关系,响度高阈值就高,所以阈值 的设定应随不同的音频片段而变化。为此,所提方法采用自适应的阈值TE的判 定方法:当音频帧的短时能量于一个3秒大小的滑动窗口内的平均短时能量的 比值低于阈值TR时,就认为是静音帧。

步骤2,在步骤1删除静音段之后,提取音频库中每首歌曲剩余的有效 音频帧的MFCC参数。处理流程见图2,每首歌的具体操作过程如下:

步骤2.1,语音信号在经过加窗处理后变为短时信号,用FFT将这些 时域信号x(n)转化为频域信号x(m),并由此可以计算它的短时能量谱P(f)。

步骤2.2,将P(f)由在频率轴上的频谱转化为在Mel坐标上的P(M), 其中M表示Mel频率,使用公式:fmel=2595lg(1+fHz)/700来完成变换。

步骤2.3,在Mel频域内将三角带通滤波器加于Mel坐标得到滤波器 组Hm(k),如所示。然后计算Mel坐标上的能量P(M)经过此滤波器组的输 出

θ(Mk)=ln[Σk=1K|X(k)|2Hm(k)],k=1,2,...K

上式中,k表示第k个三角滤波器,K表示滤波器个数。这K个滤波器中, 在1000Hz以下的滤波器是线性划分的,在1000Hz以上的滤波器是在Mel坐标 上线性划分的。

步骤2.4,如果θ(Mk)表示第k个滤波器的能量输出,则Mel频率倒谱 系数Cmel(n)在Mel刻度谱上可以采用修改的离散余弦反变换(IDCT)求得

上式中,p为MFCC参数的阶数。

步骤2.5,将这种直接得到的MFCC特征作为静态特征,再将这种静 态特征做一阶和二阶差分,得到响应的动态特征。标准的MFCC参数只是 反映了语音信号的静态特征,适用于纯净的语音信号情况下;动态特征更 适合于实际系统中测试环境和训练环境失配的情况。差分参数的计算公式 如下

d(n)=[Σk=-MMc(n+k)k]/Σk=-MMk2

在上式中,d(n)表示一阶MFCC差分参数,c(n)是MFCC参数;M为一个 自定义的常数,一般取2或者3。如果取2,这时差分参数就称为当前帧的前两 帧和后两帧参数的线性组合。

步骤3,在步骤2的基础上,为音频库的每首歌训练相应的GMM模型, 得到模型集合D={λ12,…,λS}。每首歌训练的流程如图3所示,具体过程如 下:

步骤3.1,确定GMM模型的阶数K(码本容量),和初始参数λ,这 些参数由实际部署时的情况来确定。

步骤3.2,从歌曲库中,读取一首新的歌曲。

步骤3.3,对于本首歌曲的每个特征向量xi,用下式计算pi(xi),

pi(x;μi,Σi)=1(2π)D/2|Σi|1/2exp{-12(x-μi)TΣi-1(x-μi)

步骤3.4,用下式计算p(i|xi,λ);

p(yi=i|xi,λ)=ωipi(xt;μi,Σi)p(xt|λ)=ωipi(xt;μi,Σi)Σi=1Mωipi(xt;μi,Σi)

步骤3.5,用以下三个公式重估模型参数;

pi=1TΣt=1Tp(i|xt,λ)

μi=Σt=1Tp(i|xt,λ)xt/Σt=1Tp(i|xt,λ)

σi2=Σt=1Tp(i|xt,λ)xt2/Σt=1Tp(i|xt,λ)-μi2

步骤3.6,用以下两个公式分别更新p(i|xi,λ)、计算Q(λ,λ′);

p(i|xt,λ)=pibi(xt)/Σk=1Mpkbk(xt)

Q(λ,λ)=Σylog[L(λ|X,y)]P(y|X,λ)=Σylog[P(X,y|λ)]P(y|X,λ)

步骤3.7,若Q(λ,λ′)当前值相对于上一次迭代时的值的增幅小于设 定的收敛域,则结束本首歌曲的建模,转步骤3.2,否则回转步骤3.3 继续。

步骤3.8,将每首歌曲的模型集合起来统一存储,得到歌曲库对应 的模型库D={λ12,…,λS}。

步骤4,对于给定的歌曲样本,首先提取其MFCC系数,进而与步骤3得 到的模型库D中的每个模型进行匹配,完成歌曲检索。具体步骤如图4所示, 操作步骤为:

步骤4.1,提取歌曲样本的MFCC系数,得到观察矢量序列 X={xt,t=1,2,…,T},具体操作方法,同步骤1.1-步骤2.5。

步骤4.2,依次与D中的S个模型进行匹配,按照下式获得检索结 果。

S^=argmax1kSΣt=1TlogP(xt|λk)

步骤4.3,将作为检索结果输出,检索完成。

有益效果

相比于基于文本标签标注的歌曲检索方法和基于旋律相似性的歌曲检索 方法,本发明采用MFCC技术提取歌曲的语音特征,并利用GMM算法生成 该歌曲的模板,然后利用歌曲模板库对歌曲文件进行相似度计算,实现了基 于歌曲背景音乐和歌手音色相似性的检索。

本发明首次使用对完整歌曲进行相似性比较,用户可以根据自己的音色 风格检索歌曲,满足个性化歌曲推荐和服务,不仅可以单独使用,也可以成 为既有歌曲检索系统的有益补充,具有较高的实用价值。

附图说明

图1为本发明的原理框图;

图2为本发明提出的音频特征提取流程图;

图3为本发明的音频库中每首歌曲GMM模型构建流程;

图4为本发明的音频检索流程;

具体实施方式

为了更好的说明本发明的目的和优点,下面结合实施例对本发明方法的 实施方式做进一步详细说明。

本实施例采用的数据资源如下:首先建立一个由1250首MP3歌曲组成 的音频库,其中包括132位男歌手歌曲555首,大小为2.48GB,116位女歌 手歌曲695首,大小为3.21GB,歌曲库中包含中文、英语、韩语、日语等类 型的歌曲。首先把MP3歌曲解码成单声道、采样速率16kHz、解析度16bit 的WAV格式语音文件,然后利用基于音频片段平均短时能量过滤歌曲中的 静音部分。

本实施例的总体步骤为:从男女歌手中分别选取两首不同歌手的歌曲, 共4首歌曲。首先采用本发明的系统进行识别,然后将系统检索到的前10 首歌曲记录下来,然后用主观评价的方法(通过人为判断的方式)判断检索 到的歌曲与相关歌曲是否具有相同的音色风格。

人工分类是经过对20人对检索结果进行判定的结果统计分析得出的, 在实验中,Y表示与样本歌曲相似,N表示与样本歌曲不相似。而对检索结 果进行歌曲相似性统计的原则是,20人中若80%以上认为相似则认为相似, 否则认为不相似。

以下所有测试均在同一台计算机上完成,具体配置为:Intel双核CPU(主 频1.8G),1G内存,WindowsXP SP3操作系统。

具体的实施步骤为:

步骤1,对音频库的所有S首样本歌曲进行预处理,利用音频片段平均 短时能量和过零率标准偏差的融合判决方法可以去除歌曲中的静音部分。每 首歌的处理流程如下:

步骤1.1,对音频进行分帧处理

帧移长度选为半帧,窗函数选用哈明窗(Hamming Window),如下式所示。

本实施例中,上式α=0.46

步骤1.2,计算短时能量,具体方法为:

En=Σm=-[x(m)w(n-m)]2=Σm=nn+N-1[x(m)w(n-m)]2

上式中,n是第n个短时帧,x(m)表示第n个短时帧内第m个采样点信号 值,N是窗长,本实施例中,N=30毫秒,帧移为15毫秒,w(n)表示长度为N 的窗函数。上式也可以改写为

En=Σm=-[x(m)w(n-m)]2=Σm=-x2(m)h(n-m)=x2(n)*h(n)

上式中h(n)定义如下

h(n)=w(n)2

步骤1.3,设定音频片段的长度为t,计算各音频片段的平均短时能量E平m, 及整个语音的平均短时能量E平all。在本实施例中,t=1s.

式中,G为整首歌曲的音频帧数,g为1秒片段中包含的音 频帧数。

步骤1.4,按照如下规则删除静音片段:

(1)当一个音频片段的能量低于某个阈值,就认为它是静音帧。

(2)当一个片段中的静音帧的比例超过阈值TS时,就认为它是静音 片段。

阈值的设定与当前声音的响度和频率有关系,响度高阈值就高,所以阈值 的设定应随不同的音频片段而变化。为此,所提方法采用自适应的阈值TE的判 定方法:当音频帧的短时能量于一个3秒大小的滑动窗口内的平均短时能量的 比值低于阈值TR时,就认为是静音帧。

步骤2,在步骤1删除静音段之后,提取音频库中每首歌曲剩余的有效 音频帧的MFCC参数。处理流程见图2,每首歌的具体操作过程如下:

步骤2.1,语音信号在经过加窗处理后变为短时信号,用FFT将这些 时域信号x(n)转化为频域信号x(m),并由此可以计算它的短时能量谱P(f)。

步骤2.2,将P(f)由在频率轴上的频谱转化为在Mel坐标上的P(M), 其中M表示Mel频率,使用公式:fmel=2595lg(1+fHz)/700来完成变换。

步骤2.3,在Mel频域内将三角带通滤波器加于Mel坐标得到滤波器 组Hm(k),如所示。然后计算Mel坐标上的能量P(M)经过此滤波器组的输 出

θ(Mk)=ln[Σk=1K|X(k)|2Hm(k)],k=1,2,...K

上式中,k表示第k个三角滤波器,K表示滤波器个数。这K个滤波器中, 在1000Hz以下的滤波器是线性划分的,在1000Hz以上的滤波器是在Mel坐标 上线性划分的。

步骤2.4,如果θ(Mk)表示第k个滤波器的能量输出,则Mel频率倒谱 系数Cmel(n)在Mel刻度谱上可以采用修改的离散余弦反变换(IDCT)求得

上式中,p为MFCC参数的阶数。

步骤2.5,将这种直接得到的MFCC特征作为静态特征,再将这种静 态特征做一阶和二阶差分,得到响应的动态特征。标准的MFCC参数只是 反映了语音信号的静态特征,适用于纯净的语音信号情况下;动态特征更 适合于实际系统中测试环境和训练环境失配的情况。差分参数的计算公式 如下:

d(n)=[Σk=-MMc(n+k)k]/Σk=-MMk2

在上式中,d(n)表示一阶MFCC差分参数,c(n)是MFCC参数;M为一个 自定义的常数,本实施例中,M取2.

步骤3,在步骤2的基础上,为音频库的每首歌训练相应的GMM模型, 得到模型集合D={λ12,…,λS}。每首歌训练的流程如图3所示,具体过程如 下:

步骤3.1,确定GMM模型的阶数K(码本容量),和初始参数λ。

确定初始值K与λ采用的方法是:从训练数据中任取若干特征矢量求 其均值和方差,作为初始均值和方差;而对于模型的混合数K,如果取值 太小,则训练出的GMM不能有效地表征语音的特征,从而使整个系统的 性能下降。如果取值过大,则模型参数会很多,从有效的训练数据中可能 得不到收敛的模型参数,而且太多的模型参数要求更多的存储空间,同时 还会大大增加训练和识别的运算复杂度。本实施例中,K=32.

步骤3.2,从歌曲库中,读取一首新的歌曲。

步骤3.3,对于本首歌曲的每个特征向量xi,用下式计算pi(xi),

pi(x;μi,Σi)=1(2π)D/2|Σi|1/2exp{-12(x-μi)TΣi-1(x-μi)

步骤3.4,用下式计算p(i|xi,λ);

p(yi=i|xi,λ)=ωipi(xt;μi,Σi)p(xt|λ)=ωipi(xt;μi,Σi)Σi=1Mωipi(xt;μi,Σi)

步骤3.5,用以下三个公式重估模型参数;

pi=1TΣt=1Tp(i|xt,λ)

μi=Σt=1Tp(i|xt,λ)xt/Σt=1Tp(i|xt,λ)

σi2=Σt=1Tp(i|xt,λ)xt2/Σt=1Tp(i|xt,λ)-μi2

步骤3.6,用以下两个公式分别更新p(i|xi,λ)、计算Q(λ,λ′);

p(i|xt,λ)=pibi(xt)/Σk=1Mpkbk(xt)

Q(λ,λ)=Σylog[L(λ|X,y)]P(y|X,λ)=Σylog[P(X,y|λ)]P(y|X,λ)

步骤3.7,若Q(λ,λ′)当前值相对于上一次迭代时的值的增幅小于设 定的收敛域,则结束本首歌曲的建模,转步骤3.2,否则回转步骤3.3 继续。

步骤3.8,将每首歌曲的模型集合起来统一存储,得到歌曲库对应 的模型库D={λ12,…,λS}。

步骤4,对于给定的歌曲样本,首先提取其MFCC系数,进而与模型库D 中的每个模型进行匹配,完成歌曲检索。具体步骤如图4所示,操作步骤为:

步骤4.1,提取歌曲样本的MFCC系数,得到观察矢量序列 X={xt,t=1,2,…,T},具体操作方法,同步骤1.1-步骤2.5。

步骤4.2,依次与D中的S个模型进行匹配,按照下式获得检索结 果。

S^=argmax1kSΣt=1TlogP(xt|λk)

步骤4.3,将作为检索结果输出,检索完成。

本实施例的检索结果如下:为了方便,对4组实验检索结果的歌曲分别进 行了编号。

第1组:样本歌曲为刘若英的“人之初”。

检索相似性排名前10首歌曲:①王菲的“暗涌”;②那英的“出卖”; ③王菲的“但愿人长久”;④王菲的“给自己的情书”;⑤王菲的“只愿为 你守着约”;⑥萧亚轩的“给我重新爱你的机会”;⑦那英的“我来因为你 在”;⑧王菲的“雪中莲”;⑨梁咏琪的“我很好”;⑩孙燕姿的“年轻无 极限”。

第2组:样本歌曲为梁静茹的“给未来的自己”。

检索相似性排名前10首歌曲:①刘若英的“说话”;②真宫寺的“樱 花大战”;③王菲的“再见萤火虫”;④王菲的“单行道”;⑤杨丞琳的 “True Blue”;⑥The Corrs的“Only When I Sleep”;⑦王菲的“天使”; ⑧王菲的“闷人咖啡”;⑨“True Love”;⑩王菲的“香奈儿”。

第3组:样本歌曲为周华健的“忘忧草”。

检索相似性排名前10首歌曲:①猫王的“Can′t Help Falling in Love”;② 郑伊健的“热血燃烧”;③张信哲的“且行且珍惜”;④羽泉的“City  Story”;⑤阿牛的“Hello,Hong Kong”;⑥周杰伦的“心雨”;⑦阿牛的 “你还好吗”;⑧李圣杰的“手放开”;⑨动力火车的“火柴天堂”;⑩Buzz 的“胆小鬼”。

第4组:样本歌曲为王力宏的“爱我的歌”。

检索相似性排名前10首歌曲:①五月天的“心中无别人”;②五月天的 “我们”;③五月天的“米老鼠”;④五月天的“我又初恋了”;⑤五月天 的“约翰蓝侬”;⑥五月天的“憨人”;⑦“火影忍者”;⑧Westlife的 “Uptown Girl”;⑨周杰伦的“珊瑚海”;⑩五月天的“摇滚舞台”。

实验结果如下表所示。

实验结果数据统计表

经过对上表中的准确率平均,得到歌曲检索的平均准确率为90%,说明本 发明的检索达到了较好的效果。从具有1250首歌曲的音乐库,检索出10首具 有相似特征的歌曲时间小于3min,检索时间性能比较高,达到了较为理想的效 果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号