欢迎来到天天文库
浏览记录
ID:21873110
大小:60.00 KB
页数:8页
时间:2018-10-25
《基于连续隐马尔可夫模型的旋律检索算法研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于连续隐马尔可夫模型的旋律检索算法研究:本文以CHMM为基础进行音乐哼唱检索算法的研究,实现了模型的建立、模型的训练和旋律识别过程。与已有建模方法不同,本文利用从左到右、没有跳转的CHMM结构建立声学模型,使旋律模型得到简化,明显提高了识别效率。用经过音调转换的音高序列表示旋律特征,利用CHMM的二重随机特性隐含表示音长信息,从而避免了音符切分,使哼唱方式更自然。 关键词:基于内容的旋律检索音高提取隐马尔可夫模型 1连续隐马尔可夫模型的结构 旋律由不同的音符依出现的时间先后组合而成,所谓不同的音符指的是音高不同的音符,或者具有相同音高但音长不同的音符。因此,本文利用从左
2、到右、没有跳转CHMM来描述一段旋律,模型中的每一个状态描述了一个音符。为了适当缩短模型长度,减少计算量,一段旋律中有两个或以上相邻音符具有相同的音高,则将这些音符化分为一个状态。 这种CHMM的结构是非常简单的,相应的训练算法和识别算法的复杂度都会降低,数据空间的占用也比较小,检索效率比较高。模型结构如图1.1所示: 1.1CHMM的状态数 本文模型的每个状态一般描述一个音符,如果相邻的音符有相同的音高,那么把它们归并到同一个状态中。于是利用旋律所对应的乐谱(简谱或五线谱)就能够很方便的建立这段旋律对应的声学模型,并确定模型的状态数,图1.2便是一个例子。从图1.2中可
3、以看出,该段旋律中音高相同的相邻音符被划分到同一个状态中,总共可以被分为三个状态。 1.2CHMM的观测值 由于音高在频率大小上的可平移性,在许多文献中[1-4],是使用音高差作为观测值的。但由于受噪音或是基频提取算法本身不准确的影响,很难获得一条旋律完全准确的音高序列。因此,本文利用基于FFT-ACF和候选值估计的音高提取方法[5] 得到一段旋律的音高序列后,进行音调转换,用音调转换后的音高序列来表示旋律的音高特征,作为CHMM的观测值。 进行音调转换的目的是减小不同使用者的哼唱习惯以及音域的不同带来的差异,所谓哼唱习惯以及音域的不同是指如女声普遍比男声频率要高这样的
4、固有差别。音调转换的具体过程如下: ①得到了旋律音高序列后,利用下列式子将音高序列转换为半音(semitone)序列: (1.1) ②求半音序列的均值E,然后让半音序列逐点减去均值E,得到作为CHMM观测值的音高特征。 1.3CHMM的状态转移概率矩阵 由于本文建立的旋律模型为从左到右、没有跳转的,因此状态转移矩阵PA(i,j)必须满足(1.2)式: 1.4CHMM的观测状态概率值 本文使用经过音调转化的音高序列作为CHMM的观测值,而音高序列只是1维向量,因此CHMM的观测状态概率值可由 化简为 (1.3) 在本文中,使用1维高斯概率密
5、度函数的对数形式,这样可以把乘法运算改为加法运算,提高计算效率,如(1.4)式所示: 2CHMM的参数训练和识别 在进行模型匹配检索以前,需要获得CHMM的最佳参数值,也就是参数的训练过程。CHMM的参数训练主要是指状态转移矩阵和观测状态概率值的训练。 2.1参数初始化 CHMM的参数初始化一般有两种方法,一是利用乐谱或MIDI音乐进行初始化,二是利用均分法进行初始化。现分别简述如下: ①利用MIDI音乐进行初始化: 对于观测状态概率值,CHMM的每个状态的观测状态概率值由高斯概率密度函数表示,实际上它是由(1.4)式中的均值μj和方差σj确定的。初始化时,每个状态
6、的均值μj等于对应音符的音高(由MIDI语料获得,且经过音调转换),方差σj设为1。 对语音信号一般进行分帧处理,当帧的大小固定时,帧数多少可以表达旋律的音长信息。当通过MIDI音乐得到音符的音长后,则根据采样率、帧长可以求得音长对应的帧数,如下式: N=t×FS/(FrameSize-Overlap)(1.5) 其中t为音符的音长,FS为采样率,FrameSize和Overlap分别表示帧长和帧间重叠长度。假设状态i对应的音符含有N帧,由于该状态中只有最后一帧能转移到下一个状态,则有状态转移概率矩阵PA(i,i1)=1/N,PA(i,i)=1-1/N。 ②利用均分法初
7、始化: 均分法过程可简单由图2.1所示,将每条语料的帧数平均划分到每个状态中,分别计算属于每个状态的所有帧的音高特征序列的方差和均值,作为观测状态概率值的均值μj和方差σj。对状态转移概率矩阵,假设每个状态共有M帧,一共有T句语料参与训练,则PA(i,i1)=T/M,PA(i,i)=1-T/M。 因为在训练时需要反复迭代语料,直到达到收敛条件为止,使用MIDI音乐进行初始化和利用均分法进行初始对于最后的训练结果差异不大,但两种方法各有优缺点。利用MIDI音乐进行初始化相当于在训练时加入了
此文档下载收益归作者所有