CN103440873A - 一种基于相似性的音乐推荐方法 - Google Patents

一种基于相似性的音乐推荐方法 Download PDF

Info

Publication number
CN103440873A
CN103440873A CN2013103791005A CN201310379100A CN103440873A CN 103440873 A CN103440873 A CN 103440873A CN 2013103791005 A CN2013103791005 A CN 2013103791005A CN 201310379100 A CN201310379100 A CN 201310379100A CN 103440873 A CN103440873 A CN 103440873A
Authority
CN
China
Prior art keywords
sigma
formula
centerdot
long
frequency domain
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.)
Granted
Application number
CN2013103791005A
Other languages
English (en)
Other versions
CN103440873B (zh
Inventor
陈喆
殷福亮
时丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201310379100.5A priority Critical patent/CN103440873B/zh
Publication of CN103440873A publication Critical patent/CN103440873A/zh
Application granted granted Critical
Publication of CN103440873B publication Critical patent/CN103440873B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于混合特征和高斯混合模型的音乐相似度检测方法,基本思路如下:用伽马通倒谱系数进行相似度检测,并将多种特征的加权相似度作为最终的检测结果;提出一种基于帧轴的调制频谱特征,用该特征表示音乐的长时特征,并且将长时特征与短时特征的组合作为下一步建模的输入;使用高斯混合模型对各个音乐特征建模,首先利用动态K均值方法对模型进行初始化,接着用期望最大化算法进行模型训练,获得准确的模型参数,最后使用对数似然比算法获得音乐之间的相似度。本发明对音乐特征的获取更为充分和深入,提高了音乐推荐的准确程度。本发明可降低特征矢量维数,降低音乐数据库信息存储量,提高音乐推荐的准确程度。

Description

一种基于相似性的音乐推荐方法
技术领域
本发明涉及一种互联网的音乐检索技术,特别是一种基于相似性的音乐推荐方法。
背景技术
伴随着网络技术的快速发展,大量音乐在互联网中被分享,在线音乐曲库更新速度很快;传统的音乐检索方式,往往是通过输入歌曲或歌手名字的方式进行,但是在音乐数据如此庞大的信息时代,很难发现歌曲及歌手信息未知的音乐;音乐推荐则使人们能够更加快捷地获得所需音乐。
近年来,许多音乐网站开始提供音乐推荐功能,但是推荐效果尚无法令用户满意,很多推荐仅是对热门曲目的罗列,没有根据用户兴趣进行个性化推荐;针对当前音乐推荐方法尚不完善的现状,迫切地需求一种能深度分析音乐信号,模拟人耳认知的音乐相似性检测算法,以提高音乐推荐的精准度。
音乐推荐是一种根据用户信息分析用户兴趣,产生推荐列表的过程;由于人类对于音乐的认知会受到诸如年龄、背景、情绪等多种因素的影响,对于音乐推荐系统而言,不仅包含了音乐风格的识别,还包括乐曲之间的相似度检测问题;也就是说推荐系统需要模拟人耳的感知特性,根据用户常听曲目,推荐类似音乐给用户。
2006年,在公开号为US20070174274A1的美国专利(Kim H G,Eom K W,Kim J Y,et al.Method and apparatus for searching similar music:U.S.PatentApplication11/487,327.2006)中,申请人公开了一种音乐相似度检测的方法;其基本思路是:(1)提取歌曲的风格特征,称为第一特征,这些特征主要包括改进离散余弦变换(Modified Discrete Cosine Transform,MDCT)域的谱中心、带宽、滚动等信息;(2)获得第一特征的最值(最大值、最小值)、均值和方差,称为第二特征;(3)利用第二特征计算歌曲之间的相似度。该方法的缺点如下:(1)特征提取过程只是简单地获取了频域的几个特征,没有充分地挖掘音乐信号的潜在特点;(2)通过获取最值、均值和方差的方法对特征进行降维,但由于信号的时变性,会导致特征信息的丢失。
2007年,在文献(Signal-based timbre similarity measures for automatic musicrecommendation.USA:The Cooper Union for the Advancement of Science and Art,2007)中,Terence L Magno提出了一种音乐相似度的检测方法;其基本思路是:(1)提取音乐信号的梅尔频率倒谱系数(Mel-Frequency Cepstrum Coefficients,MFCC)特征来表征音乐的音调信息;(2)对特征矢量使用高斯混合模型(Gaussian mixture model,GMM)方法进行建模,获得歌曲的高斯混合模型参数;(3)使用“推土机”距离(Earth Mover’s Distance,EMD)方法,计算歌曲模型之间的距离,进而获得歌曲之间的相似度。该方法的缺点如下:(1)使用梅尔频率倒谱系数来表征音乐信号的音色特征,由于梅尔频率倒谱系数多用于语音信号的处理中,对于背景较为复杂的音乐信号,该特征的应用有一定的限制;(2)“推土机”距离过于依赖模型的精确度,无法反映信号的时变性,从而影响音乐相似性的检测结果。
发明内容
为解决现有技术存在的上述问题,本发明设计了一种能充分挖掘音乐信号的潜在特点和特征,并能反映信号时变性的基于相似性的音乐推荐方法。
为了实现上述目的,本发明提出一种基于混合特征和高斯混合模型的音乐相似度检测方法,基本思路如下:(1)用伽马通倒谱系数(Gamma tone-FrequencyCepstrum Coefficients,GFCC)进行相似度检测,并将多种特征的加权相似度作为最终的检测结果;(2)提出一种基于帧轴的调制频谱特征,用该特征表示音乐的长时特征,并且将长时特征与短时特征的组合作为下一步建模的输入;(3)使用高斯混合模型(Gaussian mixed model,GMM)对各个音乐特征建模,首先利用动态K均值方法对模型进行初始化,接着用期望最大化(Expectation Maximization,EM)算法进行模型训练,获得准确的模型参数,最后使用对数似然比算法获得音乐之间的相似度。
为了检测音乐之间的相似性,需要获得能被计算机识别的反映音乐特点的信息,即特征提取;由于特征的维数一般较高,无法直接计算相似性,因此,需要通过机器学习方法对特征矢量进行建模;最后,通过计算模型之间的相似度,产生推荐列表。
一种基于相似性的音乐推荐方法,包括以下步骤:
A、建立数据库
建立数据库的流程包括特征提取、建立模型和将获得的GMM模型参数保存在模型数据库中,具体步骤如下:
A1、特征提取:以帧为单位提取音乐信号的伽马通倒谱系数特征、情绪特征和八音频谱对比度特征;
A11、预处理
A111、预加重
预处理模块输入为采样率44.1KHz的单声道脉冲编码调制音乐文件,文件中各个数据即是音乐波形的采样值,也是待处理的信号x(n),这里n表示采样点的序号,定义y(n)为预加重后的输出信号,则
y(n)=x(n)-μx(n-1)
其中,μ称为预加重因子,其取值范围是0<μ<1;
A112、加窗分帧
定义一帧音乐信号的长度为Nf,Nf取值范围是512≤Nf≤8192,帧间交叠的长度为N0,N0取值范围是0.25Nf≤N0≤0.75Nf,对预加重的输出y(n)加汉明窗w(n)=0.54-0.46cos[(2n+1)π/Nf]进行分帧处理,处理后的输出音频信号为sw(n),n=0、1、…、Nf-1:
sw(n)=y(n)·w(n)
A12、提取三类短时特征
A121、提取伽马通倒谱系数
伽马通滤波器是一种基于人耳耳蜗原理的滤波器。伽马通滤波器组中第i个滤波器的时域表示形式为:
gi(m)=Bnmn-1exp(-2πBm)cos(2πfim+φ)·U(m),0≤m<Nf,0≤i<Mg    (1)
式中,φ为初始相位,其取值范围是0≤φ<2π,它不影响滤波器组的滤波性能;Mg为滤波器组中的滤波器个数,fi为伽马通滤波器组中第i个滤波器的中心频率,Bn为第i个滤波器增益,n为第i个滤波器的阶数;B为衰减因子,B的大小与第i个滤波器等效带宽ERB(fi)有关,即B=1.019ERB(fi),第i个滤波器等效带宽ERB(fi)表示为:
ERB(fi)=24.7(4.37fi1000+1)
对式(1)做快速傅里叶变换,得到伽马通滤波器组中第i个滤波器的频域表达式为:
H i ( k ) = | &Sigma; m = 0 N - 1 g i ( m ) e ( - j 2 &pi;km / N f ) | , 0 &le; k < N f , 0 &le; i < M g - - - ( 2 )
将伽马通滤波器与倒谱系数相结合,得到伽马通倒谱系数。其提取过程为:加窗分帧的音频信号,经快速傅里叶变换后输入至伽马通滤波器组滤波,伽马通滤波器组滤波的输出经对数压缩及离散余弦变换的结果即为所求的伽马通倒谱系数。伽马通倒谱系数的具体提取步骤如下:
A1211、对预处理后的信号sw(n)进行快速傅里叶变换(FFT),将时域的音乐信号转换到频域,并计算其能量|Sw(k)|2
| S w ( k ) | 2 = | &Sigma; n = 0 N - 1 s w ( n ) e - j 2 &pi;kn / N f | 2 , 0 &le; k < N f - - - ( 3 )
A1212、将式(3)计算出的音乐信号能量通过伽马通滤波器组中第i个滤波器,i=0、1、…、Mg-1,并对滤波器的输出进行对数压缩,得到:
m i = ln [ &Sigma; k = 0 N - 1 | S w 2 ( k ) | H i ( k ) ] , 0 &le; i < M g , 0 &le; k < N f - - - ( 4 )
A1213、将式(4)表示的对数压缩结果进行离散余弦变换,得到伽马通倒谱系数为:
GFCC ( i ) = 2 N &Sigma; g = 0 M gf - 1 m g cos [ &pi;i ( g + 0.5 ) / M g ] , i = 0,1 , &CenterDot; &CenterDot; &CenterDot; , L - 1
式中,L为伽马通倒谱系数的个数,0<L<Mg;第t帧的伽马通倒谱系数矢量为
x t GFCC = [ GFCC t ( 0 ) , GFCC t ( 1 ) , &CenterDot; &CenterDot; &CenterDot; , GFCC t ( L - 1 ) ] T
A122、提取情绪特征矢量
音乐中情绪特征包括:时域均值TA、频域均值FA、时域方差TV、频域方差FV、频域最大值FM、时域重心TC、频域重心FC、时域带宽TB、时域滚动TR、频域滚动FR、时域流量TF和频域流量FF;定义xt(n)表示第t帧音乐信号的离散采样值,n=0、1、…、Nf-1;表示xt(n)经过快速傅里叶变换后的频域幅值,k=0,1,…,Nf-1,Xt(k);则时域与频域的各个特征参数的计算公式如下:
A1221、计算时域、频域均值
TA t = 1 N f &Sigma; j = 0 N f - 1 x t ( j )
FA t = 1 N f &Sigma; j = 0 N f - 1 X t ( j )
式中,TAt为第t帧音乐信号的时域均值,FAt为第t帧音乐信号的频域均值;
A1222、计算时域、频域方差
TV t = &Sigma; j = 0 N f - 1 ( x t ( j ) - TA t ) 2
FV t = &Sigma; N f - 1 ( X t ( j ) - FA t ) 2
式中,TVt为第t帧音乐信号的时域方差,FVt为第t帧音乐信号的频域方差;
A1223、计算频域最大值
FMt=max{Xt(j)},0≤j<Nf
式中,FMt为第t帧音乐信号的频域最大值;
A1224、计算时域、频域重心
T C t = &Sigma; j = 0 N f - 1 j &CenterDot; x t ( j ) &Sigma; j = 0 N f - 1 x t ( j )
FC t = &Sigma; j = 0 N f - 1 j &CenterDot; X t ( j ) &Sigma; j = 0 N f - 1 X t ( j )
式中,TCt为第t帧音乐信号的时域重心,FCt为第t帧音乐信号的频域重心;
A1225、计算时域带宽
TB t = &Sigma; j = 0 N f - 1 [ | x t ( j ) | 2 &times; ( j - TC t ) ] &Sigma; j = 0 N f - 1 | x t ( j ) | 2
式中,TBt为第t帧音乐信号的时域带宽。
A1226、计算时域、频域滚动
&Sigma; j = 0 TR t | x t ( j ) | 2 = 0.85 &times; &Sigma; j = 0 N f - 1 | x t ( j ) | 2
&Sigma; j = 0 FR t | X t ( j ) | 2 = 0.85 &times; &Sigma; j = 0 N f - 1 | X t ( j ) | 2
式中,TRt为第t帧音乐信号的时域滚动,FRt为第t帧音乐信号的频域滚动;
A1227、计算时域、频域流量
TF t = &Sigma; j = 0 N f - 1 [ | x t ( j ) | - x t - 1 ( j ) ] 2
FF t = &Sigma; j = 0 N f - 1 [ | X t ( j ) | - X t - 1 ( j ) ] 2
式中,TFt为第t帧音乐信号的时域流量,FFt为第t帧音乐信号的频域流量。
影响情绪模型的时域特征有6种,包括时域方差、时域重心、时域均值、时域带宽、时域滚动和时域流量;频域特征6种,包括频域均值、频域方差、频域重心、频域滚动、频域最大值和频域流量;因此最后获得的情绪特征矢量表示为:
x t MODD = [ TV t , TC t , TA t , TB t , TR t , TF t , FA t , FV t , FC t , FR t , FM t , FF t ] T
= [ MOOD t ( 0 ) , MOOD t ( 1 ) , &CenterDot; &CenterDot; &CenterDot; , MOOD t ( M - 1 ) ] T
式中,M为情绪模型特征矢量维数,其取值范围是3<M<17;
A123、提取八音频谱对比度矢量
帧长为Nf的音乐信号经过快速Fourier变换后,其频域值为
Figure BDA0000372775110000068
Figure BDA0000372775110000069
将变换后的结果按频率划分子带,将第b个子频带的向量记为
Figure BDA00003727751100000611
这里Nb表示该子频带内的点的个数;对于采样率为44.1KHz的音乐信号,每个带通滤波器的频率范围如表1所示:
表1八音频谱滤波器带宽
滤波器编号 物理频率域内带宽范围(Hz) 离散频域内带宽范围(k)
1 [0,200) [0,9)
2 [200,400) [9,19)
3 [400,800) [19,37)
4 [800,1600) [37,74)
5 [1600,3200) [74,149)
6 [3200,6400) [149,297)
7 [6400,12800) [297,594)
8 [12800,22050) [594,1024)
表1中第二列是物理频率域的子频带划分,第三列是离散频域内的子频带划分;将这些点按照降序重新排列,得到{P′b,1,P′b,2,…,P′b,Nb},式中,P′b,1≥P′b,2≥…≥P′b,Nb,则该子频带的频谱峰值和谷值为:
Peak ( b ) = 10 &CenterDot; log 10 ( 1 &alpha;N b &Sigma; i = 1 &alpha;N b P b , i &prime; )
Valley ( b ) = 10 &CenterDot; log 10 ( 1 &alpha;N b &Sigma; i = 1 &alpha;N b P b , N b - i + 1 &prime; )
式中,系数α取值范围在0.02~0.2之间;每个子频带内的频谱峰值与谷值之差,称为频谱对比度SC(b)
SC(b)=Peak(b)-Vallay(b)
因此,一帧音乐信号的八音频谱对比度矢量能用各个子频带频谱对比度和子频带频谱谷值来表示,
XOSC=[Vallay(0),…,Valley(B-1),SC(0),…,SC(B-1)]
式中,B表示子频带的个数,其取值范围是3<M<33,第t帧的特征矢量为:
x t OSC = [ OSC t ( 0 ) , OSC t ( 1 ) , &CenterDot; &CenterDot; &CenterDot; , OSC t ( 2 B - 1 ) ] T
= [ Vallay t ( 0 ) , &CenterDot; &CenterDot; &CenterDot; , Valley t ( B - 1 ) , SC t ( 0 ) , &CenterDot; &CenterDot; &CenterDot; , SC t ( B - 1 ) ]
A13、计算长时频谱对比度、长时频谱谷值、长时频谱能量、长时频谱中心和长时频谱平坦度
以帧为单位提取的特征矢量有伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量,对特征矢量沿帧轴进行离散Fourier变换,得到信号的长时特征;
定义xp表示伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量中任意一个特征矢量,xp=[xp(0),xp(1),…,xp(D-1)]T表示第p帧提取的特征矢量,D为对应特征矢量的长度。对其沿帧轴进行长度为W的离散傅里叶变换,W取值范围256≤W≤1024,相邻窗之间重叠50%,得到长时频谱Mt(m,d),m是频域内的索引号,0≤m<W;
M t ( m , d ) = &Sigma; p = 0 W - 1 x ( t &times; W / 2 ) + p ( d ) e - j 2 &pi; p W m , 0 &le; m < W , 0 &le; d < D
将长时频谱Mt(m,d),0≤m<W,划分为J个调制子频带,J的取值范围6≤J≤32,根据离散傅里叶变换的对称性,W取512时,只需对前256个进行划分即可,因此得到长时频谱子频带范围依次为[0,3)、[3,6)、[6,12)、[12,24)、[24,48)、[48,96)、[48,96)和[192,256);
在各个子频带内获取长时频谱对比度、长时频谱谷值、长时频谱能量、长时频谱中心和长时频谱平坦度,具体计算如下;
A131、计算长时频谱对比度
长时频谱峰值(MSP)、谷值(MSV)做差即得到长时频谱对比度;
MSP ( j , d ) = max &phi; j , l &le; m &le; &phi; j , h [ M ( m , d ) ]
MSV ( j , d ) = min &phi; j , l &le; m &le; &phi; j , h [ M ( m , d ) ]
MSC(j,d)=MSP(j,d)-MSV(j,d)
式中,φj,l与φj,h对应第j个子频带的低频索引号与高频索引号,与表2对应,式中0≤j<J;
表2调制子频带范围
调制子频带号 频谱索引范围
1 [0,3)
2 [3,6)
3 [6,12)
4 [12,24)
5 [24,48)
6 [48,96)
7 [96,192)
8 [192,256)
A132、长时频谱能量
长时频谱能量反映了长时频谱频带内的能量分布情况,其计算公式为:
MSE ( j , d ) = 10 &CenterDot; log 10 { ( 1 + &Sigma; m = &phi; j , l &phi; j , h [ M ( m , d ) ] 2 }
A133、长时频谱中心
长时频谱中心,反映了每个长时频谱子频带的分布情况;
MSCEN ( j , d ) = &Sigma; m = &phi; j , l &phi; j , h M ( m , d ) &times; m &Sigma; m = &phi; j , l &phi; j , h M ( m , d )
A134、长时频谱平坦度
长时频谱平坦度反映了长时频谱各频带的频谱分布情况,长时频谱平坦度的值较大,说明长时频谱分布较为均匀,反之,说明长时频谱集中分布于某几个频带内;长时频谱的几何均值与代数均值的商定义为
MSF ( j , d ) = &phi; j , h - &phi; j , l + 1 &Pi; m = &phi; j , l &phi; j , h M ( m , d ) 1 &phi; j , h - &phi; j , l + 1 &Sigma; m = &phi; j , l &phi; j , h M ( m , d )
A2、建立模型
用高斯混合模型对调制的伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量分别进行建模,并使用K均值聚类算法对模型参数进行粗略估计,然后用期望最大化估计算法获得精确的模型参数;最后,将获得的模型参数保存在模型数据库中;
A21、估计高斯混合模型参数
高斯混合模型的数目直接影响建模效果,采取动态K均值的方式调整K均值聚类的个数,进而调整混合模型个数;具体做法是:设置某一阈值,判断聚类的半径是否小于该阈值,若不成立,则增加聚类数目,直到聚类半径小于该阈值为止;具体步骤如下:
A211、动态K均值初始化高斯混合模型
歌曲的总帧数为Nframes,某种特征矢量的维数为D,则每帧的D维特征矢量表示为cj=[cj,1,cj,2,…,cj,D],j=0,1,…,Nframes-1;高斯混合模型定义为M个单高斯概率密度函数的加权和,其表达式为:
p ( c j ) = &Sigma; i = 1 M &pi; i N i ( c j ; &mu; j , &Sigma; j )
式中,i是高斯概率密度函数索引号,πi是相应的权值,满足
Figure BDA0000372775110000102
Ni(cjjj)为相应的高斯概率密度函数的表达式,其均值为μj=[μj,1j,2,…,μj,N],方差Σj是一个N×N的矩阵,Ni(cjjj)的表达式为:
N i ( c j ; &mu; j , &Sigma; j ) = 1 ( 2 &pi; ) d 2 | &Sigma; j | 1 2 exp [ - 1 2 ( c j - &mu; j ) T &Sigma; j - 1 ( c j - &mu; j ) ]
则单个高斯概率密度函数的模型Θj为:
Θj={πjjj},j=1,2,…,M
高斯混合模型就表示为:
Θ={Θ12,…,ΘM}
利用一首歌曲的特征向量获得高斯混合模型时,高斯混合模型的个数直接影响建模参数的准确度,进而影响歌曲间的相似度度量结果;采取动态K均值方法先确定聚类的个数,进而确定高斯混合模型的个数;
在聚类时,首先聚类数目初始化为1,所有的特征矢量被聚成一类,聚类半径大于阈值半径;增大聚类数目为2,此时有一个类内的半径大于阈值半径;继续增大聚类数目为3,此时各个聚类的半径均小于阈值半径,则确定3为最终的聚类个数;
聚类半径定义为聚类内的特征到聚类中心的最大距离,即
R max = max c j &Element; Z i ( | c j - &mu; i | ) - - - ( 44 )
式中,i=1,2,…,K表示聚类后的索引号,Zi是相应的类,Np,i是类Zi内的特征数目,cj是属于类Zi中的特征矢量,μi是Zi类的均值矢量,表示为:
&mu; i = 1 N i &Sigma; c j &Element; Z i c j - - - ( 45 )
应用动态K均值方法确定聚类数目后,需要计算各个聚类的均值、方差和权值来初始化高斯混合模型;均值由式(49)求得;权值用聚类内的特征向量个数除以特征矢量总数来计算,其表达式为:
&pi; i = N p , i N frames - - - ( 46 )
为了获得各个聚类的方差,为每个聚类构建Np,i×N的矩阵,即:
Ci=[c1 c2 … cp,i]T    (47)
式中,
Figure BDA0000372775110000114
是矩阵的第k列,是特征矢量的第k维,则方差矩阵的第m行n列元素的求法为:
&Sigma; i ( m , n ) = cov ( C i ( : , m ) , C i ( : , n ) )
                            (48)
= E [ ( C i ( : , m ) - M m ) ( ( C i ( : , n ) - M n ) ]
式中,m,n=1,2,…,N,Mk是每个元素均为mk的向量,式中mk是聚类Zi中第k维特征的均值,表示为:
m k = 1 N p , i &Sigma; j = 1 N p , i C i ( j , k ) - - - ( 49 )
A22、精确估计高斯混合模型参数
高斯混合模型参数估计就是依据某种参数估计准则确定模型参数的过程,用极大似然准则进行估计;一首歌曲的特征矩阵表示为这里Nframes表示帧的总数目,
Figure BDA0000372775110000122
是每帧的特征矢量,假设它们彼此独立,则高斯混合模型的似然函数定义为,在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性:
L ( &Theta; / C ) = p ( C / &Theta; ) = &Pi; i = 1 N frames p ( c i / &Theta; ) - - - ( 50 )
将似然函数L(Θ/C)看成Θ的非线性函数,参数估计的目的是要找到使似然函数L(Θ/C)最大的模型Θ,即:
&Theta; * = arg max &Theta; p ( C / &Theta; ) - - - ( 51 )
对式(51)取对数,获得对数似然函数
J ( &Theta; ) = log L ( &Theta; / C ) = log &Pi; i = 1 N frames p ( c i / &Theta; ) - - - ( 52 )
实际中常用期望最大化算法来估计模型参数,于是得到模型权值为:
&pi; k = 1 N frames &Sigma; i = 1 N frames p ( k | c i , &Theta; old ) - - - ( 53 )
均值为:
&mu; k = &Sigma; i = 1 N frames c i p ( k | c i , &Theta; old ) &Sigma; i = 1 N frames p ( k | c i , &Theta; old ) - - - ( 54 )
方差矩阵为:
&Sigma; k = &Sigma; i = 1 N frames p ( k | c i , &Theta; old ) ( c i - &mu; k ) ( c i - &mu; k ) T &Sigma; i = 1 N frames p ( k | c , &Theta; old ) - - - ( 55 )
式中,p(k|ciold)称为后验概率;根据贝叶斯准则,该后验概率为:
p ( k | c i , &Theta; old ) = p ( k , c i | &Theta; old ) p ( c i | &Theta; old ) = &pi; k old N ( c i ; &mu; k old , &Sigma; k old ) &Sigma; l = 1 M &pi; l old N ( c i ; &mu; l old , &Sigma; l old ) - - - ( 56 )
期望最大化估计的步骤为:
A221、根据式(41)和(56)得到后验概率;
A222、根据式(53)~(55)计算新的模型参数,以此更新上次的模型参数,当新旧模型参数几乎一致时,迭代停止,否则返回(a)步骤继续迭代计算;
B、生成推荐列表
生成推荐列表的流程包括提取输入歌曲的特征矢量、分别计算该歌曲与数据库中歌曲的加权相似度和对获得的相似度按降序排列产生推荐列表,具体步骤如下:
B1、提取音乐信号的特征矢量,提取步骤与步骤A1所述的步骤完全一致,只是输入音乐信号不同,生成推荐列表的输入音乐信号为用户所试听的一支曲目,经步骤A1处理的输出即为产生类似该曲目风格的音乐,而步骤A1中的输入音乐信号由建立数据库的许多音乐信号组成;
B2、分别计算该歌曲与数据库中歌曲的加权相似度
得到特征矢量的统计模型后,通过模型之间的相似度来判定歌曲的相似度;若M1维的高斯混合模型模型A为:
&Theta; A = { ( &mu; 1 , A , &Sigma; 1 , A , &pi; 1 , A ) , &CenterDot; &CenterDot; &CenterDot; , ( &mu; M , A , &Sigma; M , A , &pi; M 1 , A ) } - - - ( 57 )
对应的特征矩阵为:
C A = [ c 1 , A , c 2 , A , &CenterDot; &CenterDot; &CenterDot; , c N Aframes , A ] T - - - ( 58 )
式中,NAframes为模型A特征矢量的个数;
另一M2维的高斯混合模型模型B为:
&Theta; B = { ( &mu; 1 , B , &Sigma; 1 , B , &pi; 1 , B ) , &CenterDot; &CenterDot; &CenterDot; , ( &mu; M , B , &Sigma; M , B , &pi; M 2 , B ) } - - - ( 59 )
对应的特征矢量为:
C B = [ c 1 , B , c 2 , B , &CenterDot; &CenterDot; &CenterDot; , c N Bframes , B ] T - - - ( 60 )
式中,NBframes为模型B特征矢量的个数;
相似性的计算公式由下式获得:
r(A,B)=logL(ΘA/CA)+logL(ΘB/CB)-logL(ΘA/CB)-logL(ΘB/CA)    (61)
式(61)的最大值为:
rmax(A,B)=logL(ΘA/CA)+logL(ΘB/CB)    (62)
则模型A与模型B的相似度定义为:
sim ( A , B ) = r max ( A , B ) - r ( A , B ) r max ( A , B ) = log L ( &Theta; A / C B ) + log L ( &Theta; B / C A ) log L ( &Theta; A / C A ) + log L ( &Theta; B / C B ) - - - ( 63 )
为了计算歌曲m与歌曲n的相似度,利用式(63)分别计算上述三类特征的相似度,即sim_gfcc(m,n)、sim_osc(m,n)和sim_mood(m,n),则两首歌曲的总相似度表示为:
sim(m,n)=wgfcc·sim_gfcc(m,n)+wosc·sim_osc(m,n)+wmood·sim_mood(m,n)    (64)
式中,wgfcc、wosc与wmood为三类特征相似度的加权值,取值范围是0<wgfcc<1、0<wmood<1、0<wosc<1,且wgfcc+wmood+wosc=1;
B3、对获得的相似度降序排列,产生推荐列表。
本发明所述的预加重因子μ的最佳值为0.97;所述的一帧音乐信号的长度Nf的最佳值为2048;所述的帧间交叠的长度的最佳值为N0=0.5Nf=1024;所述的初始相位φ最佳值为0;所述的伽马通倒谱系数的个数最佳值为L=26;所述的情绪模型特征矢量维数最佳值为M=12;所述的子频带的个数B的最佳值为8;所述的W最佳值为512帧;所述的三类特征相似度的加权值的最佳值分别为wgfcc=0.6、wmood=0.2和wosc=0.2;所述的系数α的最佳值为0.2。
与现有技术相比,本发明具有以下有益效果:
1、本发明用Gamma tone倒谱系数代替传统的梅尔倒谱系数,进行音色特征的提取,对音乐特征的获取更为充分和深入,提高了音乐推荐的准确程度。
2、本发明通过时间轴的调制技术,可降低特征矢量维数,降低音乐数据库信息存储量;长时特征与短时特征结合,充分获取了音乐的静态与动态特征,较多地保留了音乐信号特征,提高了音乐推荐的准确程度。
3、本发明使用EMD距离计算相似度,与音乐信号的动态特征无关,保证了推荐结果的稳定性。客观测试结果显示,本发明的推荐准确度在86%以上。主观测试结果表明,本发明与人的主观感知近似。与其他算法相比,本发明算法的推荐效果好于现有算法。
附图说明
本发明共有附图6张,其中:
图1是音乐模型数据库建立流程图。
图2是音乐推荐列表生成流程图。
图3是伽马通倒谱系数提取过程。
图4是动态K均值聚类数目为1的示意图。
图5是动态K均值聚类数目为2的示意图。
图6是动态K均值聚类数目为3的示意图。
具体实施方式
下面结合附图对本发明进行进一步地描述。图1所示为本发明步骤A的流程图,图2所示为本发明步骤B的流程图,图3所示为本发明步骤A121的流程图,图4-6所示为本发明步骤A211的动态K均值方法的聚类过程示意图。
为验证本发明技术的有效性,按照图1-6所示的流程图,进行了如下的客观测试,具体步骤如下:
1、建立数据库
建立5个测试数据库,每个曲库中含有200首歌曲,每首歌曲为44.1kHz的PCM文件;其中每个曲库中曲目组成如下:(1)20首歌曲作为测试曲目,此处称为“种子歌曲”,它们来自同一歌手;(2)80首歌曲与“种子歌曲”属于同一种风格;(3)100首歌曲与“种子歌曲”既不是同一歌手,也不是同一风格;
每个测试数据库的“种子歌曲”风格不同,以验证方法的推荐性能;从曲库的组成可以看出,对于任意一个种子歌曲,在曲库内,有另外百分之十的曲目跟它很相似(同一歌手),百分之四十的曲目为基本相似(同种风格),百分之五十的曲目不相似(不同歌手、不同风格);
2、确定评价指标
(1)客观评价标准
为了衡量推荐结果的好坏,进而评价本发明方法的优劣,使用推荐准确度作为客观评价指标;对于任意一个“种子歌曲”,将推荐列表中同一歌手和同一风格歌曲数目所占的比例定义为客观推荐准确度,即:
由此可知,对于该曲库的整体推荐精确度,为多次更换“种子歌曲”后推荐准确度的均值,即:
Figure BDA0000372775110000162
其中,推荐列表歌曲数目一般设置为5或10,当列表数目过大时,会导致列表中排序靠后的曲目与“种子歌曲”的相似度较低,影响推荐指标的评价;对于某一次产生10列表的推荐中,如果推荐列表中有5首歌曲来自同一歌手、2首歌曲来自同一风格、3首歌曲既不是同一歌手也不是同一风格,则根据上述定义,此时的客观推荐准确度为70%;
歌曲的相似与否是人耳的一种主观感受,为了衡量本发明方法的相似度与人耳真实感受的差距,引入主观评价指标;为了获得人的主观相似度,针对曲库中的“种子歌曲”,评价另外199首歌曲与该歌曲的相似程度,并且进行评分,评分标准如表3所示;
表3主观相似度评分标准
分数 含义 描述
4 很相似 如果一个人喜欢其中的一首歌曲,则一定会喜欢另一首歌
3 相似 如果一个人喜欢其中的一首歌曲,很可能也喜欢另一首歌
2 不相似 一个人是否喜欢其中的一首歌曲,不影响其喜欢另一首歌
1 完全不同 一个人不可能在同一时间,同时喜欢这两首歌
表3给出了几种主观感受对应的打分值,打分的范围限制在0~5分之间,分数不限整数,可给予该范围内的小数分值,如2.6等;若听众无法确定分数时,此处分值随机生成;评分时,听众完全看不到音乐的任何信息(音乐名字、风格等),分数完全凭借自己的主观感受给出;这样,对于每一个种子歌曲,可以获得一个1×200的主观评分矩阵;
歌曲的相似性不仅是一种主观的听觉感受,还因人而异,因此,引入相似系数来度量不同人之间打分矩阵的相近程度;若两个不同人的打分矩阵分别为X与Y,则二者的相似系数为:
&rho; XY = cov ( X , Y ) &sigma; X &sigma; Y - - - ( 67 )
其中,cov(X,Y)是二者的协方差,σX与σY是打分矩阵的方差;研究表明,不同歌曲之间的相似度矩阵的相关系数上限为0.613,Cohen对于相关系数的解释见表4;因此,可以通过计算相似度矩阵与人主观相似度矩阵的相关系数的方法,来评价本发明技术的性能;
表4相关系数含义解释
相关性 负相关 正相关
[-0.29,-0.10] [0.10,0.29]
[-0.49,-0.30] [0.30,0.49]
[-1.00,-0.50] [0.50,1.00]
2.3.3测试结果
表5给出了本发明与已有的几种推荐系统的结果比较;从表5可以看出,本发明的推荐精度高于其他已有算法;这是因为本发明在特征提取处,充分融合了多种特征;在建模时,动态初始化模型参数,使得模型更加精准;在最后的相似性计算中,结合对数似然原理,获得更加接近人耳的相似性结果;
表5本发明方法与已有其它方法的性能比较
方法 准确度 相似度系数
动态K均值方法 80%
Magno方法 0.547
SSPK2方法 77.05%
本发明方法 86% 0.59
表5中,动态K均值方法来自于D.M.Kim,K.S.Kim,K.H.Park.著《Amusicrecommendation system with a dynamic k-means clustering algorithm[C].International Conference on Machine Learning and Applications》Cincinnati,OH,USA,2007:399-403。Magno方法来自于T.L.Magno.著《Signal-based timbresimilarity measures for automatic music recommendation[D].USA:The CooperUnion for the Advancement of Science and Art》2007。SSPK2方法来自于陈捷,许洁萍,刘璇著《基于内容的音乐相似计算研究》,第七届和谐人机环境联合学术会议论文集[C],北京,2011。

Claims (2)

1.一种基于相似性的音乐推荐方法,其特征在于:包括以下步骤:
A、建立数据库
建立数据库的流程包括特征提取、建立模型和将获得的GMM模型参数保存在模型数据库中,具体步骤如下:
A1、特征提取:以帧为单位提取音乐信号的伽马通倒谱系数特征、情绪特征和八音频谱对比度特征;
A11、预处理
A111、预加重
预处理模块输入为采样率44.1KHz的单声道脉冲编码调制音乐文件,文件中各个数据即是音乐波形的采样值,也是待处理的信号x(n),这里n表示采样点的序号,定义y(n)为预加重后的输出信号,则
y(n)=x(n)-μx(n-1)
其中,μ称为预加重因子,其取值范围是0<μ<1;
A112、加窗分帧
定义一帧音乐信号的长度为Nf,Nf取值范围是512≤Nf≤8192,帧间交叠的长度为N0,N0取值范围是0.25Nf≤N0≤0.75Nf,对预加重的输出y(n)加汉明窗w(n)=0.54-0.46cos[(2n+1)π/Nf]进行分帧处理,处理后的输出音频信号为sw(n),n=0、1、…、Nf-1:
sw(n)=y(n)·w(n)
A12、提取三类短时特征
A121、提取伽马通倒谱系数
伽马通滤波器是一种基于人耳耳蜗原理的滤波器;伽马通滤波器组中第i个滤波器的时域表示形式为:
gi(m)=Bnmn-1exp(-2πBm)cos(2πfim+φ)·U(m),0≤m<Nf,0≤i<Mg    (1)
式中,φ为初始相位,其取值范围是0≤φ<2π,它不影响滤波器组的滤波性能;Mg为滤波器组中的滤波器个数,fi为伽马通滤波器组中第i个滤波器的中心频率,Bn为第i个滤波器增益,n为第i个滤波器的阶数;B为衰减因子,B的大小与第i个滤波器等效带宽ERB(fi)有关,即B=1.019ERB(fi),第i个滤波器等效带宽ERB(fi)表示为:
ERB(fi)=24.7(4.37fi/1000+1)
对式(1)做快速傅里叶变换,得到伽马通滤波器组中第i个滤波器的频域表达式为:
H i ( k ) = | &Sigma; m = 0 N - 1 g i ( m ) e ( - j 2 &pi;km / N f ) | , 0 &le; k < N f , 0 &le; i < M g - - - ( 2 )
将伽马通滤波器与倒谱系数相结合,得到伽马通倒谱系数;其提取过程为:加窗分帧的音频信号,经快速傅里叶变换后输入至伽马通滤波器组滤波,伽马通滤波器组滤波的输出经对数压缩及离散余弦变换的结果即为所求的伽马通倒谱系数;伽马通倒谱系数的具体提取步骤如下:
A1211、对预处理后的信号sw(n)进行快速傅里叶变换(FFT),将时域的音乐信号转换到频域,并计算其能量|Sw(k)|2
| S w ( k ) | 2 = | &Sigma; n = 0 N - 1 s w ( n ) e - j 2 &pi;kn / N f | 2 , 0 &le; k < N f - - - ( 3 )
A1212、将式(3)计算出的音乐信号能量通过伽马通滤波器组中第i个滤波器,i=0、1、…、Mg-1,并对滤波器的输出进行对数压缩,得到:
m i = ln [ &Sigma; k = 0 N - 1 | S w 2 ( k ) | H i ( k ) ] , 0 &le; i < M g , 0 &le; k < N f - - - ( 4 )
A1213、将式(4)表示的对数压缩结果进行离散余弦变换,得到伽马通倒谱系数为:
GFCC ( i ) = 2 N &Sigma; g = 0 M gf - 1 m g cos [ &pi;i ( g + 0.5 ) / M g ] , i = 0,1 , &CenterDot; &CenterDot; &CenterDot; , L - 1
式中,L为伽马通倒谱系数的个数,0<L<Mg;第t帧的伽马通倒谱系数矢量为
x t GFCC = [ GFCC t ( 0 ) , GFCC t ( 1 ) , &CenterDot; &CenterDot; &CenterDot; , GFCC t ( L - 1 ) ] T
A122、提取情绪特征矢量
音乐中情绪特征包括:时域均值TA、频域均值FA、时域方差TV、频域方差FV、频域最大值FM、时域重心TC、频域重心FC、时域带宽TB、时域滚动TR、频域滚动FR、时域流量TF和频域流量FF;定义xt(n)表示第t帧音乐信号的离散采样值,n=0、1、…、Nf-1;表示xt(n)经过快速傅里叶变换后的频域幅值,k=0,1,…,Nf-1,Xt(k);则时域与频域的各个特征参数的计算公式如下:
A1221、计算时域、频域均值
TA t = 1 N f &Sigma; j = 0 N f - 1 x t ( j )
FA t = 1 N f &Sigma; j = 0 N f - 1 X t ( j )
式中,TAt为第t帧音乐信号的时域均值,FAt为第t帧音乐信号的频域均值;
A1222、计算时域、频域方差
TV t = &Sigma; j = 0 N f - 1 ( x t ( j ) - TA t ) 2
FV t = &Sigma; N f - 1 ( X t ( j ) - FA t ) 2
式中,TVt为第t帧音乐信号的时域方差,FVt为第t帧音乐信号的频域方差;
A1223、计算频域最大值
FMt=max{Xt(j)},0≤j<Nf
式中,FMt为第t帧音乐信号的频域最大值;
A1224、计算时域、频域重心
TC t = &Sigma; j = 0 N f - 1 x t ( j ) &times; j &Sigma; j = 0 N f - 1 x t ( j )
FC t = &Sigma; j = 0 N f - 1 j &CenterDot; X t ( j ) &Sigma; j = 0 N f - 1 X t ( j )
式中,TCt为第t帧音乐信号的时域重心,FCt为第t帧音乐信号的频域重心;
A1225、计算时域带宽
TB t = &Sigma; j = 0 N f - 1 [ | x t ( j ) | 2 &times; ( j - TC t ) ] &Sigma; j = 0 N f - 1 | x t ( j ) | 2
式中,TBt为第t帧音乐信号的时域带宽;
A1226、计算时域、频域滚动
&Sigma; j = 0 TR t | x t ( j ) | 2 = 0.85 &times; &Sigma; j = 0 N f - 1 | x t ( j ) | 2
&Sigma; j = 0 FR t | X t ( j ) | 2 = 0.85 &times; &Sigma; j = 0 N f - 1 | X t ( j ) | 2
式中,TRt为第t帧音乐信号的时域滚动,FRt为第t帧音乐信号的频域滚动;
A1227、计算时域、频域流量
TF t = &Sigma; j = 0 N f - 1 [ | x t ( j ) | - x t - 1 ( j ) ] 2
FF t = &Sigma; j = 0 N f - 1 [ | X t ( j ) | - X t - 1 ( j ) ] 2
式中,TFt为第t帧音乐信号的时域流量、FFt为第t帧音乐信号的频域流量;
影响情绪模型的时域特征有6种,包括时域方差、时域重心、时域均值、时域带宽、时域滚动和时域流量;频域特征6种,包括频域均值、频域方差、频域重心、频域滚动、频域最大值和频域流量;因此最后获得的情绪特征矢量表示为:
x t MODD = [ TV t , TC t , TA t , TB t , TR t , TF t , FA t , FV t , FC t , FR t , FM t , FF t ] T
= [ MOOD t ( 0 ) , MOOD t ( 1 ) , &CenterDot; &CenterDot; &CenterDot; , MOOD t ( M - 1 ) ] T
式中,M为情绪模型特征矢量维数,其取值范围是3<M<17;
A123、提取八音频谱对比度矢量
帧长为Nf的音乐信号经过快速Fourier变换后,其频域值为
Figure FDA0000372775100000048
Figure FDA0000372775100000049
将变换后的结果按频率划分子带,将第b个子频带的向量记为
Figure FDA00003727751000000410
Figure FDA00003727751000000411
这里Nb表示该子频带内的点的个数;对于采样率为44.1KHz的音乐信号,每个带通滤波器的频率范围如表1所示:
表1八音频谱滤波器带宽
滤波器编号 物理频率域内带宽范围(Hz) 离散频域内带宽范围(k) 1 [0,200) [0,9) 2 [200,400) [9,19) 3 [400,800) [19,37) 4 [800,1600) [37,74) 5 [1600,3200) [74,149) 6 [3200,6400) [149,297) 7 [6400,12800) [297,594) 8 [12800,22050) [594,1024)
表1中第二列是物理频率域的子频带划分,第三列是离散频域内的子频带划分;将这些点按照降序重新排列,得到{P′b,1,P′b,2,…,P′b,Nb},式中,P′b,1≥P′b,2≥…≥P′b,Nb,则该子频带的频谱峰值和谷值为:
Peak ( b ) = 10 &CenterDot; log 10 ( 1 &alpha;N b &Sigma; i = 1 &alpha;N b P b , i &prime; )
Valley ( b ) = 10 &CenterDot; log 10 ( 1 &alpha;N b &Sigma; i = 1 &alpha;N b P b , N b - i + 1 &prime; )
式中,系数α取值范围在0.02~0.2之间;每个子频带内的频谱峰值与谷值之差,称为频谱对比度SC(b)
SC(b)=Peak(b)-Vallay(b)
因此,一帧音乐信号的八音频谱对比度矢量能用各个子频带频谱对比度和子频带频谱谷值来表示,
XOSC=[Vallay(0),…,Valley(B-1),SC(0),…,SC(B-1)]
式中,B表示子频带的个数,其取值范围是3<M<33,第t帧的特征矢量为:
x t OSC = [ OSC t ( 0 ) , OSC t ( 1 ) , &CenterDot; &CenterDot; &CenterDot; , OSC t ( 2 B - 1 ) ] T
= [ Vallay t ( 0 ) , &CenterDot; &CenterDot; &CenterDot; , Valley t ( B - 1 ) , SC t ( 0 ) , &CenterDot; &CenterDot; &CenterDot; , SC t ( B - 1 ) ]
A13、计算长时频谱对比度、长时频谱谷值、长时频谱能量、长时频谱中心和长时频谱平坦度
以帧为单位提取的特征矢量有伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量,对特征矢量沿帧轴进行离散Fourier变换,得到信号的长时特征;
定义xp表示伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量中任意一个特征矢量,xp=[xp(0),xp(1),…,xp(D-1)]T表示第p帧提取的特征矢量,D为对应特征矢量的长度;对其沿帧轴进行长度为W的离散傅里叶变换,W取值范围256≤W≤1024,相邻窗之间重叠50%,得到长时频谱Mt(m,d),m是频域内的索引号,0≤m<W;
M t ( m , d ) = &Sigma; p = 0 W - 1 x ( t &times; W / 2 ) + p ( d ) e - j 2 &pi; p W m , 0 &le; m < W , 0 &le; d < D
将长时频谱Mt(m,d),0≤m<W,划分为J个调制子频带,J的取值范围6≤J≤32,根据离散傅里叶变换的对称性,W取512时,只需对前256个进行划分即可,因此得到长时频谱子频带范围依次为[0,3)、[3,6)、[6,12)、[12,24)、[24,48)、[48,96)、[48,96)和[192,256);
在各个子频带内获取长时频谱对比度、长时频谱谷值、长时频谱能量、长时频谱中心和长时频谱平坦度,具体计算如下;
A131、计算长时频谱对比度
长时频谱峰值(MSP)、谷值(MSV)做差即得到长时频谱对比度;
MSP ( j , d ) = max &phi; j , l &le; m &le; &phi; j , h [ M ( m , d ) ]
MSV ( j , d ) = min &phi; j , l &le; m &le; &phi; j , h [ M ( m , d ) ]
MSC(j,d)=MSP(j,d)-MSV(j,d)
式中,φj,l与φj,h对应第j个子频带的低频索引号与高频索引号,与表2对应,式中0≤j<J;
表2调制子频带范围
调制子频带号 频谱索引范围 1 [0,3) 2 [3,6) 3 [6,12) 4 [12,24) 5 [24,48) 6 [48,96) 7 [96,192) 8 [192,256)
A132、长时频谱能量
长时频谱能量反映了长时频谱频带内的能量分布情况,其计算公式为:
MSE ( j , d ) = 10 &CenterDot; log 10 { ( 1 + &Sigma; m = &phi; j , l &phi; j , h [ M ( m , d ) ] 2 }
A133、长时频谱中心
长时频谱中心,反映了每个长时频谱子频带的分布情况;
MSCEN ( j , d ) = &Sigma; m = &phi; j , l &phi; j , h M ( m , d ) &times; m &Sigma; m = &phi; j , l &phi; j , h M ( m , d )
A134、长时频谱平坦度
长时频谱平坦度反映了长时频谱各频带的频谱分布情况,长时频谱平坦度的值较大,说明长时频谱分布较为均匀,反之,说明长时频谱集中分布于某几个频带内;长时频谱的几何均值与代数均值的商定义为
MSF ( j , d ) = &phi; j , h - &phi; j , l + 1 &Pi; m = &phi; j , l &phi; j , h M ( m , d ) 1 &phi; j , h - &phi; j , l + 1 &Sigma; m = &phi; j , l &phi; j , h M ( m , d )
A2、建立模型
用高斯混合模型对调制的伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量分别进行建模,并使用K均值聚类算法对模型参数进行粗略估计,然后用期望最大化估计算法获得精确的模型参数;最后,将获得的模型参数保存在模型数据库中;
A21、估计高斯混合模型参数
高斯混合模型的数目直接影响建模效果,采取动态K均值的方式调整K均值聚类的个数,进而调整混合模型个数;具体做法是:设置某一阈值,判断聚类的半径是否小于该阈值,若不成立,则增加聚类数目,直到聚类半径小于该阈值为止;具体步骤如下:
A211、动态K均值初始化高斯混合模型
歌曲的总帧数为Nframes,某种特征矢量的维数为D,则每帧的D维特征矢量表示为cj=[cj,1,cj,2,…,cj,D],j=0,1,…,Nframes-1;高斯混合模型定义为M个单高斯概率密度函数的加权和,其表达式为:
p ( c j ) = &Sigma; i = 1 M &pi; i N i ( c j ; &mu; j , &Sigma; j )
式中,i是高斯概率密度函数索引号,πi是相应的权值,满足Ni(cjjj)为相应的高斯概率密度函数的表达式,其均值为μj=[μj,1j,2,…,μj,N],方差Σj是一个N×N的矩阵,Ni(cjjj)的表达式为:
N i ( c j ; &mu; j , &Sigma; j ) = 1 ( 2 &pi; ) d 2 | &Sigma; j | 1 2 exp [ - 1 2 ( c j - &mu; j ) T &Sigma; j - 1 ( c j - &mu; j ) ]
则单个高斯概率密度函数的模型Θj为:
Θj={πjjj},j=1,2,…,M
高斯混合模型就表示为:
Θ={Θ12,…,ΘM}
利用一首歌曲的特征向量获得高斯混合模型时,高斯混合模型的个数直接影响建模参数的准确度,进而影响歌曲间的相似度度量结果;采取动态K均值方法先确定聚类的个数,进而确定高斯混合模型的个数;
在聚类时,首先聚类数目初始化为1,所有的特征矢量被聚成一类,聚类半径大于阈值半径;增大聚类数目为2,此时有一个类内的半径大于阈值半径;继续增大聚类数目为3,此时各个聚类的半径均小于阈值半径,则确定3为最终的聚类个数;
聚类半径定义为聚类内的特征到聚类中心的最大距离,即
R max = max c j &Element; Z i ( | c j - &mu; i | ) - - - ( 44 )
式中,i=1,2,…,K表示聚类后的索引号,Zi是相应的类,Np,i是类Zi内的特征数目,cj是属于类Zi中的特征矢量,μi是Zi类的均值矢量,表示为:
&mu; i = 1 N i &Sigma; c j &Element; Z i c j - - - ( 45 )
应用动态K均值方法确定聚类数目后,需要计算各个聚类的均值、方差和权值来初始化高斯混合模型;均值由式(49)求得;权值用聚类内的特征向量个数除以特征矢量总数来计算,其表达式为:
&pi; i = N p , i N frames - - - ( 46 )
为了获得各个聚类的方差,为每个聚类构建Np,i×N的矩阵,即:
Ci=[c1 c2 … cp,i]T    (47)
式中,
Figure FDA0000372775100000094
是矩阵的第k列,是特征矢量的第k维,则方差矩阵的第m行n列元素的求法为:
&Sigma; i ( m , n ) = cov ( C i ( : , m ) , C i ( : , n ) )
                           (48)
= E [ ( C i ( : , m ) - M m ) ( ( C i ( : , n ) - M n ) ]
式中,m,n=1,2,…,N,Mk是每个元素均为mk的向量,式中mk是聚类Zi中第k维特征的均值,表示为:
m k = 1 N p , i &Sigma; j = 1 N p , i C i ( j , k ) - - - ( 49 )
A22、精确估计高斯混合模型参数
高斯混合模型参数估计就是依据某种参数估计准则确定模型参数的过程,用极大似然准则进行估计;一首歌曲的特征矩阵表示为
Figure FDA0000372775100000104
这里Nframes表示帧的总数目,
Figure FDA0000372775100000105
是每帧的特征矢量,假设它们彼此独立,则高斯混合模型的似然函数定义为,在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性:
L ( &Theta; / C ) = p ( C / &Theta; ) = &Pi; i = 1 N frames p ( c i / &Theta; ) - - - ( 50 )
将似然函数L(Θ/C)看成Θ的非线性函数,参数估计的目的是要找到使似然函数L(Θ/C)最大的模型Θ,即:
&Theta; * = arg max &Theta; p ( C / &Theta; ) - - - ( 51 )
对式(51)取对数,获得对数似然函数
J ( &Theta; ) = log L ( &Theta; / C ) = log &Pi; i = 1 N frames p ( c i / &Theta; ) - - - ( 52 )
实际中常用期望最大化算法来估计模型参数,于是得到模型权值为:
&pi; k = 1 N frames &Sigma; i = 1 N frames p ( k | c i , &Theta; old ) - - - ( 53 )
均值为:
&mu; k = &Sigma; i = 1 N frames c i p ( k | c i , &Theta; old ) &Sigma; i = 1 N frames p ( k | c i , &Theta; old ) - - - ( 54 )
方差矩阵为:
&Sigma; k = &Sigma; i = 1 N frames p ( k | c i , &Theta; old ) ( c i - &mu; k ) ( c i - &mu; k ) T &Sigma; i = 1 N frames p ( k | c , &Theta; old ) - - - ( 55 )
式中,p(k|ciold)称为后验概率;根据贝叶斯准则,该后验概率为:
p ( k | c i , &Theta; old ) = p ( k , c i | &Theta; old ) p ( c i | &Theta; old ) = &pi; k old N ( c i ; &mu; k old , &Sigma; k old ) &Sigma; l = 1 M &pi; l old N ( c i ; &mu; l old , &Sigma; l old ) - - - ( 56 )
期望最大化估计的步骤为:
A221、根据式(41)和(56)得到后验概率;
A222、根据式(53)~(55)计算新的模型参数,以此更新上次的模型参数,当新旧模型参数几乎一致时,迭代停止,否则返回(a)步骤继续迭代计算;
B、生成推荐列表
生成推荐列表的流程包括提取输入歌曲的特征矢量、分别计算该歌曲与数据库中歌曲的加权相似度和对获得的相似度按降序排列产生推荐列表,具体步骤如下:
B1、提取音乐信号的特征矢量,提取步骤与步骤A1所述的步骤完全一致,只是输入音乐信号不同,生成推荐列表的输入音乐信号为用户所试听的一支曲目,经步骤A1处理的输出即为产生类似该曲目风格的音乐,而步骤A1中的输入音乐信号由建立数据库的许多音乐信号组成;
B2、分别计算该歌曲与数据库中歌曲的加权相似度
得到特征矢量的统计模型后,通过模型之间的相似度来判定歌曲的相似度;若M1维的高斯混合模型模型A为:
&Theta; A = { ( &mu; 1 , A , &Sigma; 1 , A , &pi; 1 , A ) , &CenterDot; &CenterDot; &CenterDot; , ( &mu; M , A , &Sigma; M , A , &pi; M 1 , A ) } - - - ( 57 )
对应的特征矩阵为:
C A = [ c 1 , A , c 2 , A , &CenterDot; &CenterDot; &CenterDot; , c N Aframes , A ] T - - - ( 58 )
式中,NAframes为模型A特征矢量的个数;
另一M2维的高斯混合模型模型B为:
&Theta; B = { ( &mu; 1 , B , &Sigma; 1 , B , &pi; 1 , B ) , &CenterDot; &CenterDot; &CenterDot; , ( &mu; M , B , &Sigma; M , B , &pi; M 2 , B ) } - - - ( 59 )
对应的特征矢量为:
C B = [ c 1 , B , c 2 , B , &CenterDot; &CenterDot; &CenterDot; , c N Bframes , B ] T - - - ( 60 )
式中,NBframes为模型B特征矢量的个数;
相似性的计算公式由下式获得:
r(A,B)=logL(ΘA/CA)+logL(ΘB/CB)-logL(ΘA/CB)-logL(ΘB/CA)    (61)
式(61)的最大值为:
rmax(A,B)=logL(ΘA/CA)+logL(ΘB/CB)    (62)
则模型A与模型B的相似度定义为:
sim ( A , B ) = r max ( A , B ) - r ( A , B ) r max ( A , B ) = log L ( &Theta; A / C B ) + log L ( &Theta; B / C A ) log L ( &Theta; A / C A ) + log L ( &Theta; B / C B ) - - - ( 63 )
为了计算歌曲m与歌曲n的相似度,利用式(63)分别计算上述三类特征的相似度,即sim_gfcc(m,n)、sim_osc(m,n)和sim_mood(m,n),则两首歌曲的总相似度表示为:
sim(m,n)=wgfcc·sim_gfcc(m,n)+wosc·sim_osc(m,n)+wmood·sim_mood(m,n)    (64)
式中,wgfcc、wosc与wmood为三类特征相似度的加权值,取值范围是0<wgfcc<1、0<wmood<1、0<wosc<1,且wgfcc+wmood+wosc=1;
B3、对获得的相似度降序排列,产生推荐列表。
2.根据权利要求1所述的一种基于相似性的音乐推荐方法,其特征在于:所述的预加重因子μ的最佳值为0.97;所述的一帧音乐信号的长度Nf的最佳值为2048;所述的帧间交叠的长度的最佳值为N0=0.5Nf=1024;所述的初始相位φ最佳值为0;所述的伽马通倒谱系数的个数最佳值为L=26;所述的情绪模型特征矢量维数最佳值为M=12;所述的子频带的个数B的最佳值为8;所述的W最佳值为512帧;所述的三类特征相似度的加权值的最佳值分别为wgfcc=0.6、wmood=0.2和wosc=0.2;所述的系数α的最佳值为0.2。
CN201310379100.5A 2013-08-27 2013-08-27 一种基于相似性的音乐推荐方法 Expired - Fee Related CN103440873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310379100.5A CN103440873B (zh) 2013-08-27 2013-08-27 一种基于相似性的音乐推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310379100.5A CN103440873B (zh) 2013-08-27 2013-08-27 一种基于相似性的音乐推荐方法

Publications (2)

Publication Number Publication Date
CN103440873A true CN103440873A (zh) 2013-12-11
CN103440873B CN103440873B (zh) 2015-10-28

Family

ID=49694564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310379100.5A Expired - Fee Related CN103440873B (zh) 2013-08-27 2013-08-27 一种基于相似性的音乐推荐方法

Country Status (1)

Country Link
CN (1) CN103440873B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392731A (zh) * 2014-11-30 2015-03-04 陆俊 一种练习唱歌的方法和系统
CN104794156A (zh) * 2015-03-16 2015-07-22 广东欧珀移动通信有限公司 一种文件分享方法及装置
CN104835498A (zh) * 2015-05-25 2015-08-12 重庆大学 基于多类型组合特征参数的声纹识别方法
CN105575393A (zh) * 2015-12-02 2016-05-11 中国传媒大学 一种基于人声音色的个性化点唱歌曲推荐方法
TWI578309B (zh) * 2015-10-21 2017-04-11 廣州酷狗計算機科技有限公司 一種歌單清單確定方法、裝置及電子設備
WO2017067472A1 (en) * 2015-10-23 2017-04-27 Zheng Shi Interactive system and method for creating music with a digital musical instrument
CN106649559A (zh) * 2016-11-09 2017-05-10 腾讯音乐娱乐(深圳)有限公司 音频推荐方法及装置
CN107274911A (zh) * 2017-05-03 2017-10-20 昆明理工大学 一种基于声音特征的相似度分析方法
CN107644632A (zh) * 2017-08-17 2018-01-30 北京英夫美迪科技股份有限公司 音频缩混及波形生成方法和设备
CN108039178A (zh) * 2017-12-15 2018-05-15 奕响(大连)科技有限公司 一种傅里叶变换时域与频域的音频相似判断方法
CN108091346A (zh) * 2017-12-15 2018-05-29 奕响(大连)科技有限公司 一种局部傅里叶变换的音频相似判断方法
CN108172241A (zh) * 2017-12-27 2018-06-15 上海传英信息技术有限公司 一种基于智能终端的音乐推荐方法及音乐推荐系统
CN108875365A (zh) * 2018-04-22 2018-11-23 北京光宇之勋科技有限公司 一种入侵检测方法及入侵检测检测装置
CN108922559A (zh) * 2018-07-06 2018-11-30 华南理工大学 基于语音时频变换特征和整数线性规划的录音终端聚类方法
CN109065071A (zh) * 2018-08-31 2018-12-21 电子科技大学 一种基于迭代k-means算法的歌曲聚类方法
CN109190029A (zh) * 2018-08-22 2019-01-11 重庆市智权之路科技有限公司 云端智能信息推送平台工作方法
CN109308912A (zh) * 2018-08-02 2019-02-05 平安科技(深圳)有限公司 音乐风格识别方法、装置、计算机设备及存储介质
CN110191363A (zh) * 2019-05-31 2019-08-30 电子科技大学 一种面向家庭组用户的推荐模型
CN110364182A (zh) * 2019-08-01 2019-10-22 腾讯音乐娱乐科技(深圳)有限公司 一种声音信号处理方法及装置
CN113569910A (zh) * 2021-06-25 2021-10-29 石化盈科信息技术有限责任公司 账户类型识别方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090032972A (ko) * 2007-09-28 2009-04-01 삼성전자주식회사 노래/허밍에 의한 질의 방법 및 장치
CN101685446A (zh) * 2008-09-25 2010-03-31 索尼(中国)有限公司 音频数据分析装置和方法
CN102053998A (zh) * 2009-11-04 2011-05-11 周明全 一种利用声音方式检索歌曲的方法及系统装置
CN102521281A (zh) * 2011-11-25 2012-06-27 北京师范大学 一种基于最长匹配子序列算法的哼唱计算机音乐检索方法
CN103177722A (zh) * 2013-03-08 2013-06-26 北京理工大学 一种基于音色相似度的歌曲检索方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090032972A (ko) * 2007-09-28 2009-04-01 삼성전자주식회사 노래/허밍에 의한 질의 방법 및 장치
CN101685446A (zh) * 2008-09-25 2010-03-31 索尼(中国)有限公司 音频数据分析装置和方法
CN102053998A (zh) * 2009-11-04 2011-05-11 周明全 一种利用声音方式检索歌曲的方法及系统装置
CN102521281A (zh) * 2011-11-25 2012-06-27 北京师范大学 一种基于最长匹配子序列算法的哼唱计算机音乐检索方法
CN103177722A (zh) * 2013-03-08 2013-06-26 北京理工大学 一种基于音色相似度的歌曲检索方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李丽娟,叶茂,赵欣;: "基于高斯混合模型流行音乐中歌唱部分的智能检测", 《第二届全国智能信息处理学术会议 》 *
蔡微: "基于GMM和人耳听觉特征的歌手识别系统算法研究", 《天津大学硕士学位论文》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392731A (zh) * 2014-11-30 2015-03-04 陆俊 一种练习唱歌的方法和系统
CN104794156B (zh) * 2015-03-16 2018-12-07 广东欧珀移动通信有限公司 一种文件分享方法及装置
CN104794156A (zh) * 2015-03-16 2015-07-22 广东欧珀移动通信有限公司 一种文件分享方法及装置
CN104835498A (zh) * 2015-05-25 2015-08-12 重庆大学 基于多类型组合特征参数的声纹识别方法
TWI578309B (zh) * 2015-10-21 2017-04-11 廣州酷狗計算機科技有限公司 一種歌單清單確定方法、裝置及電子設備
WO2017067472A1 (en) * 2015-10-23 2017-04-27 Zheng Shi Interactive system and method for creating music with a digital musical instrument
CN105575393A (zh) * 2015-12-02 2016-05-11 中国传媒大学 一种基于人声音色的个性化点唱歌曲推荐方法
CN106649559A (zh) * 2016-11-09 2017-05-10 腾讯音乐娱乐(深圳)有限公司 音频推荐方法及装置
CN106649559B (zh) * 2016-11-09 2019-09-17 腾讯音乐娱乐(深圳)有限公司 音频推荐方法及装置
CN107274911A (zh) * 2017-05-03 2017-10-20 昆明理工大学 一种基于声音特征的相似度分析方法
CN107644632A (zh) * 2017-08-17 2018-01-30 北京英夫美迪科技股份有限公司 音频缩混及波形生成方法和设备
CN107644632B (zh) * 2017-08-17 2021-03-30 北京英夫美迪科技股份有限公司 音频缩混及波形生成方法和设备
CN108039178A (zh) * 2017-12-15 2018-05-15 奕响(大连)科技有限公司 一种傅里叶变换时域与频域的音频相似判断方法
CN108091346A (zh) * 2017-12-15 2018-05-29 奕响(大连)科技有限公司 一种局部傅里叶变换的音频相似判断方法
CN108172241B (zh) * 2017-12-27 2020-11-17 上海传英信息技术有限公司 一种基于智能终端的音乐推荐方法及音乐推荐系统
CN108172241A (zh) * 2017-12-27 2018-06-15 上海传英信息技术有限公司 一种基于智能终端的音乐推荐方法及音乐推荐系统
CN108875365A (zh) * 2018-04-22 2018-11-23 北京光宇之勋科技有限公司 一种入侵检测方法及入侵检测检测装置
CN108922559A (zh) * 2018-07-06 2018-11-30 华南理工大学 基于语音时频变换特征和整数线性规划的录音终端聚类方法
CN109308912A (zh) * 2018-08-02 2019-02-05 平安科技(深圳)有限公司 音乐风格识别方法、装置、计算机设备及存储介质
CN109308912B (zh) * 2018-08-02 2024-02-20 平安科技(深圳)有限公司 音乐风格识别方法、装置、计算机设备及存储介质
CN109190029A (zh) * 2018-08-22 2019-01-11 重庆市智权之路科技有限公司 云端智能信息推送平台工作方法
CN109190029B (zh) * 2018-08-22 2021-09-28 中食安泓(广东)健康产业有限公司 云端智能信息推送平台工作方法
CN109065071A (zh) * 2018-08-31 2018-12-21 电子科技大学 一种基于迭代k-means算法的歌曲聚类方法
CN109065071B (zh) * 2018-08-31 2021-05-14 电子科技大学 一种基于迭代k-means算法的歌曲聚类方法
CN110191363A (zh) * 2019-05-31 2019-08-30 电子科技大学 一种面向家庭组用户的推荐模型
CN110364182A (zh) * 2019-08-01 2019-10-22 腾讯音乐娱乐科技(深圳)有限公司 一种声音信号处理方法及装置
CN110364182B (zh) * 2019-08-01 2022-06-14 腾讯音乐娱乐科技(深圳)有限公司 一种声音信号处理方法及装置
CN113569910A (zh) * 2021-06-25 2021-10-29 石化盈科信息技术有限责任公司 账户类型识别方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN103440873B (zh) 2015-10-28

Similar Documents

Publication Publication Date Title
CN103440873B (zh) 一种基于相似性的音乐推荐方法
Lehner et al. On the reduction of false positives in singing voice detection
CN101833951B (zh) 用于说话人识别的多背景模型建立方法
CN106919662A (zh) 一种音乐识别方法及系统
CN102799892B (zh) 一种mfcc水下目标特征提取和识别方法
CN102054480B (zh) 一种基于分数阶傅立叶变换的单声道混叠语音分离方法
CN101923855A (zh) 文本无关的声纹识别系统
CN102723079B (zh) 基于稀疏表示的音乐和弦自动识别方法
CN102820033A (zh) 一种声纹识别方法
CN109065072A (zh) 一种基于深度神经网络的语音质量客观评价方法
CN102486920A (zh) 音频事件检测方法和装置
CN105575393A (zh) 一种基于人声音色的个性化点唱歌曲推荐方法
CN102956237A (zh) 测量内容一致性的方法和设备、测量相似度的方法和设备
CN108665903A (zh) 一种音频信号相似程度的自动检测方法及其系统
Lagrange et al. Normalized cuts for predominant melodic source separation
CN102129456A (zh) 去相关稀疏映射音乐流派有监督自动分类方法
Lagrange et al. The bag-of-frames approach: A not so sufficient model for urban soundscapes
CN106997765A (zh) 人声音色的定量表征方法
Wang et al. Multi-subspace echo hiding based on time-frequency similarities of audio signals
CN104732972A (zh) 一种基于分组统计的hmm声纹识别签到方法及系统
CN103854661A (zh) 一种提取音乐特征的方法及装置
CN104992713A (zh) 一种快速广播音频比对方法
Fan et al. Discriminative learning for monaural speech separation using deep embedding features
Kim et al. Robust query-by-singing/humming system against background noise environments
Zhao et al. Spoofing Detection Using Adaptive Weighting Framework and Clustering Analysis.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151028

Termination date: 20180827