CN101504834A - 一种基于隐马尔可夫模型的哼唱式旋律识别方法 - Google Patents
一种基于隐马尔可夫模型的哼唱式旋律识别方法 Download PDFInfo
- Publication number
- CN101504834A CN101504834A CNA2009103011204A CN200910301120A CN101504834A CN 101504834 A CN101504834 A CN 101504834A CN A2009103011204 A CNA2009103011204 A CN A2009103011204A CN 200910301120 A CN200910301120 A CN 200910301120A CN 101504834 A CN101504834 A CN 101504834A
- Authority
- CN
- China
- Prior art keywords
- melody
- hmm
- model
- pitch
- humming
- 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
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开了一种基于隐马尔可夫模型的哼唱式旋律识别方法,要解决的技术问题是对大规模歌曲库保持较高的识别率和计算速度。本发明的方法建立有HMM旋律参数库,旋律识别时,旋律音高特征提取器提取用户哼唱语音的旋律音高特征后,输入至HMM旋律识别器,HMM旋律识别器从HMM旋律参数库获得旋律模型参数并进行初步识别,经二级筛选排序器筛选排序后输出识别结果。本发明与现有技术相比,通过抗噪音的音高特征提取、HMM旋律模型参数训练、HMM旋律模型识别以及二级筛选排序,完成对哼唱语音的识别,能够满足不同歌唱水平人员的使用需求,也能够针对大规模歌曲库保持较高的识别率和运算速度,具有推广应用价值和产业化前景。
Description
技术领域
本发明涉及一种应用计算机进行识别的方法,特别是一种利用计算机对哼唱语音进行旋律识别的方法。
背景技术
近年来,音乐娱乐服务日益走近人们的生活。随着iPod等MP3播放器产品的迅速兴起,以及音乐手机、个人数字助理PDA等手持随身智能设备的普及,互联网和移动网络上的音乐搜索和下载服务得到蓬勃发展,国内外都出现了一批专门从事音乐搜索的专业网站,为人们提供音乐搜索服务。卡啦OK娱乐系统也大都实现了电脑点歌功能,将歌曲集中组织成库,提供分类目录或编码表供人们查找和选择。同时,很多传统的DVD等播放设备也新增了卡啦OK点歌功能,集成了一定规模歌曲库供人们搜索。例如,步步高、新科等主流产商在其新款DVD产品中固化了5000~10000首歌曲,通过遥控器的交互从歌曲分类目录中挑选歌曲。在这些主流的音乐应用方式中,如何从成千上万的歌曲库中快速而有效地搜索出人们喜爱的歌曲就成为了一个关键问题。
然而,现有技术的音乐检索技术尚不能满足人们的应用需求。无论网络上还是卡啦OK系统中提供给人们的音乐搜索方式只有两种:要么基于文本进行,需要输入歌名、歌唱者等关键词;要么提供几种歌曲分类,如流行歌曲、民族歌曲、儿童歌曲等,使用者按照分类目录逐条浏览,进而从大量歌曲中选择自己喜欢的歌曲。现实生活中很多人往往记不住或记不准歌名、歌词,手机、PDA等手持设备的键盘功能单一文本输入尚不方便,卡啦OK点歌系统中的选歌器功能相对简单,这些问题的存在暴露了传统音乐检索方式的弱点。
基于哼唱的音乐检索(Query by Humming and Singing)方法是一种最简单、最自然的人机交互方式,正引起人们的重视。DTW(Dynamic Time Warping)、近似旋律匹配动态规划算法能够有效的解决哼唱歌曲与标准模板长度不一样而带来的匹配问题,因此被国内多家研究机构所采用。然而不足之处主要是:这类算法需使用不包含错误的标准歌曲模板,这些模板的参数事先通过MIDI(乐器数字化接口:Musial Instrument Digital Interface)原始音乐或专业水平的歌曲语料来提取,识别时与人们哼唱的语音进行匹配。这样的查询适应性较小,对于唱歌水平高的人识别率较高,对于大多数人来说识别率并不高。因为大多数业余的唱歌爱好者在歌唱时会出现多音、漏音和跑调的现象,与标准的歌曲模板匹配则会影响检索准确度,因此当哼唱水平不高时,系统识别率下降比较明显,不利于向广大用户推广使用。为了解决DTW等算法采用与标准模板进行匹配,导致查询适应性小这个固有问题,国际上Shifrin等人首先提出利用隐马尔可夫模型(HMM)及相关识别技术来进行哼唱检索,并在研究和实验中构建了一种有跳转的HMM来表示歌曲旋律,如图1(a)和图1(b)所示,以不同音高的音符作出分类,把不同类的音符作为HMM的不同状态,匹配过程中通过计算阈值来激活相应的状态,从而进行旋律匹配查询,取得了比较满意的结果。然而他们提出的HMM模型的拓扑结构较为复杂,对识别方法的复杂度和运行性能造成影响。图1所示的HMM模型是一种有跳转有循环不等长的拓扑结构,不同的歌曲旋律采用不同结构类型的HMM模型来表示。造成的突出问题是:当歌曲数目增多时,难以实现通用高效的模型识别方法,识别系统的识别性能下降。
总结起来,国内现有技术的歌曲哼唱识别方法都是DTW、近似旋律匹配等动态规划方法,没有涉及到对HMM方法的应用。这些方法都需要先建立歌曲的标准旋律特征模板,基于标准模板与人的哼唱录音进行匹配,客观上对使用者的歌唱水平有一定要求。当哼唱水平不高时,系统识别率下降比较明显,这样就不利于为大多数人所使用,不利于推广应用。DTW算法的计算量比较大,不利于处理大规模歌曲库的识别,其中几种方法在识别前需要对哼唱语音先做音符切分,会导致计算量增大,同时音符切分难以精确,会导致误差传递最终引起识别率下降。国际上Shifrin等人利用HMM方法来进行哼唱检索,能够有效地解决业余歌唱者歌唱水平不高对识别率造成的影响,取得了比较满意的实验结果。但是该模型结构很复杂,不同的旋律所建立的模型不同一,对识别算法的效率造成影响,不利于处理大规模歌曲库的识别。
发明内容
本发明的目的是提供一种基于隐马尔可夫模型的哼唱式旋律识别方法,要解决的技术问题是对大规模歌曲库,保持较高的识别率、抗噪音能力和计算速度。
本发明采用以下技术方案:一种基于隐马尔可夫模型的哼唱式旋律识别方法,所述基于隐马尔可夫模型的哼唱式旋律识别方法建立有HMM旋律参数库,旋律识别时,旋律音高特征提取器提取用户哼唱语音的旋律音高特征后,输入至HMM旋律识别器,HMM旋律识别器从HMM旋律参数库获得旋律模型参数并进行初步识别,经二级筛选排序器筛选排序后输出识别结果。
本发明的HMM旋律参数库,采用将MIDI音乐所包含的音高、音长先验知识导入到HMM旋律模型训练器,旋律音高特征提取器将采集的哼唱语料提取音高,输入至HMM旋律模型训练器,训练出旋律模型参数,全部旋律的模型参数集中起来,建立索引,形成HMM旋律参数库。
本发明的HMM旋律参数库中HMM旋律模型的建立,采用从左到右、没有跳转的HMM模型结构作为旋律的声学模型,模型中的每一个状态表示旋律中的一个音符或者几个相邻的且具有相同音高的音符。
本发明的HMM旋律参数库中HMM旋律模型参数的选取方法采用高斯概率密度函数来表示各状态的观测序列,整个模型的参数表示为状态转移概率矩阵、各状态高斯概率密度函数的均值序列和方差序列。
本发明的旋律音高特征提取器,利用FFT-ACF基音周期候选值快速估计和多重后处理的方法提取哼唱语音的基音周期,并转化成音高信息。该音高提取过程分为快速估计和多重后处理两个阶段:首先是在数字信号经典功率谱估计方法的基础上进行自相关运算FFT-ACF,快速提取基音周期候选值;然后针对这些候选值实施多重后处理方法,先利用通过实验确定的峰值阈参数对候选值进行初步的筛选,接着利用通过实验确定的一次均值参数将语音分为不同的音高段,再使用通过实验确定的二次均值参数为每个音高段确定合适的频率范围,最后提取出语音的基音周期。
本发明的HMM旋律模型训练器训练旋律模型参数的具体过程是,先将MIDI音乐中音符的标准音高和音长信息作为先验知识来设置HMM参数的初始值,每个状态的高斯概率密度函数的初始均值设置为MIDI音乐对应音高段的音高,方差设为1,将音符的音长转换成语音帧数N,设置状态转移概率矩阵中向下一个状态转移的概率为1/N,自转移的概率为1-1/N,其余项的值设为0;然后利用从哼唱语料中提取出来的音高值按照基于时间同步的宽度优先方法对模型参数进行估算;最后求取音高观测值序列对模型的最大累积概率,并进行路径回溯,确定音高观测值序列的最佳路径,按照该路径重新估算旋律的HMM参数。
本发明的HMM旋律识别器采用以逐帧计算哼唱语音对旋律模型累积概率的方法,求取哼唱语音对于HMM旋律参数库中各个模型的最大累积概率,取出前几名最佳值进而得到识别结果。
本发明的二级筛选排序器对HMM旋律识别器筛选出来的结果,进行第二次排序和筛选。
本发明的二次排序和筛选采用将HMM旋律模型的参数依次转化成音高序列,作为一个标准匹配模板,哼唱语音的特征参数形成另一个匹配模板,两者之间求DTW距离,最后将所有入围旋律模型与哼唱语音的DTW距离从小到大排序,得到更优的识别结果。
本发明与现有技术相比,通过抗噪音的音高特征提取、HMM旋律模型参数训练、HMM旋律模型识别,对大规模歌曲库保持较高的识别率和计算速度,实验表明,本发明方法设计的哼唱式识别系统抗噪音干扰能力强,能够满足不同歌唱水平人员的使用需求,能够针对多数人的唱歌行为特点保持高识别率,也能够针对大规模歌曲库保持较高的识别率和运算速度,具有推广应用价值和产业化前景。
附图说明
图1(a)是现有技术的HMM模型拓扑结构图(一)。
图1(b)是现有技术的HMM模型拓扑结构图(二)。
图2(a)是本发明HMM旋律模型结构及状态参数示意图。
图2(b)是本发明连续型HMM高斯密度状态函数图。
图3是本发明方法的旋律哼唱识别系统结构图。
图4(a)是本发明实施例1单个旋律训练与模型参数情况图。
图4(b)是本发明实施例1哼唱旋律识别情况图。
图5是本发明的方法应用在网上音乐检索的系统结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。如图3所示,本发明基于隐马尔可夫模型的哼唱式旋律识别方法,通过将MIDI音乐所包含的先验知识导入到HMM旋律模型训练器,旋律音高特征提取器将采集的哼唱语料提取音高,至HMM旋律训练器,训练出旋律模型参数,全部旋律的模型参数集中起来,建立索引,形成HMM旋律参数库;旋律识别时,旋律音高特征提取器提取用户哼唱语音的旋律音高特征后,输入至HMM旋律识别器,HMM旋律识别器从HMM旋律参数库获得旋律模型参数并进行初步识别,经二级筛选排序器筛选排序后输出识别结果。HMM旋律模型训练器训练旋律模型参数的具体过程是,先将MIDI音乐中音符的标准音高和音长信息作为先验知识来设置HMM参数的初始值,每个状态的高斯概率密度函数的初始均值设置为MIDI音乐对应音高段的音高,方差设为1,将音符的音长转换成语音帧数N,设置状态转移概率矩阵中向下一个状态转移的概率为1/N,自转移的概率为1-1/N,其余项的值设为0;然后利用从哼唱语料中提取出来的音高值按照基于时间同步的宽度优先方法对模型参数进行估算;最后求取音高观测值序列对模型的最大累积概率,并进行路径回溯,确定音高观测值序列的最佳路径,按照该路径重新估算旋律的HMM参数。
HMM旋律参数库模型的建立及模型参数的选取,采用一种从左到右、没有跳转的HMM模型结构作为旋律的声学模型,模型中的每一个状态表示旋律中的一个音符或者几个相邻的且具有相同音高的音符。为歌曲库中的旋律建立结构同一的声学模型,模型参数选择连续型HMM,即CHMM,这种结构和参数便于提高计算速度,也便于处理大规模歌曲库的识别。HMM旋律模型参数的选取方法采用高斯概率密度函数来表示各状态的观测序列,整个模型的参数表示为状态转移概率矩阵、各状态高斯概率密度函数的均值序列和方差序列。
旋律音高特征提取器,利用基于功率谱自相关计算FFT-ACF的基音周期候选值快速估计和多重后处理的方法提取旋律及哼唱语音的基音周期,并转化成音高信息。音高提取过程分为快速估计和多重后处理两个阶段:首先是通过FFT-ACF算法,即在数字信号经典功率谱估计方法的基础上进行自相关运算,快速提取基音周期候选值;然后针对这些候选值实施多重后处理方法,先利用通过实验确定的峰值阈参数对候选值进行初步的筛选,接着利用通过实验确定的一次均值参数将语音分为不同的音高段,再使用通过实验确定的二次均值参数为每个音高段确定合适的频率范围,最后提取出语音的基音周期。这种音高提取方法具有精度高、抗干扰能力强的特点。
HMM旋律模型训练器分为模型参数初始化、模型估算和模型重估3个步骤。方法是:(1)将乐谱或者MIDI音乐中的标准音高和音长信息作为先验知识来初始化HMM参数,确定每个状态的高斯概率密度函数的初始均值和方差,确定状态转移概率矩阵的初始情况;(2)利用基于时间同步的宽度优先方法对模型参数进行估算;(3)求取音高观测值序列对模型的最大累积概率,并进行路径回溯,确定音高观测值序列的最佳路径,然后重新估算旋律的HMM参数。
HMM旋律识别器采用逐帧计算哼唱语音对旋律模型累积概率的方法,求取哼唱语音对于HMM旋律参数库中各个模型的最大累积概率,取出前几名最佳值进而得到识别结果。其特点是不进行音符切分:对于一段用于识别的哼唱语音,逐帧提取音高和进行音调转移,求该语音帧对于每个HMM模型的累积概率,当最后一帧语音计算完毕,则当前计算出的累积概率就是最大累积概率。
二级筛选排序器针对HMM旋律识别过程筛选出来的结果,进行第二次排序和筛选,进一步区分开特征较为相似的旋律。具体做法是:根据哼唱识别问题的物理意义,HMM旋律模型的状态转移矩阵隐含地代表各个状态所包含的语音帧数,它们的音高可由模型参数中的均值序列确定,于是将旋律模型参数依次转化成音高序列,作为一个标准匹配模板,哼唱语音的特征参数形成另一个匹配模板,两者之间求DTW距离,最后将所有入围旋律模型与哼唱语音的DTW距离从小到大排序,得到更优的识别结果。
本发明关键的是三部分:首先是模型建立方法。采用统一的HMM模型结构,进行旋律特征的声学建模。其次是模型训练方法。针对采用的模型结构,以歌曲的MIDI语料特征为初始值,采集有代表性的哼唱语料进行HMM模型参数训练,使模型参数适合各种歌唱水平的使用者。第三,是模型识别方法。所有HMM旋律模型采用统一的识别方法,以语音帧为单位进行识别,回避了音符切分过程,使检索的时间短、效率高,并且在使用者歌唱水平有限的情况下也能较好识别。
隐马尔可夫模型属于信号统计理论模型,能够很好的处理随机时序数据的识别与预测,隐马尔可夫模型是一种双重随机过程有限状态自动机:一重随机过程用于描述非平稳信号的短时平稳段的统计特征(信号的瞬间特征,可直接观测到的观测值);另一重随机过程描述了每个短时平稳段如何转变到下一个短时平稳段,即短时统计特征的动态特性(隐含在观测序列中)。每个HMM可以用5元特征参数来表示,λ={N,M,A,B,π},其中N为状态总数,M为每个状态对应的观测事件数,A为状态转移矩阵,B为观测状态概率值,π为起始状态概率而言。对于连续隐马尔可夫模型(CHMM)而言,观测状态概率值B由一个d维的高斯概率密度函数来表示。与已有建模方法不同,本发明采用从左到右、没有跳转的HMM模型结构建立旋律的声学模型,其中每一个状态一般描述一个音符,如果这段旋律中有几个相邻音符具有相同的音高,则将这些音符归并到同一个状态,如图2(a)所示。根据乐谱可以确定每个旋律模型的状态数,或通过MIDI音乐自动计算出旋律的状态数。用经过音调转换的音高序列表示旋律特征,利用HMM的二重随机特性隐含表示音长信息,从而避免了音符切分,使哼唱方式更自然。实验结果表明:使用这种经过简化的旋律模型,有利于出设计高效率的识别算法,明显提高了识别率和运行性能。
本发明的第二个关键过程是HMM旋律模型参数的训练方法。在此过程中,需要为每首歌曲已建立模型的旋律采集数量足够的有代表性的哼唱语料。本发明借助乐谱和MIDI音乐来初始化HMM模型参数。乐谱和MIDI音乐中包含了标准的音高和音长信息,本发明把乐谱和MIDI音乐作为先验知识加入到模型参数训练过程,训练时先初始化HMM参数,与使用均分法来初始化参数相比可以使训练过程收敛更快,特别是使训练出的模型参数适应各种歌唱水平的人。训练时,不需要对这些哼唱语料做音符切分,利用本发明的语音基频提取方法逐帧提取哼唱语料的基频并转换成音高。训练过程也不去计算哼唱语料中包含的音长信息,利用哼唱语料逐帧的音高差自动训练出每个旋律模型的观测状态概率值和状态转移概率矩阵。这样的模型参数能够适应不同男女性别、不同起调、不同歌唱水平人员的哼唱识别应用。
本发明将歌曲库中所有旋律建立HMM模型,并用对应语料进行训练后,得到每个旋律模型的最佳参数。为每个HMM模型分配一个数据结构存放模型的参数结构和通过训练得到的模型参数值,为每个模型建立索引,将所有模型的参数结构组织起来,最终形成与歌曲库对应的模型参数库。本发明的识别过程在模型参数库的基础上进行,识别的核心方法说明如下:
音高序列第一帧必属于第一个状态,音高序列最后一帧可属于任意状态,对于音高观测值序列x=[x1,x2,...,xm],则有x序列对模型的最大累积概率为MaxPro=maxD(m,j),D(m,j)则表示经过了HMM的前j个状态,前m个观测值产生的累积概率。
对于一段用于检索的哼唱旋律i,对它进行分帧、提取音高、音调转移后,求出这段旋律对于每个旋律模型的最大累积概率MaxProi,全部MaxProi序列中的最大值便表示这段旋律与产生该最大累积概率的模型最为匹配,该模型即可作为识别的结果。
实施例1,基于Intel Pentium 1.4GHz CPU、256M内存、标准声卡的PC计算机硬件环境和Windows XP操作系统的哼唱选歌系统,选取500首传唱很广的有代表性的民族歌曲进行了哼唱识别实践,基于连续型隐马尔可夫模型CHMM确定了一套具有高识别率、速度快、运行稳定的技术实施方法,包括以下5个部分:
(1)旋律模型的建立及模型参数的选取,以CHMM为基础建立旋律模型,采用从左到右、没有跳转的便于计算的模型拓扑结构,如图2(a)所示。模型的观测状态概率值采用高斯概率密度函数来表示,如图2(b)所示。这种CHMM模型结构及参数的最大优点是有助于降低识别算法的复杂度,设计快速、高性能的识别算法,适应大规模歌曲库应用的需求。
(2)哼唱语音音高提取,利用基于FFT-ACF的基音周期候选值快速估计和多重后处理的方法提取旋律及哼唱语音的基音周期并转化成音高信息。音高提取过程分为快速估计和多重后处理两个阶段,首先是在数字信号经典功率谱估计方法的基础上进行自相关运算(即FFT-ACF方法),快速提取基音周期候选值;然后针对这些候选值实施多重后处理算法,通过实验确定了峰值阈、均值阈等一组参数,先利用通过实验确定的峰值阈参数对候选值进行初步的筛选,接着利用通过实验确定的一次均值参数将语音分为不同的音高段,再使用通过实验确定的二次均值参数为每个音高段确定合适的频率范围,最后精确地提取出语音的基音周期。这种音高提取方法明显降低了传统语音基音周期提取方法所常见的倍频和半频错误,具有很强的抗噪音干扰能力。
(3)CHMM旋律模型训练器,分为模型参数初始化、模型估算和模型重估3个步骤:模型的每个状态描述一个音符,如果相邻的音符有相同的音高也归并到同一个状态来表示。于是利用旋律所对应的乐谱就能够建立这段旋律对应的声学模型,并确定模型的状态数。本发明借助乐谱和MIDI标准音乐来初始化CHMM参数,确定每个状态的高斯概率密度函数的初始均值和方差,确定状态转移概率矩阵的初始情况。由于乐谱和MIDI音乐中包含了标准的音高和音长信息,利用乐谱和MIDI音乐初始化CHMM参数实际是在训练过程中加入了先验知识,因此与用均分法初始化参数相比可以使训练过程收敛更快,特别是使这样的模型参数能够适应专业或普通等不同歌唱水平人员的哼唱识别应用。
在得到了CHMM的初始化参数后,CHMM旋律模型训练器按照基于时间同步的宽度优先方法对模型进行估算,具体实现方法是:对于一组长度为m的音高观测值序列x=[x1,x2,...,xm],以及一个含有n个状态的CHMM来说,建立一个m×n的表格D,表格中的每个位置的值可通过计算累积概率D(i,j)得到。在D(i,j)中i,i分别表示帧数和状态数。D(i,j)表示经过了CHMM的前j个状态,前i个观测值产生的累积概率。
对于音高观测值序列x=[x1,x2,...,xm],因为音高序列最后一帧可属于任意状态,则有x序列对模型的最大累积概率为MaxPro=maxD(m,j),假设音高观测值序列最后一帧属于状态j,借由表格D,从状态j路径回溯,得到音高观测值序列的最佳路径。最佳路径记录每个音高观测值该属于哪个状态。假设最佳路径中属于状态j的帧数为k,连接这些帧,得到音高观测值序列y=[y1,y2,...,yk],于是可重新估算CHMM的参数:
其中,μ及σ分别为概率密度函数的均值序列及均方差序列,PA为状态转移矩阵。
(4)CHMM旋律识别器,将所有需要检索旋律的CHMM用对应语料进行训练,得到每个CHMM的最佳参数。对于一段用于识别的哼唱旋律,对它进行逐帧提取音高、音调转移后,逐帧计算这段哼唱旋律对于每个CHMM模型的最大累积概率MaxProi,MaxProi序列中的最大值便表示这段旋律与产生最大累积概率的模型最为匹配,即待识别的旋律是模型对应旋律的可能性最大。在计算累积概率D(i,j)的基础上考虑到哼唱识别应用的物理意义,利用MIDI标准音乐初始化CHMM模型的状态转移概率矩阵之后,设计出的旋律识别方法能明显提高系统识别过程的效率。这种方法与以音符为处理单位、需要借助音符切分来获取旋律每个音符的音长的哼唱识别方法有本质不同,本发明以帧为处理单位来进行训练和识别,逐帧依次计算模型的最大累积概率,避免了音符切分,不用计算每个音符的音长,提高了识别速度。本发明实际上是利用CHMM的双重随机过程的特性,用帧数来代表音长信息,将旋律的音长隐含的在模型中体现,避免了在前端加入音符分割来获取音长信息,从而减少了识别过程的计算量,也消除了可能带来的传导误差。
(5)二级筛选排序器,基于CHMM的模型识别方法可以得到较高的识别率,当歌曲库规模扩大时,存在一些特征较为相似的旋律,为了进一步提高识别的精确度,本发明采用一种二级排序筛选方法来进行旋律的筛选,两次筛选的做法是通过基于CHMM模型的第一次筛选,在很短的时间内排除掉一大部分候选歌曲,然后在第一次筛选的结果中进行第二次筛选,对入围的候选歌曲与哼唱旋律做特征匹配,最终得到更准确的排序结果。第二次筛选方法的具体做法是:根据哼唱识别问题的物理意义,将路径搜索窗口由矩形区域调整为基于原点的扇形区域,将CHMM模型参数的状态转移矩阵和均值序列转化成音高序列,作为一个标准的匹配模板,哼唱语音的音高特征参数形成另一个匹配模板,两者之间求DTW距离,最后将所有入围模型与哼唱语音的DTW距离从小到大排序,取前几名作为识别结果。这种特殊的DTW计算方法使搜索空间更加合理,提高了检索精度和效率。
这种筛选方法使用二种速度和精度不同的检索方法来检索歌曲,第二次检索的集合很小,而检索的精度增加,给出精确的排序。这种策略特别适合手机、PDA等嵌入式设备,由于屏幕很小,信息交互有限,希望识别系统能够准确给出前5名识别出的歌曲。
基于上述实施方法,在Windows环境下实际设计了一个名为摵吆邤的哼唱识别应用系统软件,采用Visual C++6.0进行设计,通过哼唱一段8秒左右的哼唱片断来获得需要检索的歌曲,系统可检索500首歌曲,前5名检索准确率达到了92.06%,平均检索时间为1.19秒,取得了令人满意的识别性能和运算速度,其抗噪音干扰性能尤为突出,适用于大型会场、卡啦OK厅等强噪音场合。
下面结合一首歌曲来详细说明上述过程的实现。以歌曲“康定情歌”的第一句“跑马溜溜的山上,一段溜溜的情哟”为例,该旋律的曲谱为:|3 5 6 6 5 6.3 2-|3 5 6 6 5 6 3.-|。首先,要为该旋律建立HMM模型和确定模型参数的结构。考虑到旋律末尾有一个停顿,根据“一个音符一个状态、相邻且音高相等音符合并成同一个状态”的原则,按照如图2(a)所示的结构建立了HMM模型,模型的状态数确定为16,采用连续型高斯概率密度函数来表示各状态的观测序列。其次是进行模型参数的训练工作,选择了性别、年龄、籍贯尽量不相同的50个人作为语料采样者,这些人不要求有专业歌唱水平,只要求不跑调即可。每人哼唱上述旋律一次,利用Cool Edit 2.0工具软件录制下来,保存到计算机上的同一个目录中。得到该模型的状态转移矩阵、均值序列和方差序列,训练过程和参数情况如图4(a)所示。将这个模型参数放到模型参数库中,建立好索引。接下来就可以进入旋律识别过程,歌唱者使用本实施实例设计的旋律识别软件,点击“开始哼唱”按钮,对着麦克风哼唱一段8~10秒的旋律,计算机完成录音(Record),然后依次完成音高特征的提取(Extract)、计算(Maxpro)本次哼唱语音与模型参数库中各个模型的最大累积概率、挑选(Choose)出前20名歌曲进入二级筛选排序,最后计算机通过计算(Compute)本次哼唱音高特征序列与这20个模型的DTW距离,取出(Order)距离值最小的前5名作为最终的识别结果反馈(Display)到用户界面上,如图4(b)所示。
实施实例2,基于Windows Mobile操作系统环境的哼唱选歌系统,在实施实例1的基础上,将哼唱选歌系统向嵌入式操作系统中移植。实际进行向以ARM为中央处理器、以WindowsMobile为操作系统的智能手机及PDA中移植的工作,也得到了理想的识别性能和运算速度。系统的运行环境是:CPU为ARM系列的TIOMAP850,操作系统为Windows Mobile 6.1,RAM为128M,ROM为512M,显示屏为320X240的26万色TFT LCD,采用Visual C++.Net 2005进行设计。系统采集用户的哼唱输入,经过音高特征提取和识别排序过程,给出前5名识别出的歌曲供用户播放。
仍然以歌曲“康定情歌”的第一句旋律“跑马溜溜的山上,一段溜溜的情哟”为例,来说明上述过程的实现。在实施实例2中,旋律模型的建立与参数的确定与实施实例1相同,并直接使用在实施实例1中训练出来的旋律模型参数和建立好的模型参数库。由于硬件环境和操作系统不同,故在本实施实例中旋律识别软件要按照ARM系列CPU的指令集重新编写和编译,软件的处理流程和用户操作界面与实施实例1一样。歌唱者使用本实施实例设计的旋律识别软件,点击“开始哼唱”按钮,对着麦克风哼唱一段8~10秒的旋律,计算机完成录音(Record),然后依次完成音高特征的提取(Extract)、计算(Maxpro)本次哼唱语音与模型参数库中各个模型的最大累积概率、挑选(Choose)出前20名歌曲进入二级筛选排序,最后计算机通过计算(Compute)本次哼唱音高特征序列与这20个模型的DTW距离,取出(Order)距离值最小的前5名作为最终的识别结果反馈(Display)到用户界面上,如图4(b)所示。
实施实例3,基于网络环境的哼唱歌曲检索系统,在实施实例1和2的基础上,实施网上音乐检索,支持用户使用哼唱这一最简单人机交互方式检索歌曲,网络服务器根据哼唱识别的结果将歌曲从存储器歌曲数据库中发布出来,按照流行的格式提供给用户下载或者播放。网上音乐检索系统的体系结构如图5所示。旋律HMM参数库和歌曲库设置在远程服务器上,旋律HMM参数库和歌曲库之间建立起索引关系,一个旋律HMM对应到包含这段旋律的歌曲上。旋律HMM参数库按照在实施实例1的方法进行训练,CHMM旋律识别器和二级筛选排序器设计在服务器端的应用程序中。用户端包括笔记本电脑、PC计算机、手机、PDA等智能终端设备。服务器端和用户端通过路由器、WAP等网关设备与Internet建立连接,实现数据通信。用户端上设计的哼唱选歌程序负责采集用户的哼唱语音,提取音高特征并上传到服务器端。服务器端识别程序接收到用户端上传来的特征序列后,开始模型识别和二级筛选排序过程,将最终的识别结果发送回给用户端。用户端接收到最终的识别结果后完成信息显示、播放或下载歌曲。
仍然以歌曲“康定情歌”的第一句旋律“跑马溜溜的山上,一段溜溜的情哟”为例,来说明上述过程的实现。在实施实例3中,旋律模型的建立与参数的确定与实施实例1相同,并直接使用在实施实例1中训练出来的旋律模型参数和建立好的模型参数库。由于本实例在Internet网络上实施,故在软件实现上采用分布式处理结构,分成用户端和服务器端,采用Visual C++6.0进行设计。用户端只负责录制歌唱者的哼唱语音、提取语音音高参数并上传到服务器和从服务器接收最终的识别结果。旋律模型参数库设置在服务器上,服务器端接收到用户端传递(Send)来的音高特征参数序列后,即开始计算(Maxpro)该音高序列与模型参数库中各个模型的最大累积概率、挑选(Choose)出前20名歌曲进入二级筛选排序,最后通过计算(Compute)本次哼唱音高特征序列与这20个模型的DTW距离,取出(Order)距离值最小的前5名作为最终的识别结果,最后把识别结果传递(Display)给用户端。
本发明的方法不仅可以应用在Internet网络上,用于歌曲搜索服务、3G以及WiMax等移动通信网络中彩铃、音乐搜索服务等热点领域,解决目前基于文本进行音乐搜索的许多不便之处,具有广阔的市场前景。可以应用在有线电视网络中,与嵌入到智能机顶盒或数字电视机中,提高音乐搜索及播放功能。可以应用于卡啦OK点歌系统或设备中,解决输入功能简单、歌曲搜索方式落后等问题。也可以作为歌唱评价技术,设计音乐教学与培训产品。还可以应用于教育部门、数字化图书馆、多媒体数据中心等领域,提供一个便捷的检索音频资源的新手段,具有良好的社会效益。
Claims (9)
- 【权利要求1】一种基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述基于隐马尔可夫模型的哼唱式旋律识别方法建立有HMM旋律参数库,旋律识别时,旋律音高特征提取器提取用户哼唱语音的旋律音高特征后,输入至HMM旋律识别器,HMM旋律识别器从HMM旋律参数库获得旋律模型参数并进行初步识别,经二级筛选排序器筛选排序后输出识别结果。
- 【权利要求2】根据权利要求1所述的基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述HMM旋律参数库,采用将MIDI音乐所包含的音高、音长先验知识导入到HMM旋律模型训练器,旋律音高特征提取器将采集的哼唱语料提取音高,输入至HMM旋律模型训练器,训练出旋律模型参数,全部旋律的模型参数集中起来,建立索引,形成HMM旋律参数库。
- 【权利要求3】根据权利要求2所述的基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述HMM旋律参数库中HMM旋律模型的建立,采用从左到右、没有跳转的HMM模型结构作为旋律的声学模型,模型中的每一个状态表示旋律中的一个音符或者几个相邻的且具有相同音高的音符。
- 【权利要求4】根据权利要求3所述的基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述HMM旋律参数库中HMM旋律模型参数的选取方法采用高斯概率密度函数来表示各状态的观测序列,整个模型的参数表示为状态转移概率矩阵、各状态高斯概率密度函数的均值序列和方差序列。
- 【权利要求5】根据权利要求4所述的基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述旋律音高特征提取器,利用FFT-ACF基音周期候选值快速估计和多重后处理的方法提取哼唱语音的基音周期,并转化成音高信息。该音高提取过程分为快速估计和多重后处理两个阶段:首先是在数字信号经典功率谱估计方法的基础上进行自相关运算FFT-ACF,快速提取基音周期候选值;然后针对这些候选值实施多重后处理方法,先利用通过实验确定的峰值阈参数对候选值进行初步的筛选,接着利用通过实验确定的一次均值参数将语音分为不同的音高段,再使用通过实验确定的二次均值参数为每个音高段确定合适的频率范围,最后提取出语音的基音周期。
- 【权利要求6】根据权利要求5所述的基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述HMM旋律模型训练器训练旋律模型参数的具体过程是,先将MIDI音乐中音符的标准音高和音长信息作为先验知识来设置HMM参数的初始值,每个状态的高斯概率密度函数的初始均值设置为MIDI音乐对应音高段的音高,方差设为1,将音符的音长转换成语音帧数N,设置状态转移概率矩阵中向下一个状态转移的概率为1/N,自转移的概率为1-1/N,其余项的值设为0;然后利用从哼唱语料中提取出来的音高值按照基于时间同步的宽度优先方法对模型参数进行估算;最后求取音高观测值序列对模型的最大累积概率,并进行路径回溯,确定音高观测值序列的最佳路径,按照该路径重新估算旋律的HMM参数。
- 【权利要求7】根据权利要求6所述的基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述HMM旋律识别器采用以逐帧计算哼唱语音对旋律模型累积概率的方法,求取哼唱语音对于HMM旋律参数库中各个模型的最大累积概率,取出前几名最佳值进而得到识别结果。
- 【权利要求8】根据权利要求7所述的基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述二级筛选排序器对HMM旋律识别器筛选出来的结果,进行第二次排序和筛选。
- 【权利要求9】根据权利要求8所述的基于隐马尔可夫模型的哼唱式旋律识别方法,其特征在于:所述二次排序和筛选采用将HMM旋律模型的参数依次转化成音高序列,作为一个标准匹配模板,哼唱语音的特征参数形成另一个匹配模板,两者之间求DTW距离,最后将所有入围旋律模型与哼唱语音的DTW距离从小到大排序,得到更优的识别结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009103011204A CN101504834B (zh) | 2009-03-25 | 2009-03-25 | 一种基于隐马尔可夫模型的哼唱式旋律识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009103011204A CN101504834B (zh) | 2009-03-25 | 2009-03-25 | 一种基于隐马尔可夫模型的哼唱式旋律识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101504834A true CN101504834A (zh) | 2009-08-12 |
CN101504834B CN101504834B (zh) | 2011-12-28 |
Family
ID=40977056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009103011204A Expired - Fee Related CN101504834B (zh) | 2009-03-25 | 2009-03-25 | 一种基于隐马尔可夫模型的哼唱式旋律识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101504834B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930732A (zh) * | 2010-06-29 | 2010-12-29 | 中兴通讯股份有限公司 | 基于用户输入语音的乐曲生成方法及装置、智能终端 |
CN101980336A (zh) * | 2010-10-18 | 2011-02-23 | 福州星网视易信息系统有限公司 | 一种基于隐马尔可夫模型的汽车声音识别方法 |
CN102497400A (zh) * | 2011-11-30 | 2012-06-13 | 上海博泰悦臻电子设备制造有限公司 | 车载收音设备的音乐媒体信息获取方法和系统 |
CN104143339A (zh) * | 2013-05-09 | 2014-11-12 | 索尼公司 | 音乐信号处理设备和方法、以及程序 |
CN106778477A (zh) * | 2016-11-21 | 2017-05-31 | 深圳市酷浪云计算有限公司 | 网球拍动作识别方法及装置 |
WO2017162187A1 (zh) * | 2016-03-24 | 2017-09-28 | 腾讯科技(深圳)有限公司 | 音频识别方法、装置和计算机存储介质 |
WO2018018285A1 (zh) * | 2016-07-24 | 2018-02-01 | 张鹏华 | 一种听旋律识别歌名的方法和识别系统 |
WO2018018284A1 (zh) * | 2016-07-24 | 2018-02-01 | 张鹏华 | 根据旋律识别歌曲时的技术信息推送方法和识别系统 |
CN108202334A (zh) * | 2018-03-22 | 2018-06-26 | 东华大学 | 一种能够识别音乐节拍和风格的舞蹈机器人 |
CN108257591A (zh) * | 2016-12-29 | 2018-07-06 | 北京酷我科技有限公司 | 一种音乐的识别方法及系统 |
CN109920449A (zh) * | 2019-03-18 | 2019-06-21 | 广州市百果园网络科技有限公司 | 节拍分析方法、音频处理方法及装置、设备、介质 |
CN109979422A (zh) * | 2019-02-21 | 2019-07-05 | 百度在线网络技术(北京)有限公司 | 基频处理方法、装置、设备及计算机可读存储介质 |
CN109979483A (zh) * | 2019-03-29 | 2019-07-05 | 广州市百果园信息技术有限公司 | 音频信号的旋律检测方法、装置以及电子设备 |
CN111613246A (zh) * | 2020-05-28 | 2020-09-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频分类提示方法以及相关设备 |
CN112735365A (zh) * | 2020-12-24 | 2021-04-30 | 重庆悦派对信息科技有限公司 | 一种基于概率模型的主旋律自动提取算法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007033901A (ja) * | 2005-07-27 | 2007-02-08 | Nec Corp | 音声認識システム、音声認識方法、および音声認識用プログラム |
CN101364238B (zh) * | 2008-09-17 | 2010-12-15 | 清华大学 | 分层递阶的歌曲旋律检索方法 |
-
2009
- 2009-03-25 CN CN2009103011204A patent/CN101504834B/zh not_active Expired - Fee Related
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930732A (zh) * | 2010-06-29 | 2010-12-29 | 中兴通讯股份有限公司 | 基于用户输入语音的乐曲生成方法及装置、智能终端 |
CN101930732B (zh) * | 2010-06-29 | 2013-11-06 | 中兴通讯股份有限公司 | 基于用户输入语音的乐曲生成方法及装置、智能终端 |
CN101980336A (zh) * | 2010-10-18 | 2011-02-23 | 福州星网视易信息系统有限公司 | 一种基于隐马尔可夫模型的汽车声音识别方法 |
CN102497400A (zh) * | 2011-11-30 | 2012-06-13 | 上海博泰悦臻电子设备制造有限公司 | 车载收音设备的音乐媒体信息获取方法和系统 |
CN104143339A (zh) * | 2013-05-09 | 2014-11-12 | 索尼公司 | 音乐信号处理设备和方法、以及程序 |
CN107229629B (zh) * | 2016-03-24 | 2021-03-19 | 腾讯科技(深圳)有限公司 | 音频识别方法及装置 |
WO2017162187A1 (zh) * | 2016-03-24 | 2017-09-28 | 腾讯科技(深圳)有限公司 | 音频识别方法、装置和计算机存储介质 |
CN107229629A (zh) * | 2016-03-24 | 2017-10-03 | 腾讯科技(深圳)有限公司 | 音频识别方法及装置 |
US10949462B2 (en) | 2016-03-24 | 2021-03-16 | Tencent Technology (Shenzhen) Company Limited | Audio identification method and apparatus, and computer storage medium |
WO2018018285A1 (zh) * | 2016-07-24 | 2018-02-01 | 张鹏华 | 一种听旋律识别歌名的方法和识别系统 |
WO2018018284A1 (zh) * | 2016-07-24 | 2018-02-01 | 张鹏华 | 根据旋律识别歌曲时的技术信息推送方法和识别系统 |
CN106778477B (zh) * | 2016-11-21 | 2020-04-03 | 深圳市酷浪云计算有限公司 | 网球拍动作识别方法及装置 |
US10737158B2 (en) | 2016-11-21 | 2020-08-11 | Shenzhen Coollang Cloud Computing Co., Ltd | Method and device for recognizing movement of tennis racket |
CN106778477A (zh) * | 2016-11-21 | 2017-05-31 | 深圳市酷浪云计算有限公司 | 网球拍动作识别方法及装置 |
CN108257591A (zh) * | 2016-12-29 | 2018-07-06 | 北京酷我科技有限公司 | 一种音乐的识别方法及系统 |
CN108202334B (zh) * | 2018-03-22 | 2020-10-23 | 东华大学 | 一种能够识别音乐节拍和风格的舞蹈机器人 |
CN108202334A (zh) * | 2018-03-22 | 2018-06-26 | 东华大学 | 一种能够识别音乐节拍和风格的舞蹈机器人 |
CN109979422A (zh) * | 2019-02-21 | 2019-07-05 | 百度在线网络技术(北京)有限公司 | 基频处理方法、装置、设备及计算机可读存储介质 |
CN109979422B (zh) * | 2019-02-21 | 2021-09-28 | 百度在线网络技术(北京)有限公司 | 基频处理方法、装置、设备及计算机可读存储介质 |
CN109920449A (zh) * | 2019-03-18 | 2019-06-21 | 广州市百果园网络科技有限公司 | 节拍分析方法、音频处理方法及装置、设备、介质 |
CN109979483A (zh) * | 2019-03-29 | 2019-07-05 | 广州市百果园信息技术有限公司 | 音频信号的旋律检测方法、装置以及电子设备 |
CN111613246A (zh) * | 2020-05-28 | 2020-09-01 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频分类提示方法以及相关设备 |
CN112735365A (zh) * | 2020-12-24 | 2021-04-30 | 重庆悦派对信息科技有限公司 | 一种基于概率模型的主旋律自动提取算法 |
Also Published As
Publication number | Publication date |
---|---|
CN101504834B (zh) | 2011-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101504834B (zh) | 一种基于隐马尔可夫模型的哼唱式旋律识别方法 | |
CN103823867B (zh) | 一种基于音符建模的哼唱式音乐检索方法及系统 | |
CN101615302B (zh) | 音乐数据驱动的基于机器学习的舞蹈动作生成方法 | |
Schedl et al. | Music information retrieval: Recent developments and applications | |
CN102053998A (zh) | 一种利用声音方式检索歌曲的方法及系统装置 | |
CN102024058B (zh) | 音乐推荐方法及系统 | |
CN102654859A (zh) | 一种歌曲推荐方法及系统 | |
CN103366784B (zh) | 具有语音控制和哼唱检索功能的多媒体播放方法及装置 | |
CN105488135B (zh) | 直播内容分类方法及装置 | |
CN105095433A (zh) | 实体推荐方法及装置 | |
CN107799116A (zh) | 多轮交互并行语义理解方法和装置 | |
CN101996627A (zh) | 语音处理装置、语音处理方法和程序 | |
CN105740310B (zh) | 一种用于问答系统中的自动答案摘要方法及系统 | |
CN109376265A (zh) | 歌曲推荐列表生成方法、介质、装置和计算设备 | |
CN106407287A (zh) | 一种推送多媒体资源的方法及系统 | |
Miao et al. | Humming-query and reinforcement-learning based modeling approach for personalized music recommendation | |
CN102841932A (zh) | 一种基于内容的音频语义特征相似度比较方法 | |
CN111460215B (zh) | 音频数据处理方法、装置、计算机设备以及存储介质 | |
CN113220929A (zh) | 一种基于时间驻留与状态驻留混合模型的音乐推荐方法 | |
CN105575400A (zh) | 一种获取歌曲信息的方法、终端、服务器和系统 | |
CN108717445A (zh) | 一种基于历史数据的在线社交平台用户兴趣推荐方法 | |
CN111026908B (zh) | 歌曲标签确定方法、装置、计算机设备以及存储介质 | |
CN111339865A (zh) | 一种基于自监督学习的音乐合成视频mv的方法 | |
CN106528653A (zh) | 一种基于图嵌入模型的上下文感知音乐推荐方法 | |
Batke et al. | A Query by Humming system using MPEG-7 Descriptors |
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: 20111228 Termination date: 20190325 |