发明名称 一种基于相似性的音乐推荐方法
摘要 本发明公开了一种基于混合特征和高斯混合模型的音乐相似度检测方法,基本思路如下:用伽马通倒谱系数进行相似度检测,并将多种特征的加权相似度作为最终的检测结果;提出一种基于帧轴的调制频谱特征,用该特征表示音乐的长时特征,并且将长时特征与短时特征的组合作为下一步建模的输入;使用高斯混合模型对各个音乐特征建模,首先利用动态K均值方法对模型进行初始化,接着用期望最大化算法进行模型训练,获得准确的模型参数,最后使用对数似然比算法获得音乐之间的相似度。本发明对音乐特征的获取更为充分和深入,提高了音乐推荐的准确程度。本发明可降低特征矢量维数,降低音乐数据库信息存储量,提高音乐推荐的准确程度。
申请公布号 CN103440873A 申请公布日期 2013.12.11
申请号 CN201310379100.5 申请日期 2013.08.27
申请人 大连理工大学 发明人 陈喆;殷福亮;时丹
分类号 G10L25/51(2013.01)I 主分类号 G10L25/51(2013.01)I
代理机构 大连东方专利代理有限责任公司 21212 代理人 李洪福
主权项 1.一种基于相似性的音乐推荐方法,其特征在于:包括以下步骤:A、建立数据库建立数据库的流程包括特征提取、建立模型和将获得的GMM模型参数保存在模型数据库中,具体步骤如下:A1、特征提取:以帧为单位提取音乐信号的伽马通倒谱系数特征、情绪特征和八音频谱对比度特征;A11、预处理A111、预加重预处理模块输入为采样率44.1KHz的单声道脉冲编码调制音乐文件,文件中各个数据即是音乐波形的采样值,也是待处理的信号x(n),这里n表示采样点的序号,定义y(n)为预加重后的输出信号,则y(n)=x(n)-μx(n-1)其中,μ称为预加重因子,其取值范围是0&lt;μ&lt;1;A112、加窗分帧定义一帧音乐信号的长度为N<sub>f</sub>,N<sub>f</sub>取值范围是512≤N<sub>f</sub>≤8192,帧间交叠的长度为N<sub>0</sub>,N<sub>0</sub>取值范围是0.25N<sub>f</sub>≤N<sub>0</sub>≤0.75N<sub>f</sub>,对预加重的输出y(n)加汉明窗w(n)=0.54-0.46cos[(2n+1)π/N<sub>f</sub>]进行分帧处理,处理后的输出音频信号为s<sub>w</sub>(n),n=0、1、…、N<sub>f</sub>-1:s<sub>w</sub>(n)=y(n)·w(n)A12、提取三类短时特征A121、提取伽马通倒谱系数伽马通滤波器是一种基于人耳耳蜗原理的滤波器;伽马通滤波器组中第i个滤波器的时域表示形式为:g<sub>i</sub>(m)=B<sup>n</sup>m<sup>n-1</sup>exp(-2πBm)cos(2πf<sub>i</sub>m+φ)·U(m),0≤m<N<sub>f</sub>,0≤i<M<sub>g</sub>    (1)式中,φ为初始相位,其取值范围是0≤φ&lt;2π,它不影响滤波器组的滤波性能;M<sub>g</sub>为滤波器组中的滤波器个数,f<sub>i</sub>为伽马通滤波器组中第i个滤波器的中心频率,B<sup>n</sup>为第i个滤波器增益,n为第i个滤波器的阶数;B为衰减因子,B的大小与第i个滤波器等效带宽ERB(f<sub>i</sub>)有关,即B=1.019ERB(f<sub>i</sub>),第i个滤波器等效带宽ERB(f<sub>i</sub>)表示为:ERB(f<sub>i</sub>)=24.7(4.37f<sub>i</sub>/1000+1)对式(1)做快速傅里叶变换,得到伽马通滤波器组中第i个滤波器的频域表达式为:<maths num="0001"><![CDATA[<math><mrow><msub><mi>H</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><msub><mi>g</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow><mi>e</mi></mrow><mrow><mo>(</mo><mo>-</mo><mi>j</mi><mn>2</mn><mi>&pi;km</mi><mo>/</mo><msub><mi>N</mi><mi>f</mi></msub><mo>)</mo></mrow></msup><mo>|</mo><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>k</mi><mo>&lt;</mo><msub><mi>N</mi><mi>f</mi></msub><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><msub><mi>M</mi><mi>g</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>将伽马通滤波器与倒谱系数相结合,得到伽马通倒谱系数;其提取过程为:加窗分帧的音频信号,经快速傅里叶变换后输入至伽马通滤波器组滤波,伽马通滤波器组滤波的输出经对数压缩及离散余弦变换的结果即为所求的伽马通倒谱系数;伽马通倒谱系数的具体提取步骤如下:A1211、对预处理后的信号s<sub>w</sub>(n)进行快速傅里叶变换(FFT),将时域的音乐信号转换到频域,并计算其能量|S<sub>w</sub>(k)|<sup>2</sup>:<maths num="0002"><![CDATA[<math><mrow><msup><mrow><mo>|</mo><msub><mi>S</mi><mi>w</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup><mo>=</mo><msup><mrow><mo>|</mo><munderover><mi>&Sigma;</mi><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><msub><mi>s</mi><mi>w</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>e</mi></mrow><mrow><mo>-</mo><mi>j</mi><mn>2</mn><mi>&pi;kn</mi><mo>/</mo><msub><mi>N</mi><mi>f</mi></msub></mrow></msup><mo>|</mo></mrow><mn>2</mn></msup><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>k</mi><mo>&lt;</mo><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>A1212、将式(3)计算出的音乐信号能量通过伽马通滤波器组中第i个滤波器,i=0、1、…、M<sub>g</sub>-1,并对滤波器的输出进行对数压缩,得到:<maths num="0003"><![CDATA[<math><mrow><msub><mi>m</mi><mi>i</mi></msub><mo>=</mo><mi>ln</mi><mo>[</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo>|</mo><msubsup><mi>S</mi><mi>w</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo><msub><mi>H</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>]</mo><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><msub><mi>M</mi><mi>g</mi></msub><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>k</mi><mo>&lt;</mo><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>A1213、将式(4)表示的对数压缩结果进行离散余弦变换,得到伽马通倒谱系数为:<maths num="0004"><![CDATA[<math><mrow><mi>GFCC</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><msqrt><mfrac><mn>2</mn><mi>N</mi></mfrac></msqrt><munderover><mi>&Sigma;</mi><mrow><mi>g</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>M</mi><mi>gf</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>m</mi><mi>g</mi></msub><mi>cos</mi><mo>[</mo><mi>&pi;i</mi><mrow><mo>(</mo><mi>g</mi><mo>+</mo><mn>0.5</mn><mo>)</mo></mrow><mo>/</mo><msub><mi>M</mi><mi>g</mi></msub><mo>]</mo><mo>,</mo><mi>i</mi><mo>=</mo><mn>0,1</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mi>L</mi><mo>-</mo><mn>1</mn></mrow></math>]]></maths>式中,L为伽马通倒谱系数的个数,0&lt;L&lt;M<sub>g</sub>;第t帧的伽马通倒谱系数矢量为<maths num="0005"><![CDATA[<math><mrow><msubsup><mi>x</mi><mi>t</mi><mi>GFCC</mi></msubsup><mo>=</mo><msup><mrow><mo>[</mo><msub><mi>GFCC</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>GFCC</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>GFCC</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>L</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>]</mo></mrow><mi>T</mi></msup></mrow></math>]]></maths>A122、提取情绪特征矢量音乐中情绪特征包括:时域均值TA、频域均值FA、时域方差TV、频域方差FV、频域最大值FM、时域重心TC、频域重心FC、时域带宽TB、时域滚动TR、频域滚动FR、时域流量TF和频域流量FF;定义x<sub>t</sub>(n)表示第t帧音乐信号的离散采样值,n=0、1、…、N<sub>f</sub>-1;表示x<sub>t</sub>(n)经过快速傅里叶变换后的频域幅值,k=0,1,…,N<sub>f</sub>-1,X<sub>t</sub>(k);则时域与频域的各个特征参数的计算公式如下:A1221、计算时域、频域均值<maths num="0006"><![CDATA[<math><mrow><msub><mi>TA</mi><mi>t</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mi>f</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msub><mi>FA</mi><mi>t</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mi>f</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>X</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></math>]]></maths>式中,TA<sub>t</sub>为第t帧音乐信号的时域均值,FA<sub>t</sub>为第t帧音乐信号的频域均值;A1222、计算时域、频域方差<maths num="0008"><![CDATA[<math><mrow><msub><mi>TV</mi><mi>t</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>TA</mi><mi>t</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msub><mi>FV</mi><mi>t</mi></msub><mo>=</mo><mover><mi>&Sigma;</mi><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></mover><msup><mrow><mo>(</mo><msub><mi>X</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>FA</mi><mi>t</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>式中,TV<sub>t</sub>为第t帧音乐信号的时域方差,FV<sub>t</sub>为第t帧音乐信号的频域方差;A1223、计算频域最大值FM<sub>t</sub>=max{X<sub>t</sub>(j)},0≤j<N<sub>f</sub>式中,FM<sub>t</sub>为第t帧音乐信号的频域最大值;A1224、计算时域、频域重心<maths num="0010"><![CDATA[<math><mrow><msub><mi>TC</mi><mi>t</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>&times;</mo><mi>j</mi></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><msub><mi>FC</mi><mi>t</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><mi>j</mi><mo>&CenterDot;</mo><msub><mi>X</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>X</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>式中,TC<sub>t</sub>为第t帧音乐信号的时域重心,FC<sub>t</sub>为第t帧音乐信号的频域重心;A1225、计算时域带宽<maths num="0012"><![CDATA[<math><mrow><msub><mi>TB</mi><mi>t</mi></msub><mo>=</mo><msqrt><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><mo>[</mo><msup><mrow><mo>|</mo><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup><mo>&times;</mo><mrow><mo>(</mo><mi>j</mi><mo>-</mo><msub><mi>TC</mi><mi>t</mi></msub><mo>)</mo></mrow><mo>]</mo></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>|</mo><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup></mrow></mfrac></msqrt></mrow></math>]]></maths>式中,TB<sub>t</sub>为第t帧音乐信号的时域带宽;A1226、计算时域、频域滚动<maths num="0013"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><msub><mi>TR</mi><mi>t</mi></msub></munderover><msup><mrow><mo>|</mo><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup><mo>=</mo><mn>0.85</mn><mo>&times;</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>|</mo><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths><maths num="0014"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><msub><mi>FR</mi><mi>t</mi></msub></munderover><msup><mrow><mo>|</mo><msub><mi>X</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup><mo>=</mo><mn>0.85</mn><mo>&times;</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>|</mo><msub><mi>X</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>式中,TR<sub>t</sub>为第t帧音乐信号的时域滚动,FR<sub>t</sub>为第t帧音乐信号的频域滚动;A1227、计算时域、频域流量<maths num="0015"><![CDATA[<math><mrow><msub><mi>TF</mi><mi>t</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>[</mo><mo>|</mo><msub><mi>x</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>-</mo><msub><mi>x</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths><maths num="0016"><![CDATA[<math><mrow><msub><mi>FF</mi><mi>t</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><msub><mi>N</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><msup><mrow><mo>[</mo><mo>|</mo><msub><mi>X</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>-</mo><msub><mi>X</mi><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup></mrow></math>]]></maths>式中,TF<sub>t</sub>为第t帧音乐信号的时域流量、FF<sub>t</sub>为第t帧音乐信号的频域流量;影响情绪模型的时域特征有6种,包括时域方差、时域重心、时域均值、时域带宽、时域滚动和时域流量;频域特征6种,包括频域均值、频域方差、频域重心、频域滚动、频域最大值和频域流量;因此最后获得的情绪特征矢量表示为:<maths num="0017"><![CDATA[<math><mrow><msubsup><mi>x</mi><mi>t</mi><mi>MODD</mi></msubsup><mo>=</mo><msup><mrow><mo>[</mo><msub><mi>TV</mi><mi>t</mi></msub><mo>,</mo><msub><mi>TC</mi><mi>t</mi></msub><mo>,</mo><msub><mi>TA</mi><mi>t</mi></msub><mo>,</mo><msub><mi>TB</mi><mi>t</mi></msub><mo>,</mo><msub><mi>TR</mi><mi>t</mi></msub><mo>,</mo><msub><mi>TF</mi><mi>t</mi></msub><msub><mrow><mo>,</mo><mi>FA</mi></mrow><mi>t</mi></msub><mo>,</mo><msub><mi>FV</mi><mi>t</mi></msub><mo>,</mo><msub><mi>FC</mi><mi>t</mi></msub><mo>,</mo><msub><mi>FR</mi><mi>t</mi></msub><mo>,</mo><msub><mi>FM</mi><mi>t</mi></msub><mo>,</mo><msub><mi>FF</mi><mi>t</mi></msub><mo>]</mo></mrow><mi>T</mi></msup></mrow></math>]]></maths><maths num="0018"><![CDATA[<math><mrow><mo>=</mo><msup><mrow><mo>[</mo><msub><mi>MOOD</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>MOOD</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>MOOD</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>]</mo></mrow><mi>T</mi></msup></mrow></math>]]></maths>式中,M为情绪模型特征矢量维数,其取值范围是3&lt;M&lt;17;A123、提取八音频谱对比度矢量帧长为N<sub>f</sub>的音乐信号经过快速Fourier变换后,其频域值为<img file="FDA0000372775100000048.GIF" wi="308" he="75" /><img file="FDA0000372775100000049.GIF" wi="174" he="82" />将变换后的结果按频率划分子带,将第b个子频带的向量记为<img file="FDA00003727751000000410.GIF" wi="120" he="60" /><img file="FDA00003727751000000411.GIF" wi="374" he="63" />这里N<sub>b</sub>表示该子频带内的点的个数;对于采样率为44.1KHz的音乐信号,每个带通滤波器的频率范围如表1所示:表1八音频谱滤波器带宽<tables num="0001"><table><tgroup cols="3"><colspec colname="c001" colwidth="19%" /><colspec colname="c002" colwidth="42%" /><colspec colname="c003" colwidth="39%" /><tbody><row><entry morerows="1">滤波器编号</entry><entry morerows="1">物理频率域内带宽范围(Hz)</entry><entry morerows="1">离散频域内带宽范围(k)</entry></row><row><entry morerows="1">1</entry><entry morerows="1">[0,200)</entry><entry morerows="1">[0,9)</entry></row><row><entry morerows="1">2</entry><entry morerows="1">[200,400)</entry><entry morerows="1">[9,19)</entry></row><row><entry morerows="1">3</entry><entry morerows="1">[400,800)</entry><entry morerows="1">[19,37)</entry></row><row><entry morerows="1">4</entry><entry morerows="1">[800,1600)</entry><entry morerows="1">[37,74)</entry></row><row><entry morerows="1">5</entry><entry morerows="1">[1600,3200)</entry><entry morerows="1">[74,149)</entry></row><row><entry morerows="1">6</entry><entry morerows="1">[3200,6400)</entry><entry morerows="1">[149,297)</entry></row><row><entry morerows="1">7</entry><entry morerows="1">[6400,12800)</entry><entry morerows="1">[297,594)</entry></row><row><entry morerows="1">8</entry><entry morerows="1">[12800,22050)</entry><entry morerows="1">[594,1024)</entry></row></tbody></tgroup></table></tables>表1中第二列是物理频率域的子频带划分,第三列是离散频域内的子频带划分;将这些点按照降序重新排列,得到{P′<sub>b,1</sub>,P′<sub>b,2</sub>,…,P′<sub>b,Nb</sub>},式中,P′<sub>b,1</sub>≥P′<sub>b,2</sub>≥…≥P′<sub>b,Nb</sub>,则该子频带的频谱峰值和谷值为:<maths num="0019"><![CDATA[<math><mrow><mi>Peak</mi><mrow><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mo>=</mo><mn>10</mn><mo>&CenterDot;</mo><msub><mi>log</mi><mn>10</mn></msub><mrow><mo>(</mo><mfrac><mn>1</mn><msub><mi>&alpha;N</mi><mi>b</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>&alpha;N</mi><mi>b</mi></msub></munderover><msubsup><mi>P</mi><mrow><mi>b</mi><mo>,</mo><mi>i</mi></mrow><mo>&prime;</mo></msubsup><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0020"><![CDATA[<math><mrow><mi>Valley</mi><mrow><mo>(</mo><mi>b</mi><mo>)</mo></mrow><mo>=</mo><mn>10</mn><mo>&CenterDot;</mo><msub><mi>log</mi><mn>10</mn></msub><mrow><mo>(</mo><mfrac><mn>1</mn><msub><mi>&alpha;N</mi><mi>b</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>&alpha;N</mi><mi>b</mi></msub></munderover><msubsup><mi>P</mi><mrow><mi>b</mi><mo>,</mo><msub><mi>N</mi><mi>b</mi></msub><mo>-</mo><mi>i</mi><mo>+</mo><mn>1</mn></mrow><mo>&prime;</mo></msubsup><mo>)</mo></mrow></mrow></math>]]></maths>式中,系数α取值范围在0.02~0.2之间;每个子频带内的频谱峰值与谷值之差,称为频谱对比度SC(b)SC(b)=Peak(b)-Vallay(b)因此,一帧音乐信号的八音频谱对比度矢量能用各个子频带频谱对比度和子频带频谱谷值来表示,X<sub>OSC</sub>=[Vallay(0),…,Valley(B-1),SC(0),…,SC(B-1)]式中,B表示子频带的个数,其取值范围是3&lt;M&lt;33,第t帧的特征矢量为:<maths num="0021"><![CDATA[<math><mrow><msubsup><mi>x</mi><mi>t</mi><mi>OSC</mi></msubsup><mo>=</mo><msup><mrow><mo>[</mo><msub><mi>OSC</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>OSC</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>OSC</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>2</mn><mi>B</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>]</mo></mrow><mi>T</mi></msup></mrow></math>]]></maths><maths num="0022"><![CDATA[<math><mrow><mo>=</mo><mo>[</mo><msub><mi>Vallay</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>Valley</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>B</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><msub><mi>SC</mi><mi>t</mi></msub><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><msub><mrow><mo>,</mo><mi>SC</mi></mrow><mi>t</mi></msub><mrow><mo>(</mo><mi>B</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>]</mo></mrow></math>]]></maths>A13、计算长时频谱对比度、长时频谱谷值、长时频谱能量、长时频谱中心和长时频谱平坦度以帧为单位提取的特征矢量有伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量,对特征矢量沿帧轴进行离散Fourier变换,得到信号的长时特征;定义x<sub>p</sub>表示伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量中任意一个特征矢量,x<sub>p</sub>=[x<sub>p</sub>(0),x<sub>p</sub>(1),…,x<sub>p</sub>(D-1)]<sup>T</sup>表示第p帧提取的特征矢量,D为对应特征矢量的长度;对其沿帧轴进行长度为W的离散傅里叶变换,W取值范围256≤W≤1024,相邻窗之间重叠50%,得到长时频谱M<sub>t</sub>(m,d),m是频域内的索引号,0≤m&lt;W;<maths num="0023"><![CDATA[<math><mrow><msub><mi>M</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>p</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>W</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>x</mi><mrow><mrow><mo>(</mo><mi>t</mi><mo>&times;</mo><mi>W</mi><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>+</mo><mi>p</mi></mrow></msub><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow><msup><mi>e</mi><mrow><mo>-</mo><mi>j</mi><mn>2</mn><mi>&pi;</mi><mfrac><mi>p</mi><mi>W</mi></mfrac><mi>m</mi></mrow></msup><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>m</mi><mo>&lt;</mo><mi>W</mi><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>d</mi><mo>&lt;</mo><mi>D</mi></mrow></math>]]></maths>将长时频谱M<sub>t</sub>(m,d),0≤m&lt;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)做差即得到长时频谱对比度;<maths num="0024"><![CDATA[<math><mrow><mi>MSP</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>max</mi><mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>&le;</mo><mi>m</mi><mo>&le;</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub></mrow></munder><mo>[</mo><mi>M</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>]</mo></mrow></math>]]></maths><maths num="0025"><![CDATA[<math><mrow><mi>MSV</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>min</mi><mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>&le;</mo><mi>m</mi><mo>&le;</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub></mrow></munder><mo>[</mo><mi>M</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>]</mo></mrow></math>]]></maths>MSC(j,d)=MSP(j,d)-MSV(j,d)式中,φ<sub>j,l</sub>与φ<sub>j,h</sub>对应第j个子频带的低频索引号与高频索引号,与表2对应,式中0≤j&lt;J;表2调制子频带范围<tables num="0002"><table><tgroup cols="2"><colspec colname="c001" colwidth="48%" /><colspec colname="c002" colwidth="52%" /><tbody><row><entry morerows="1">调制子频带号</entry><entry morerows="1">频谱索引范围</entry></row><row><entry morerows="1">1</entry><entry morerows="1">[0,3)</entry></row><row><entry morerows="1">2</entry><entry morerows="1">[3,6)</entry></row><row><entry morerows="1">3</entry><entry morerows="1">[6,12)</entry></row><row><entry morerows="1">4</entry><entry morerows="1">[12,24)</entry></row><row><entry morerows="1">5</entry><entry morerows="1">[24,48)</entry></row><row><entry morerows="1">6</entry><entry morerows="1">[48,96)</entry></row><row><entry morerows="1">7</entry><entry morerows="1">[96,192)</entry></row><row><entry morerows="1">8</entry><entry morerows="1">[192,256)</entry></row></tbody></tgroup></table></tables>A132、长时频谱能量长时频谱能量反映了长时频谱频带内的能量分布情况,其计算公式为:<maths num="0026"><![CDATA[<math><mrow><mi>MSE</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mn>10</mn><mo>&CenterDot;</mo><msub><mi>log</mi><mn>10</mn></msub><mo>{</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub></munderover><msup><mrow><mo>[</mo><mi>M</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup></mrow><mo>}</mo></mrow></math>]]></maths>A133、长时频谱中心长时频谱中心,反映了每个长时频谱子频带的分布情况;<maths num="0027"><![CDATA[<math><mrow><mi>MSCEN</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub></munderover><mi>M</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>&times;</mo><mi>m</mi></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub></munderover><mi>M</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>A134、长时频谱平坦度长时频谱平坦度反映了长时频谱各频带的频谱分布情况,长时频谱平坦度的值较大,说明长时频谱分布较为均匀,反之,说明长时频谱集中分布于某几个频带内;长时频谱的几何均值与代数均值的商定义为<maths num="0028"><![CDATA[<math><mrow><mi>MSF</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub><mo>-</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>+</mo><mn>1</mn><msqrt><munderover><mi>&Pi;</mi><mrow><mi>m</mi><mo>=</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub></munderover><mi>M</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></msqrt></mrow><mrow><mfrac><mn>1</mn><mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub><mo>-</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>+</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow><msub><mi>&phi;</mi><mrow><mi>j</mi><mo>,</mo><mi>h</mi></mrow></msub></munderover><mi>M</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>A2、建立模型用高斯混合模型对调制的伽马通倒谱系数、情绪特征矢量和八音频谱对比度矢量分别进行建模,并使用K均值聚类算法对模型参数进行粗略估计,然后用期望最大化估计算法获得精确的模型参数;最后,将获得的模型参数保存在模型数据库中;A21、估计高斯混合模型参数高斯混合模型的数目直接影响建模效果,采取动态K均值的方式调整K均值聚类的个数,进而调整混合模型个数;具体做法是:设置某一阈值,判断聚类的半径是否小于该阈值,若不成立,则增加聚类数目,直到聚类半径小于该阈值为止;具体步骤如下:A211、动态K均值初始化高斯混合模型歌曲的总帧数为N<sub>frames</sub>,某种特征矢量的维数为D,则每帧的D维特征矢量表示为c<sub>j</sub>=[c<sub>j,1</sub>,c<sub>j,2</sub>,…,c<sub>j,D</sub>],j=0,1,…,N<sub>frames</sub>-1;高斯混合模型定义为M个单高斯概率密度函数的加权和,其表达式为:<maths num="0029"><![CDATA[<math><mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>&pi;</mi><mi>i</mi></msub><msub><mi>N</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>;</mo><msub><mi>&mu;</mi><mi>j</mi></msub><mo>,</mo><msub><mi>&Sigma;</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths>式中,i是高斯概率密度函数索引号,π<sub>i</sub>是相应的权值,满足<img file="FDA0000372775100000082.GIF" wi="223" he="145" />N<sub>i</sub>(c<sub>j</sub>;μ<sub>j</sub>,Σ<sub>j</sub>)为相应的高斯概率密度函数的表达式,其均值为μ<sub>j</sub>=[μ<sub>j,1</sub>,μ<sub>j,2</sub>,…,μ<sub>j,N</sub>],方差Σ<sub>j</sub>是一个N×N的矩阵,N<sub>i</sub>(c<sub>j</sub>;μ<sub>j</sub>,Σ<sub>j</sub>)的表达式为:<maths num="0030"><![CDATA[<math><mrow><msub><mi>N</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>;</mo><msub><mi>&mu;</mi><mi>j</mi></msub><mo>,</mo><msub><mi>&Sigma;</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><msup><mrow><mo>(</mo><mn>2</mn><mi>&pi;</mi><mo>)</mo></mrow><mfrac><mi>d</mi><mn>2</mn></mfrac></msup><msup><mrow><mo>|</mo><msub><mi>&Sigma;</mi><mi>j</mi></msub><mo>|</mo></mrow><mfrac><mn>1</mn><mn>2</mn></mfrac></msup></mrow></mfrac><mi>exp</mi><mo>[</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>T</mi></msup><msubsup><mi>&Sigma;</mi><mi>j</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup><mrow><mo>(</mo><msub><mi>c</mi><mi>j</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>]</mo></mrow></math>]]></maths>则单个高斯概率密度函数的模型Θ<sub>j</sub>为:Θ<sub>j</sub>={π<sub>j</sub>,μ<sub>j</sub>,Σ<sub>j</sub>},j=1,2,…,M高斯混合模型就表示为:Θ={Θ<sub>1</sub>,Θ<sub>2</sub>,…,Θ<sub>M</sub>}利用一首歌曲的特征向量获得高斯混合模型时,高斯混合模型的个数直接影响建模参数的准确度,进而影响歌曲间的相似度度量结果;采取动态K均值方法先确定聚类的个数,进而确定高斯混合模型的个数;在聚类时,首先聚类数目初始化为1,所有的特征矢量被聚成一类,聚类半径大于阈值半径;增大聚类数目为2,此时有一个类内的半径大于阈值半径;继续增大聚类数目为3,此时各个聚类的半径均小于阈值半径,则确定3为最终的聚类个数;聚类半径定义为聚类内的特征到聚类中心的最大距离,即<maths num="0031"><![CDATA[<math><mrow><msub><mi>R</mi><mi>max</mi></msub><mo>=</mo><munder><mi>max</mi><mrow><msub><mi>c</mi><mi>j</mi></msub><mo>&Element;</mo><msub><mi>Z</mi><mi>i</mi></msub></mrow></munder><mrow><mo>(</mo><mo>|</mo><msub><mi>c</mi><mi>j</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mi>i</mi></msub><mo>|</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>44</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,i=1,2,…,K表示聚类后的索引号,Z<sub>i</sub>是相应的类,N<sub>p,i</sub>是类Z<sub>i</sub>内的特征数目,c<sub>j</sub>是属于类Z<sub>i</sub>中的特征矢量,μ<sub>i</sub>是Z<sub>i</sub>类的均值矢量,表示为:<maths num="0032"><![CDATA[<math><mrow><msub><mi>&mu;</mi><mi>i</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mi>i</mi></msub></mfrac><munder><mi>&Sigma;</mi><mrow><msub><mi>c</mi><mi>j</mi></msub><mo>&Element;</mo><msub><mi>Z</mi><mi>i</mi></msub></mrow></munder><msub><mi>c</mi><mi>j</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>45</mn><mo>)</mo></mrow></mrow></math>]]></maths>应用动态K均值方法确定聚类数目后,需要计算各个聚类的均值、方差和权值来初始化高斯混合模型;均值由式(49)求得;权值用聚类内的特征向量个数除以特征矢量总数来计算,其表达式为:<maths num="0033"><![CDATA[<math><mrow><msub><mi>&pi;</mi><mi>i</mi></msub><mo>=</mo><mfrac><msub><mi>N</mi><mrow><mi>p</mi><mo>,</mo><mi>i</mi></mrow></msub><msub><mi>N</mi><mi>frames</mi></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>46</mn><mo>)</mo></mrow></mrow></math>]]></maths>为了获得各个聚类的方差,为每个聚类构建N<sub>p,i</sub>×N的矩阵,即:C<sub>i</sub>=[c<sub>1</sub> c<sub>2</sub> … c<sub>p,i</sub>]<sup>T</sup>    (47)式中,<img file="FDA0000372775100000094.GIF" wi="118" he="78" />是矩阵的第k列,是特征矢量的第k维,则方差矩阵的第m行n列元素的求法为:<maths num="0034"><![CDATA[<math><mrow><msubsup><mi>&Sigma;</mi><mi>i</mi><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mi>cov</mi><mrow><mo>(</mo><msubsup><mi>C</mi><mi>i</mi><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>,</mo><msubsup><mi>C</mi><mi>i</mi><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow></mrow></math>]]></maths>                           (48)<maths num="0035"><![CDATA[<math><mrow><mo>=</mo><mi>E</mi><mo>[</mo><mrow><mo>(</mo><msubsup><mi>C</mi><mi>i</mi><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msub><mi>M</mi><mi>m</mi></msub><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mo>(</mo><msubsup><mi>C</mi><mi>i</mi><mrow><mo>(</mo><mo>:</mo><mo>,</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msub><mi>M</mi><mi>n</mi></msub></mrow><mo>)</mo></mrow><mo>]</mo></mrow></math>]]></maths>式中,m,n=1,2,…,N,M<sub>k</sub>是每个元素均为m<sub>k</sub>的向量,式中m<sub>k</sub>是聚类Z<sub>i</sub>中第k维特征的均值,表示为:<maths num="0036"><![CDATA[<math><mrow><msub><mi>m</mi><mi>k</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mrow><mi>p</mi><mo>,</mo><mi>i</mi></mrow></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mrow><mi>p</mi><mo>,</mo><mi>i</mi></mrow></msub></munderover><msubsup><mi>C</mi><mi>i</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>49</mn><mo>)</mo></mrow></mrow></math>]]></maths>A22、精确估计高斯混合模型参数高斯混合模型参数估计就是依据某种参数估计准则确定模型参数的过程,用极大似然准则进行估计;一首歌曲的特征矩阵表示为<img file="FDA0000372775100000104.GIF" wi="580" he="90" />这里N<sub>frames</sub>表示帧的总数目,<img file="FDA0000372775100000105.GIF" wi="400" he="72" />是每帧的特征矢量,假设它们彼此独立,则高斯混合模型的似然函数定义为,在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性:<maths num="0037"><![CDATA[<math><mrow><mi>L</mi><mrow><mo>(</mo><mi>&Theta;</mi><mo>/</mo><mi>C</mi><mo>)</mo></mrow><mo>=</mo><mi>p</mi><mrow><mo>(</mo><mi>C</mi><mo>/</mo><mi>&Theta;</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>frames</mi></msub></munderover><mi>p</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>/</mo><mi>&Theta;</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>50</mn><mo>)</mo></mrow></mrow></math>]]></maths>将似然函数L(Θ/C)看成Θ的非线性函数,参数估计的目的是要找到使似然函数L(Θ/C)最大的模型Θ,即:<maths num="0038"><![CDATA[<math><mrow><msup><mi>&Theta;</mi><mo>*</mo></msup><mo>=</mo><mi>arg</mi><munder><mi>max</mi><mi>&Theta;</mi></munder><mi>p</mi><mrow><mo>(</mo><mi>C</mi><mo>/</mo><mi>&Theta;</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>51</mn><mo>)</mo></mrow></mrow></math>]]></maths>对式(51)取对数,获得对数似然函数<maths num="0039"><![CDATA[<math><mrow><mi>J</mi><mrow><mo>(</mo><mi>&Theta;</mi><mo>)</mo></mrow><mo>=</mo><mi>log</mi><mi>L</mi><mrow><mo>(</mo><mi>&Theta;</mi><mo>/</mo><mi>C</mi><mo>)</mo></mrow><mo>=</mo><mi>log</mi><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>frames</mi></msub></munderover><mi>p</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>/</mo><mi>&Theta;</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>52</mn><mo>)</mo></mrow></mrow></math>]]></maths>实际中常用期望最大化算法来估计模型参数,于是得到模型权值为:<maths num="0040"><![CDATA[<math><mrow><msub><mi>&pi;</mi><mi>k</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mi>frames</mi></msub></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>frames</mi></msub></munderover><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msup><mi>&Theta;</mi><mi>old</mi></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>53</mn><mo>)</mo></mrow></mrow></math>]]></maths>均值为:<maths num="0041"><![CDATA[<math><mrow><msub><mi>&mu;</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>frames</mi></msub></munderover><msub><mi>c</mi><mi>i</mi></msub><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msup><mi>&Theta;</mi><mi>old</mi></msup><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>frames</mi></msub></munderover><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msup><mi>&Theta;</mi><mi>old</mi></msup><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>54</mn><mo>)</mo></mrow></mrow></math>]]></maths>方差矩阵为:<maths num="0042"><![CDATA[<math><mrow><msub><mi>&Sigma;</mi><mi>k</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>frames</mi></msub></munderover><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msup><mi>&Theta;</mi><mi>old</mi></msup><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mi>k</mi></msub><mo>)</mo></mrow><msup><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mi>k</mi></msub><mo>)</mo></mrow><mi>T</mi></msup></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>frames</mi></msub></munderover><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><mi>c</mi><mo>,</mo><msup><mi>&Theta;</mi><mi>old</mi></msup><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>55</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,p(k|c<sub>i</sub>,Θ<sup>old</sup>)称为后验概率;根据贝叶斯准则,该后验概率为:<maths num="0043"><![CDATA[<math><mrow><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msup><mi>&Theta;</mi><mi>old</mi></msup><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>,</mo><msub><mi>c</mi><mi>i</mi></msub><mo>|</mo><msup><mi>&Theta;</mi><mi>old</mi></msup><mo>)</mo></mrow></mrow><mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>|</mo><msup><mi>&Theta;</mi><mi>old</mi></msup><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mrow><msubsup><mi>&pi;</mi><mi>k</mi><mi>old</mi></msubsup><mi>N</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>;</mo><msubsup><mi>&mu;</mi><mi>k</mi><mi>old</mi></msubsup><mo>,</mo><msubsup><mi>&Sigma;</mi><mi>k</mi><mi>old</mi></msubsup><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msubsup><mi>&pi;</mi><mi>l</mi><mi>old</mi></msubsup><mi>N</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>;</mo><msubsup><mi>&mu;</mi><mi>l</mi><mi>old</mi></msubsup><mo>,</mo><msubsup><mi>&Sigma;</mi><mi>l</mi><mi>old</mi></msubsup><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>56</mn><mo>)</mo></mrow></mrow></math>]]></maths>期望最大化估计的步骤为:A221、根据式(41)和(56)得到后验概率;A222、根据式(53)~(55)计算新的模型参数,以此更新上次的模型参数,当新旧模型参数几乎一致时,迭代停止,否则返回(a)步骤继续迭代计算;B、生成推荐列表生成推荐列表的流程包括提取输入歌曲的特征矢量、分别计算该歌曲与数据库中歌曲的加权相似度和对获得的相似度按降序排列产生推荐列表,具体步骤如下:B1、提取音乐信号的特征矢量,提取步骤与步骤A1所述的步骤完全一致,只是输入音乐信号不同,生成推荐列表的输入音乐信号为用户所试听的一支曲目,经步骤A1处理的输出即为产生类似该曲目风格的音乐,而步骤A1中的输入音乐信号由建立数据库的许多音乐信号组成;B2、分别计算该歌曲与数据库中歌曲的加权相似度得到特征矢量的统计模型后,通过模型之间的相似度来判定歌曲的相似度;若M<sub>1</sub>维的高斯混合模型模型A为:<maths num="0044"><![CDATA[<math><mrow><msub><mi>&Theta;</mi><mi>A</mi></msub><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msub><mi>&mu;</mi><mrow><mn>1</mn><mo>,</mo><mi>A</mi></mrow></msub><mo>,</mo><msub><mi>&Sigma;</mi><mrow><mn>1</mn><mo>,</mo><mi>A</mi></mrow></msub><mo>,</mo><msub><mi>&pi;</mi><mrow><mn>1</mn><mo>,</mo><mi>A</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mrow><mo>(</mo><msub><mi>&mu;</mi><mrow><mi>M</mi><mo>,</mo><mi>A</mi></mrow></msub><mo>,</mo><msub><mi>&Sigma;</mi><mrow><mi>M</mi><mo>,</mo><mi>A</mi></mrow></msub><mo>,</mo><msub><mi>&pi;</mi><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>,</mo><mi>A</mi></mrow></msub><mo>)</mo></mrow><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>57</mn><mo>)</mo></mrow></mrow></math>]]></maths>对应的特征矩阵为:<maths num="0045"><![CDATA[<math><mrow><msub><mi>C</mi><mi>A</mi></msub><mo>=</mo><msup><mrow><mo>[</mo><msub><mi>c</mi><mrow><mn>1</mn><mo>,</mo><mi>A</mi></mrow></msub><mo>,</mo><msub><mi>c</mi><mrow><mn>2</mn><mo>,</mo><mi>A</mi></mrow></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>c</mi><mrow><msub><mi>N</mi><mi>Aframes</mi></msub><mo>,</mo><mi>A</mi></mrow></msub><mo>]</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>58</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,N<sub>Aframes</sub>为模型A特征矢量的个数;另一M<sub>2</sub>维的高斯混合模型模型B为:<maths num="0046"><![CDATA[<math><mrow><msub><mi>&Theta;</mi><mi>B</mi></msub><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msub><mi>&mu;</mi><mrow><mn>1</mn><mo>,</mo><mi>B</mi></mrow></msub><mo>,</mo><msub><mi>&Sigma;</mi><mrow><mn>1</mn><mo>,</mo><mi>B</mi></mrow></msub><mo>,</mo><msub><mi>&pi;</mi><mrow><mn>1</mn><mo>,</mo><mi>B</mi></mrow></msub><mo>)</mo></mrow><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mrow><mo>(</mo><msub><mi>&mu;</mi><mrow><mi>M</mi><mo>,</mo><mi>B</mi></mrow></msub><mo>,</mo><msub><mi>&Sigma;</mi><mrow><mi>M</mi><mo>,</mo><mi>B</mi></mrow></msub><mo>,</mo><msub><mi>&pi;</mi><mrow><msub><mi>M</mi><mn>2</mn></msub><mo>,</mo><mi>B</mi></mrow></msub><mo>)</mo></mrow><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>59</mn><mo>)</mo></mrow></mrow></math>]]></maths>对应的特征矢量为:<maths num="0047"><![CDATA[<math><mrow><msub><mi>C</mi><mi>B</mi></msub><mo>=</mo><msup><mrow><mo>[</mo><msub><mi>c</mi><mrow><mn>1</mn><mo>,</mo><mi>B</mi></mrow></msub><mo>,</mo><msub><mi>c</mi><mrow><mn>2</mn><mo>,</mo><mi>B</mi></mrow></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>c</mi><mrow><msub><mi>N</mi><mi>Bframes</mi></msub><mo>,</mo><mi>B</mi></mrow></msub><mo>]</mo></mrow><mi>T</mi></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>60</mn><mo>)</mo></mrow></mrow></math>]]></maths>式中,N<sub>Bframes</sub>为模型B特征矢量的个数;相似性的计算公式由下式获得:r(A,B)=logL(Θ<sub>A</sub>/C<sub>A</sub>)+logL(Θ<sub>B</sub>/C<sub>B</sub>)-logL(Θ<sub>A</sub>/C<sub>B</sub>)-logL(Θ<sub>B</sub>/C<sub>A</sub>)    (61)式(61)的最大值为:r<sub>max</sub>(A,B)=logL(Θ<sub>A</sub>/C<sub>A</sub>)+logL(Θ<sub>B</sub>/C<sub>B</sub>)    (62)则模型A与模型B的相似度定义为:<maths num="0048"><![CDATA[<math><mrow><mi>sim</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>r</mi><mi>max</mi></msub><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>)</mo></mrow><mo>-</mo><mi>r</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>r</mi><mi>max</mi></msub><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>log</mi><mi>L</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mi>A</mi></msub><mo>/</mo><msub><mi>C</mi><mi>B</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>log</mi><mi>L</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mi>B</mi></msub><mo>/</mo><msub><mi>C</mi><mi>A</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>log</mi><mi>L</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mi>A</mi></msub><mo>/</mo><msub><mi>C</mi><mi>A</mi></msub><mo>)</mo></mrow><mo>+</mo><mi>log</mi><mi>L</mi><mrow><mo>(</mo><msub><mi>&Theta;</mi><mi>B</mi></msub><mo>/</mo><msub><mi>C</mi><mi>B</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>63</mn><mo>)</mo></mrow></mrow></math>]]></maths>为了计算歌曲m与歌曲n的相似度,利用式(63)分别计算上述三类特征的相似度,即sim_gfcc(m,n)、sim_osc(m,n)和sim_mood(m,n),则两首歌曲的总相似度表示为:sim(m,n)=w<sub>gfcc</sub>·sim_gfcc(m,n)+w<sub>osc</sub>·sim_osc(m,n)+w<sub>mood</sub>·sim_mood(m,n)    (64)式中,w<sub>gfcc</sub>、w<sub>osc</sub>与w<sub>mood</sub>为三类特征相似度的加权值,取值范围是0&lt;w<sub>gfcc</sub>&lt;1、0&lt;w<sub>mood</sub>&lt;1、0&lt;w<sub>osc</sub>&lt;1,且w<sub>gfcc</sub>+w<sub>mood</sub>+w<sub>osc</sub>=1;B3、对获得的相似度降序排列,产生推荐列表。
地址 116024 辽宁省大连市高新园区凌工路2号