200806052225基于内容的音频检索算法研究2012-5-20 - 图

更新时间:2024-04-25 18:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕 业 设 计

中文题目 英文题目

基于内容的音频检索算法研究 Research on Content-based Audio

Retrieval Algorithm

系 别: 年级专业: 姓 名: 学 号: 指导教师: 职 称:

电子与电气工程系 2008级通信工程

洪巧巧 200806052225

唐骏 讲师

2012 年 6 月 1 日

毕业设计诚信声明书

本人郑重声明:在毕业设计工作中严格遵守学校有关规定,恪守学术规范;我所提交的毕业设计是本人在 指导教师的指导下独立研究、撰写的成果,设计中所引用他人的文字、研究成果,均已在设计中加以说明;在本人的毕业设计中未剽窃、抄袭他人的学术观点、思想和成果,未篡改实验数据。

本设计和资料若有不实之处,本人愿承担一切相关责任。

学生签名:

年 月 日

1

基于内容的音频检索算法研究

摘要

随着互联网的快速发展以及网络技术的普及,人们的日常生活越来越离不开网络上大量的多媒体数据,希望通过网络寻找到他们感兴趣的资源。基于内容的检索CBR(Content Based Retrieval)应运而生,其中的音频检索、图像检索与视频检索并列为当今基于内容检索研究的热点,而基于内容的检索中的一支——哼唱检索(QBH: Query By Humming),更是发展最为迅速,在搜索引擎、KTV点歌系统、数字音乐图书馆的检索等领域都具有广泛的应用前景。

哼唱检索主要由三大模块组成,即旋律数据库构建模块、特征提取模块和特征匹配模块。此次毕业设计,主要通过对哼唱检索中的语音增强预处理、特征提取和匹配算法等的研究,尝试优化哼唱检索的方案。为每个模块选择合适的算法并进行了部分的优化和改进,测试算法改进后的效果,对测试结果进行分析讨论,达到了提高匹配精度的效果。

关键词:哼唱检索,预处理,语音增强,特征提取,旋律匹配算法

2

Research on Content-based Audio Retrieval Algorithm

Abstract

With the rapid development and widely popularity of Internet and network technology, people's daily lives become increasingly dependent on the large number of multimedia data from the network, and hope to search the things interesting them. Content-based retrieval CBR (Content Based Retrieval) emerged, audio retrieval, image retrieval and video retrieval are the hot topics in the content-based retrieval fields, and one of the areas in the content-based retrieval is Query by Humming, Query by Humming’s development is accelerated, it has broad application prospect in the field of search engine, picking song system of KTV room, digital music library retrieval and so on.

There are three modules in query-by-humming system, construction of the music database module, feature extraction module and the matching module. The project of graduation design is mainly to try to optimize the humming program through the research of the speech enhancement, feature extraction and feature matching algorithm. It is necessary to select the most appropriate algorithm for each module and try to optimize part of the algorithm, also the algorithm improved effect and test result are analyzed and discussed to reach the requirement of matching accuracy improvement.

Keywords: Query by Humming, pre-processing, speech enhancement, feature extraction, melody matching algorithm

3

目录

第一章 绪论 --------------------------------------------- 1

1.1 课题研究背景与意义 ----------------------------------------- 1 1.2 哼唱检索系统整体研究现状 ----------------------------------- 2 1.3 哼唱检索系统整体框架 --------------------------------------- 3 1.4 论文的研究内容积总体框架 ----------------------------------- 4

第二章 哼唱检索预处理模块的研究-------------------------- 5

2.1 语音增强的背景 --------------------------------------------- 5 2.2 语音增强算法 ----------------------------------------------- 6

2.2.1 统计方法 ---------------------------------------------- 6 2.2.2 参数方法 ---------------------------------------------- 6 2.2.3 基于小波分解的方法 ------------------------------------ 7 2.2.4 基于短时谱估计的方法 ---------------------------------- 7 2.2.5 适合哼唱信号的语音增强算法 --------------------------- 13 2.3 本章小结 -------------------------------------------------- 13

第三章 哼唱检索特征提取模块的研究 ----------------------- 14

3.1 语音信号的特征 -------------------------------------------- 14

3.1.1 时域特征 --------------------------------------------- 14 3.1.2 频域系数 --------------------------------------------- 15 3.1.3 声学感知特性 ----------------------------------------- 16 3.1.4 哼唱系统的信号特征提取 ------------------------------- 16 3.2 哼唱信号的基音提取算法 ------------------------------------ 16

3.2.1 时域算法 --------------------------------------------- 16 3.2.2 频域算法 --------------------------------------------- 17 3.2.3 基音提取算法的选择 ----------------------------------- 18 3.3 哼唱信号提取的归一化 -------------------------------------- 18

3.3.1 音高的归一化 ----------------------------------------- 19 3.2.2 音长的归一化 ----------------------------------------- 20

4

3.4哼唱信号特征提取归一化测试与分析 --------------------------- 21

3.4.1哼唱信号特征提取归一化的测试结果 --------------------- 21 3.4.2 哼唱信号特征提取归一化测试结果分析 ------------------- 22 3.5本章小结 --------------------------------------------------- 23

第四章 哼唱检索旋律匹配模块的研究 ----------------------- 24

4.1 哼唱旋律表示 ---------------------------------------------- 24 4.2 哼唱旋律匹配相似度计算 ------------------------------------ 24

4.2.1 Levenshtein距离(编辑距离) ------------------------- 25 4.2.2 N-grams算法 ----------------------------------------- 25 4.2.3 EMD算法 --------------------------------------------- 25 4.2.4 DTW算法 --------------------------------------------- 25 4.2.5 哼唱系统旋律匹配算法的选择 --------------------------- 26 4.3 哼唱旋律匹配算法的研究和改进 ------------------------------ 26

4.3.1 EMD算法的研究和改进 --------------------------------- 26 4.3.2 DTW算法的研究和改进 --------------------------------- 28 4.4 本章小结 -------------------------------------------------- 31

第五章 总结与展望 -------------------------------------- 32

5.1 工作总结 -------------------------------------------------- 32 5.2 不足与展望 ------------------------------------------------ 33

参考文献 ----------------------------------------------- 35 致谢 --------------------------------------------------- 34

5

基于内容的音频检索算法研究

第一章 绪论

1.1 课题研究背景与意义

随着互联网和多媒体技术的迅速发展,人们可以自由地从网上搜索和下载大量的多媒体信息。如何从大量的信息中搜寻到自己想要的成为了一个极为关键的问题,而音乐更成为各搜索引擎中最常被使用者输入的搜索关键字之一[1]。传统的音乐信息检索方式基本都是基于文本的,用户输入一段和自己需要的多媒体文件相关的文本,搜索引擎给出这样的多媒体文件的下载链接[2]。在以往的使用过程中我们发现基于文本的音乐信息检索方式无法满足人们越来越高的要求。首先,用户需要通过输入歌名或歌词等信息来进行检索,这就要求用户必须记住这些信息,带来很多不便。我们可以假想这么一些情况:偶然听到一段十分熟悉的旋律,却怎么也想不起歌名;或者坐公交车听到你喜欢却不知道歌名的音乐,但是已经错过了开头歌名信息的播出,这时候用传统的基于文本的音乐检索来搜寻就有一定的难度。其次,为了实现对歌曲的文本检索,需要通过人工方式生成歌曲的文本标注,如歌名、演唱者和歌词等。使用人工标注不仅成本高,而且数据库的规模十分庞大,以致工作量太大,根本无法完成。最后,音乐的一些重要特征,如音乐的音调、旋律等,几乎无法清楚的用文本来表达,而需要通过其他的方式(比如波形)来体现。因此,我们需要研究出更多有效的、更易于操作的音乐检索方法。

基于内容的音乐检索有很多种方式,主要有:哼唱检索(Query By Humming, QBH)、节拍拍打检索(Query By Tapping, QBT)、乐谱录入检索、演奏输入检索等。节拍拍打检索(QBT)需要用户借助特定的节拍器来进行输入,记下歌曲的节奏,但是这种方法只提取了节奏信息,而不提取音高信息(音高信息对检索的成功率贡献十分大),所以检索成功率并不高[3]。乐谱录入检索和演奏输入检索这两种检索方式对用户的音乐技能要求非常高,使用范围也不广。哼唱检索(QBH)方式主要是通过哼唱歌曲的某段旋律来搜寻歌曲,同时提取音高和节奏信息来进行匹配,因此成功率会比较高。另一方面,这种方式对用户的音乐技能的要求比较低、使用方法简便,正逐渐成为主流音乐检索方式。

哼唱检索方式的使用如此简便,今后我们的工作和生活也离不开这项技术: (1)应用在网络音乐搜索中。例如modomi网站,它是一款搜索引擎,特别之处在于具有智能搜索功能。使用方法是:直接输入歌曲名;也可以对着麦克风哼唱歌曲来搜索

1

基于内容的音频检索算法研究

歌曲(演唱时间不得少于10秒钟),网站通过声音识别系统从数据库中搜索出相匹配的曲目,输出结果。

(2)应用在卡拉OK的点歌系统中。人们在KTV点歌时有很多种方式:直接输入歌名,先找到歌曲的演唱者再找歌曲等,但是不管哪一种方式都需要多次操作选择才能找到想要点唱的歌曲。如果使用哼唱检索就能节省很多时间,只要哼唱一小段旋律就可以很方便的搜索到歌曲。

(3)应用在手机下载歌曲中。随着各类通信技术的不断更新发展以及手机功能的不断壮大,用户能够直接通过手机上网下载或者直接在线欣赏大量的音乐。但是这一切的操作都是使用汉字输入方式,这种人机交互并不方便,解决的办法就是使用哼唱检索,用户只需哼唱一小段音乐就能下载到自己想要的歌曲。 1.2 哼唱检索系统整体研究现状

近几年来,国内外研究机构和研究学者对哼唱检索进行了多方面的研究,取得了不小的成就,一些主要研究成果展示如下:

1999年,Naoko Kosugi和Yuichi Nishihara提出了对音乐提取多维信息的哼唱检索算法[4]。他们提取音乐的音符时长和音符音高信息,使用Dynamic programming matching(DP)匹配方法来计算编辑距离(Edit Distance)。距离小的相似度高,对应歌曲在检索前三位的概率为49%。

2000年,C. Francu和C. G. Nevill-Manning提出建立一个音乐数字图书馆,使用哼唱检索技术来查找音乐[5]。由于音乐库的歌曲量较大,有10000首之多,他们采用计算量较小的检索算法。他们将用户的哼唱输入分成20ms一帧的序列,提取每帧的音高,用计算哼唱输入和音乐库中文件的音高平均差的方式来进行检索匹配,匹配的成功率大约为25%。

2001年,微软亚洲研究院的Lie Lu,Hong You和Hong-Jiang Zhang提出一种新的较为有效的哼唱匹配算法[6]。由于人在唱歌的时候选用的绝对音高不同的可能性极大,他们选用音高差值来取代绝对音高,同时也考虑音乐的节奏信息。对于提取到的音高差值和节奏信息采用分级匹配的方法来检索,对应歌曲在检索前十名出现的概率为88%。

2003年,Hsuan-Huei Shih和 S.S.Narayanan提出对哼唱信号中的音高和音长信息使用高斯混合模型(GMM)建模,并通过隐马尔科夫模型(HMM)来进行匹配检索,匹配率达到80%[7]。

2

基于内容的音频检索算法研究

2005年,清华大学的Zhi Wang 和 Bo Zhang提出一种基于分级匹配思想的改进DP匹配算法[8]。将匹配分成两层,第一层在商空间(Quotient Space)中进行,得到一个初步的检索范围。在这个范围中进行第二场检索,在检索速度和准确率上都有较好的提升。

2008年,Matti Ryynanen 和 Anssi Klapuri一种新的匹配算法,Locality Sensitive Hashing (LSH)[9]。将提取到的音高和音长信息放到Hash bucket中进行匹配,匹配的成功率为86%。

1.3 哼唱检索系统整体框架

哼唱信号输入预处理特征提取特征匹配哼唱匹配检索结果音乐特征库

图1-1 哼唱检索系统框架图

(1) 哼唱信号输入

用户使用麦克风之类的音频输入设备哼唱歌曲,经采样输入到检索系统中。 (2) 预处理

哼唱信号的采集过程中,由于受到采集方式、周围环境等各类因素的影响,不可避免

的会引入噪声。在特征提取前,需要对哼唱信号进行预处理,这样可以增强信号的语音特征,提高之后特征匹配的准确率。

(3) 特征提取

主要是提取音乐信号中的特征参数,为后面特征匹配做准备。 (4) 特征匹配

根据提取的特征参数,与音乐特征库中存储的数据按一定的匹配算法进行特征匹配,

列出最可能匹配的一些歌曲名称。

(5) 哼唱匹配检索结果

根据得到的特征匹配结果输出歌曲名以及相对应的匹配率。

3

基于内容的音频检索算法研究

1.4 论文的研究内容及总体框架

本文所有研究均基于盛大2011年5月开源的盛大哼唱检索系统,利用现有的开源盛大哼唱检索系统平台进行测试和研究。本文主要研究哼唱检索中的语音增强、特征提取和特征匹配算法。通过研究相关资料,分析多种算法,比较其优劣,选择合适的算法并适当的提出改进。

本文共分为六章,每章的内容如下:

第1章是绪论,主要阐述哼唱检索的研究背景、课题意义和研究现状,以及哼唱检索系统整体框架。

第2章详细分析语音增强模块的两种算法,减谱法和最小均方误差法,重点介绍减谱法的计算过程和语音增强功能,并提出一定的改进。

第3章对特征提取模块进行改进,在提取出特征信息后加上归一化算法,进一步提高检索的正确率。

第4章详细分析特征匹配算法:EDM、DTW,并提出一定的改进。 第5章总结全文的工作,指出不足,做出展望。

4

基于内容的音频检索算法研究 第二章 哼唱检索预处理模块的研究

由于外界环境的影响,在哼唱系统获取哼唱输入信号的过程中通常会引入噪声,这对特征提取模块的结果造成了一些干扰,也影响了特征匹配检索结果的准确性。因此,在对哼唱信号进行特征提取之前,需要加上预处理模块,提高匹配的准确率。 2.1 语音增强的背景

生活中的噪音可以说是无处不在的,日常语音通信过程往往会受到来自地球磁场、通信设备自身的电噪声、传输媒介引入的噪声、旁人发出的声音或者其他周围环境因素的干扰。因为有了这些干扰,接收者接收到的都是受到周围噪声污染的带噪语音信号,信号的失真严重影响了通信质量。

由于环境噪声的存在导致许多语音信号处理系统被污染,性能急剧恶化。目前的语音识别系统正常工作前提都是无噪声的环境,在噪声环境中语音识别系统的识别率将受到严重影响[10]。事实上早在上个世纪60年代,许多专家就注意到了语音增强这个研究课题,并且一直关注在这个领域的研究。

带噪语音的模型如图2-1所示,公式如下:

y?n??s?n??d?n? (2.1) 其中,y?n?、s?n?和d?n?分别代表带噪语音、纯净语音和噪声。

噪声d(n)纯净语音s(n)图2-1 带噪语音模型

本文对研究的语音增强模型做如下假设:

(1)语音信号与噪声统计独立。

带噪语音y(n)

(2)噪声是局部平稳的。通常在输入哼唱信号时,语音开始前总会有一小段噪声,我们对这段噪声加以利用。局部平稳就是说输入的这段带噪语音中的噪声在整个语音段中

5

基于内容的音频检索算法研究

保持不变,并且和语音段开始前的噪声具有相同的统计特性,也就是说语音中所叠加的噪声统计特性可以借助语音开始前的那段噪音来近似估计[11]。

(3)只考虑带噪语音信号对模型的影响,没有考虑其他信号。

2.2 语音增强算法 2.2.1 统计方法 1、隐马尔科夫模型

观测过程输出状态激励隐状态过程

图2-2 语音信号增强的隐马尔科夫模型

隐马尔科夫模型(HMM)是一种统计分析模型。K. Y. Lee等用隐马尔科夫模型来估计隐滤波器(HFM)的参数 [12] ,得到较好的增强效果。 2、掩蔽效应法

人耳有掩蔽效应,即能量高的信号对能量低的信号有掩盖的作用,使其不易察觉。设

定一个门限值,使增强后的语音中残余噪声能量在语音掩蔽门限以下,使得在抑制噪声的同时,又能减少对语音本身的损伤[13]。 2.2.2 参数方法

比较典型的参数方法主要有:时域梳状滤波、卡尔曼滤波、维纳滤波等。这里主要介绍时域梳状滤波。

利用语音信号的浊音段具有明显的周期性的特点,采用梳状滤波器来提取语音分量,抑制一些类似于白噪声的残留噪声[14]。时域梳状滤波器的表达式为:

'??t??xn

k??M??t?kT? (2.2) ?Cxkn0M'?n?t?为语音信号;T0为基?n?t?为输出信号; M为经验常数;Ck为滤波器系数;x式子中:x 6

基于内容的音频检索算法研究

音周期。

从上式可以看出梳状滤波器中,输入信号经过延时加权平均就得到输出信号。当延时为基音周期的整数倍时,语音信号得到加强[15],非周期性信号受到抑制或消除。可见梳状滤波对于语音中的浊音部分增强效果较好,对于清音部分的增强效果不好。 2.2.3 基于小波分解的方法

小波分解法是随着小波分解这一新的数学分析工具的发展而发展起来的。这是一种处理时变非稳态信号的理想工具[16]。

带噪语音信号离散小波变换能量归一化清浊音判断增强的语音信号重构语音信号阈值处理

图2-3 小波变换实现语音增强原理图

2.2.4 基于短时谱估计的方法 1、减谱法

减谱法假设噪声是统计平稳的,即有语音期间的噪声振幅谱的期望值与语音还没开始前的那段纯噪声信号的是相等的。前面已经假设语音与加性噪声独立统计,利用这个特点可以将有语音期间噪声振幅谱用纯噪声振幅谱的估计值来替代。然后将带噪声语音振幅谱减去纯噪声振幅谱,即可得到语音振幅谱的估计值(若为负数就置零)。将带噪语音得相位和减谱得到的振幅谱的相位一起进行反FFT变换,就可得到增强的结果。

7

基于内容的音频检索算法研究

相位带噪语音分段窗口FFT幅度谱相减组合相位与幅度IFFT噪声方差无语音期间纯噪声信号

图2-4 减谱法原理图

由图2-1的带噪语音模型,可知:

y?n??s?n??d?n? (2.1)

对上式两边做傅里叶变换,可得:

Y?k??S?k??D?k? (2.3)

前面已经假设s?n?和d?n?统计独立,因此S?k?和D?k?统计独立。假设D?k?为零均值高斯分布,所以有:

EY?k??ES?k??ED?k? (2.4)

由于语音信号的短时平稳性,对于一帧信号有:

Y?k??S?k??D?k? (2.5)

假设?n?k?为没有语音时的短时噪声功率谱D?k?2的统计平均。 ?n?k??ED(k)由此,可以得到纯净的语音信号估计值为:

21/22???,当Yk??n?k??0时?????Yk??k?n?? Sk?? (2.7) 2????,当Yk??k?0时?0n??2??2??22?22?2? (2.6)

??在实际的增强过程中,使用的多是功率谱相减法的改进公式[17]:

??k??Y?k?m?n??k?m/2S n式中m=2,n=1时即为传统的减谱法。

8

??1/m (2.8)

基于内容的音频检索算法研究

由于使用哼唱系统的地方噪声通常比较大,即?n?k?较大。而减谱法的计算过程需要采用硬判决以避免相减后得到门限值以下或负的幅度谱估计值,如果噪声过大容易把有用语音完全消去。这里我们设置n=0.9,避免相减后得到负的幅度谱估计的情况经常出现。同时我们考察m=2,2.5,0.4,三种不同情况下用减谱法语音增强后的结果,测试的信噪比为-3dB,结果如下图所示:

图2-5 纯语音的哼唱信号

图2-6 信噪比为-3dB的加噪哼唱信号

图2-7 m=2时减谱法去噪结果

9

基于内容的音频检索算法研究

图2-8 m=2.5时减谱法去噪结果

图2-9 m=0.4时减谱法去噪结果

从测试结果可以看出,当m=2和2.5时残余的噪声仍然比较大,当m=0.4时,残余的噪声已经基本被消去。由于哼唱检索系统中预处理模块是为了提高后面特征提取模块中基音周期估计的准确性而设计的,所以有必要考察频谱所体现出的周期性。频谱图测试结果如下所示:

图2-10 纯语音的哼唱信号频谱图

10

基于内容的音频检索算法研究

图2-11 信噪比为-3dB的加噪哼唱信号频谱图

图2-12 m=2时减谱法去噪结果频谱图

图2-13 m=2.5时减谱法去噪结果频谱图

图2-14 m=0.4时减谱法去噪结果频谱图

11

基于内容的音频检索算法研究

从测试结果的频谱图中可以看出,当m=2和m=2.5时,噪声残余较大,干扰多,周期性并不明显。当m=0.4时,能量较强的周期谐波已经比较明显了。因此,我们选择参数m=0.4,n=0.9的减谱法作为哼唱信号系统的预处理模块。 2、频域最小均方误差法(MMSE)

相位带噪语音分段窗口FFT幅度MMSE估计组合相位与幅度IFFT噪声谱方差上一帧信号谱方差先验信噪比后验信噪比 图2-15 频域最小均分误差法原理图

最小均方误差法假定纯净语音信号幅度谱服从瑞利分布、相位谱服从均匀分布,带

噪语音信号服从复高斯分布,这是一种估计方法,对特定的失真准则和后验概率不敏感。这种算法的最大优势在于适用信噪比的范围较广,且可以在语音信号降噪比和可懂度中取得平衡。但是这种算法运算量较大,实时性不好。

对于带噪信号y?n??s?n??d?n?,假设Y?k??R?k?exp?j??k??、S?k??A?k?exp?j??k??、

N?k?分别代表y?n?、s?n?、d?n?进行

FFT变换后的第k个频谱分量。那么,A?k?的最小均

方误差估计为:

2????????????Ak?argminAk?Ak|yn,0?n?N?1?? (2.9)

????经过一系列化简可得到:

V?k??V?k????V?k???V?k??????????????Ak??1.5exp?1?VkI?VkI??????R?k? (2.10) 01????k?2????2??2??其中,??*?是伽马函数,I0?*?、I1?*?分别表示零阶和一阶修正贝塞尔函数。V?k?定义如下: V?k??用最大似然估计求得??k?和??k?:

12

??k???k? (2.11)

1???k?基于内容的音频检索算法研究

??m,k??max????m?1,k?????1?????m,k?,1????? (2.12) ?

??m,k??max???m,k??1,?? (2.13)

其中,??m?1,k?为上一帧的后验信噪比,?为非负常数。?、?为可调参数,它们的值由主观听觉来决定,一般,0???1,??1。

2.2.5 适合哼唱信号的语音增强算法

我们在上面几个小节介绍了几类语音增强算法的原理和计算过程,下面我们需要分析这些算法的优缺点,得出适合于哼唱系统的语言增强算法。

统计方法充分利用了语音和噪声的统计特性,但是需要进行训练建立模型库,计算量大,不予采用。参数方法需要准确提取模型参数,如果提取的模型参数不准确或者实际背景噪声和语音条件与模型有较大的差别,会对语音增强的效果产生较大影响,因此也不考虑。哼唱信号的自相似性并不显著,恰恰基于小波分解的方法主要就是利用信号在不同尺度上的自相似性,所以也不予采用。

基于短时谱估计的方法能适应哼唱系统所可能处的各种环境,具有方法简单、易于实时处理、适应信噪比范围大等优点,是应用范围最广泛的语音增强方法。其中又数减谱法较为简单,计算量小,但是在语音增强过程中经常会带入音乐噪声,鉴于此,我们对减谱法做了改进,经过测试对比选择了合适的参数设置。最终选择减谱法作为哼唱系统的语音增强算法。 2.3 本章小结

本章重点介绍了多种语音增强算法,有统计方法、参数方法、基于小波分解的方法和基于短时谱估计的方法。详细对减谱法的原理进行说明,对改进后的减谱法进行分析,经过测试对比选择了合适的参数设置。

对各类算法的优缺点进行分析比较并结合哼唱信号自身的特点及哼唱系统在实际运用过程中噪声的变化会比较大的问题,最终选择短时谱估计方法中的减谱法作为哼唱系统的预处理模块算法。

13

基于内容的音频检索算法研究 第三章 哼唱检索特征提取模块的研究

在哼唱系统中,语音信号特征的选取以及提取的准确度,都会对整个哼唱检索的结果产生很大的影响。因此,需要选择较为有效的语音特征,合适的特征提取算法,并对提取到的特征进行一些预处理,使其更加适合于哼唱检索系统。 3.1 语音信号的特征 3.1.1 时域特征

语音的时域特征是指对分析语音信号的时域波形所提取的时域参数。由于不需要进行傅里叶变换,运算量较小,处理时间短且物理意义明确。 1、短时平均能量

短时平均能量[18](Short-time Average Energy,SE)是指一个短时音频窗口内所有信号采样点所聚集的平均能量。短时平均能量En定义为:

2??????xnwn?m???2??????xnwn?m? (3.1) n En?m???m?n?N?1式中,w?n?为窗函数,常用的窗函数有矩形窗和汉明窗。 矩形窗函数(Rectangular Window)表示为

?1,0?n?N?1??wn?? (3.2)

?0,其他汉明窗函数(Hamming Window)表示为

???2?n????0.54-0.46cos???,0?n?N?1??wn????N-1?? (3.3)

?0,其他?2、短时平均过零率

过零率描述的是信号过零的速度,短时平均过零率(Short-time Average Zero-crossing Rate)[18]是指在一个语音帧内,信号采样值由正到负和由负到正变化的次数。短时平均过零率是区分纯语音信号中清音与浊音的一种度量方法,清音由于频率较高,因此过零率较大,浊音反之。过零率Zn计算公式如下:

14

基于内容的音频检索算法研究

Zn?其中sgn???为符号函数,即

m????sgn?x?m???sgn?x?m?1??w?n?m? (3.4)

??1,x?n??0????sgnxn?? (3.5)

??1,x?n??03.1.2 频域系数

语音信号的频域特征是指将时域语音信号进行傅里叶变换,得到频域信号后,对频域的数据进行分析得到的频域参数,包含LPC倒谱系数、MFCC等。 1、LPC倒谱系数

LPC系数是线性预测分析的基本参数,可由这些系数进一步推导出LPC倒谱系数(LPCC)[19]。计算公式如下:

???0,n?0n?1???k????n????a?h?1??akh?n?k?,1?n?pnn? (3.6) ?k?1?n?1??k?????1??akh?n?k?,n?pn??k?1????2、Mel频率倒谱参数

Mel尺度倒谱参数(Mel-Scaled Cepstrum Coefficients),或称为Mel频率倒谱参数,简称MFCC[20]。Mel频率倒谱参数之所以能在语音识别得到广泛的应用是因为Mel频率的划分是以人耳的一些听觉特性而建立的(如人耳的掩蔽特性)。

MFCC计算过程如图所示:

预处理后的语音海明窗帧选x?n?FFTX?m?Mel频率滤波器组??M1?离散余弦变换MFCC输出

图3-1 MFCC提取过程

15

基于内容的音频检索算法研究

3.1.3 声学感知特性

声学感知特征是一些基于人的听觉感知特点而定义出来的声学上的概念,可以通过时域或者频域上的特征计算得到[21]。音乐的声学感知特征通常有音高、音长、音强、音色四种。

音高是由物体在一定时间内的振动次数即频率决定的,频率高的音就高,反之音就低。音长是由振动的延续时间决定的,振动的延续时间长音就长,反之音就短。音强即响度是由物体振动范围的幅度大小来决定的,就是我们平时所说的音量大小。音色(Timber)是由发声物体的形状、材质等决定的,不同物体产生的谐波是不同的,谐波不同音色也就不同。

3.1.4 哼唱系统的信号特征提取

上面介绍了三大类语音信号特征,我们需要从中选出适合哼唱系统的语音信号特征。通过分析比较每一种特征的优缺点以及考虑到哼唱系统的语音库是使用Midi文件来生成的,Midi中包含的是纯乐谱信息,乐谱中最直观的两个要素即为音高和音长,这两个特征不仅可以很简单的从Midi文件中提取出来,也能够充分表达语音的信息。因此,选择音高和音长作为哼唱系统提取的特征信息。

我们可以先对哼唱信号进行分帧处理,并计算每一帧的基音周期,统计基音周期相

同或相近的帧数就可以得到音长。所以,我们只需要考虑基音周期的提取问题。 3.2 哼唱信号的基音提取算法

人的声道特征是因人而异的,因此基音周期的精确检测是比较困难的,可以说这是语音信号处理中一个长久的研究课题,近年来,语音信号的研究者们提出了多种方法。语音信号的基音提取算法主要可以分成时域算法与频域算法两大类。 3.2.1 时域算法

时域算法主要在时间轴上进行,计算较为简单,但是时域算法得到的基音检测值经常是基音的倍数,产生倍基音误差。 1、自相关函数法(ACF)

自相关函数法(ACF)[18]是对信号进行短时相关分析时最常用到的特征函数。主要

16

基于内容的音频检索算法研究

原理是把移位后的信号与原始信号进行对比,根据他们之间的相似性来确定基音周期。当移位距离与基音周期相等时,两信号具有最大的相似性[22]。检测两个波形之间相似性的公式为:

E????2??????sn??sn??? (3.7) n?0N?1式中,N为分析帧长,?为移位距离,?为用于控制信号电平改变的基音增益。 2、平均幅度差函数(AMDF)

假设语音信号xn?m?是经过一个窗长为N的窗口函数截取的信号,如果xn?m?是周期信号,那么相距周期整数倍的样点上幅度值相等,差值为零。

d?xn?m??xn?m?kT??0,k?0,?1,?2,... (3.8) 实际的语音信号中d并不为零,将短时平均幅度差函数(AMDF)[23]定义为: Fn?k??N?1?km?0?x?m??x?m?k?,0?k?K (3.9)

nn可以得知,在k等于基因周期的整数倍时,Fn?k?为极小值。 3.2.2 频域算法

频域算法需要使用傅里叶变换先将语音信号变换到频域上,计算较为复杂,但由于频域的周期谐波幅度较为明显,在信噪比高的情况下提取的精度也较高。 1、倒谱法(CEP)

将长度为L的一帧语音信号加上L点的汉明窗,并计算倒谱[24]。倒谱定义为时间序列的z变换的模的对数的逆z变换。序列s?n?的倒谱c?n?的傅里叶变换为:

1??cn?

2?

????lnz?s?n??ejwndw (3.10)

语音的倒谱是将语音的短时谱取对数后在进行IDFT变换得到的。浊音信号的周期性

激励反映在倒谱上是同样周期的冲激,记录下倒谱谱峰的纵坐标和横坐标,并通过输入信号计算得到一个门限值。当谱峰的纵坐标超过了门限值,输入信号即为浊音信号,这个谱峰对应的横坐标就是基因周期。具体如下图所示:

17

基于内容的音频检索算法研究

汉明窗L点DFTlnz?s?n??L点IDFT谱峰搜索谱峰横坐标记录浊音信号的基音轨迹分段为L点的帧谱峰纵坐标记录门限值计算 图3-2 倒谱基因检测法

2、小波变换法

小波变换具有恒Q性质,在信号的低频域部分,可以取得较好的频率分辨率,在高频部分,可以取得较好的时间分辨率[25]。

小波变换法可以根据信号的不同频率成分,在时域和频域自动调节取样的疏密,经过若干层的小波变换后,其逼近部分变成一段类似正弦波的信号,正弦波的周期即为基因周期[26]。

3.2.3 基音提取算法的选择

这里主要根据哼唱系统的特点选取合适的基音提取算法。首先考虑到频域算法的计算复杂度均较高,而且在信噪比较高的情况下基音提取的误差都比较大,因此频域算法不予采用。

时域算法中,平均幅度差函数算法(AMDF)计算复杂度较小,但是对信号幅度的快速变化比较敏感,会影响估计精度。自相关函数法(ACF)计算复杂度也较小,同时受信噪比以及幅度的影响都比较小,因此比较适合于哼唱系统。 3.3 哼唱信号提取的归一化

从本质上来剖析哼唱系统,可以发现哼唱系统实际上是在模拟人对于歌曲的识别分析过程。对于哼唱系统来说,用户要很准确的唱出和歌曲库中的音乐完全相同的节奏和音高是非常困难的。为了要达到比较好的哼唱检索效果,需要对提取到的哼唱信号特征信息进行归一化处理。所谓归一化处理就是使用某一种特定的规则将提取到的哼唱信号特征信息和歌曲库中的特征信息统一到一个相同的标准上,提高哼唱检索匹配的准确率。

18

基于内容的音频检索算法研究

3.3.1 音高的归一化

图3-3 哼唱信号在音高上的平移性

根据个人喜好,一首歌曲可以用高8度的音高来唱,也可以用低8度的的音高来唱,也就是说音高具有可以平移的特性。图3-3是以不同的音调来演唱同一哼唱信号得到的序列的频谱图。标出的区间是同一个音符,可以看出,后者谐波的间隔要比前者大,表明了用高音调哼唱的后者的音高要比前者大。

在实际匹配过程中,由于提取的哼唱信息是绝对音高,音高的平移使得提取的特征信息不同,导致匹配的结果也不相同,甚至出现错误。因此,本文给出这个问题的一种解决方案,即不使用原始的绝对音高值来进行匹配,而是在一个哼唱序列中搜索一个最小的音高值,将所有的音高值减去这个最小值,使用新的音高序列进行匹配。

对于一个长度为n的音高特征序列P??p1,p2,...,pn?,其中最小值

'P'??p1',p2,...,pn?',其中Pmin?Min?p1,p2,...,pn?,定义归一化后新的音高序列为

19

基于内容的音频检索算法研究

pi'?pi?Pmin?1?i?n?。

这样子,新的特征序列是哼唱信号在音高上的本质特征,通过对新的特征序列的搜索,就可以解决哼唱系统中音高的平移性问题。 3.2.2 音长的归一化

图3-4 哼唱信号在音长上的伸缩性

对于用户来说,哼唱一首歌可以用快节奏来唱,也可以用慢节奏来唱,也就是说代表节奏快慢的音长信息具有伸缩性。图3-4是两个不同语速的哼唱信号序列的频谱图,标出的区间是同一个音符,可以清楚的看出节奏比较快的前者音符的音长大约为0.7s,节奏较慢的后者音符的音长大约为1.7s。这说明了节奏的快慢对音长的影响比较大。

在实际的匹配过程中,由于使用的是绝对音长,因此不同节奏的哼唱信号匹配的结果并不相同。为了解决这个问题,我们需要对音长进行归一化处理。首先搜索出音长序列中的最小值,由于音长的伸缩性,因此使用比值来进行归一化,将所有的音长除以这个最小值。

20

基于内容的音频检索算法研究

对于一个长度为n的音长特征序列,L??l1,l2,...,ln?,其中最小值

'',...,lnLmin?Min?l1,l2,...,ln?,定义归一化后的新的音长序列为L'??l1',l2?,其中

li'?li/Lmin?1?i?n?。

通过对音长的归一化处理,新得到的序列表示了在音长上的本质特征,可以解决音长的伸缩性问题。

3.4哼唱信号特征提取归一化测试与分析 3.4.1哼唱信号特征提取归一化的测试结果

使用盛大的哼唱检索源码来进行语音信号特征提取归一化的测试。将提取到的音高和音长信息分别作归一化,用归一化后的特征值作为哼唱检索匹配模块的输入,得到归一化后的检索结果。检索结果由两个部分组成,检索排名和距离,排名越前的、距离越小的匹配度越高。具体测试结果如下表所示:

表3-1哼唱信号特征提取归一化测试结果 测试者1 从头再来 测试者2 测试者3 测试者4 测试者1 男声 九百九十九朵玫瑰 测试者2 测试者3 测试者4 测试者1 冬天里的一把火 测试者2 测试者3 测试者4 女

检索结果 1/8.45 1/7.03 1/7.41 >20 1/8.07 1/7.81 1/6.88 1/7.46 3/14.40 1/8.42 5/12.57 1/7.86 5/11.48 21

归一化后检索结果 1/7.81 1/6.12 1/7.06 >20 1/7.71 1/7.79 1/6.88 1/7.40 2/13.77 1/8.07 5/11.96 3/11.84 4/10.99 同桌的你 测试者1 基于内容的音频检索算法研究

声 测试者2 测试者3 测试者4 测试者1 风中有朵雨做的云 测试者3 测试者4 测试者1 甜蜜蜜 测试者2 测试者3 测试者4 3.4.2 哼唱信号特征提取归一化测试结果分析

测试的歌曲一共有6首,3首男声歌曲,3首女声歌曲,每首歌有4名测试者,一共24组测试序列。对上面的测试结果进行统计分析,如果语音信号的特征提取归一化后检索结果的排名有提高或者排名相同但是距离值减小,则认为归一化有效;如果语音信号的特征提取归一化后检索结果排名下降或者排名相同但是距离值增大,则认为归一化无效;如果归一化前后的的检索排名均大于20,则认为失去考察意义。语音信号特征提取归一化的统计分析结果具体如下表所示:

表3-2 语音信号的特征提取归一化测试结果统计分析表

从头再来 归一化有效 测试者1、2、3 归一化无效 失去考察意义 测试者4 测试者3、4 测试者4 测试者3、4 测试者2 7/10.78 1/7.52 13/12.65 14/12.25 4/9.68 5/11.03 1/10.00 1/8.33 1/9.29 >20 >20 6/10.51 1/7.11 1/6.71 13/12.61 3/9.85 >20 >20 1/7.98 1/8.77 >20 >20 男声 九百九十九朵玫瑰 测试者1、2、3、4 冬天里的一把火 同桌的你 女声 风中一朵雨做的云 甜蜜蜜 测试者1、2、3 测试者1、2、3、4 测试者1、2 测试者1、2 从上表中可以看到,24组测试序列中只有3组序列的特征提取归一化无效,无效率仅仅只有12.5%。而对于失去考察意义的3组序列来说,考虑到测试者对某些不熟悉歌曲

22

基于内容的音频检索算法研究

错误可能会有错误哼唱,因此这3组结果是可以接受的。这表明在大部分情况下特征提取归一化都是有效的。 3.5本章小结

这一章对于哼唱检索系统的特征提取模块进行了各方面的研究。

首先,考察了各种语音信号可能提取的特征信息,包括时域特征、频域特征和声学感知特征。对这些特征的优缺点进行比较,最终选定音高和音长信息作为哼唱系统所提取的特征。

其次,考察了几种基音提取的算法,包括了时域算法和频域算法。考虑到计算量和哼唱信号自身的特点,选择了在信噪比较高情况下基音提取精度较高的自相关函数法。

最后,考虑到哼唱的音调高低和节奏快慢对特征匹配模块的影响,采用音高作差、音长作比的方法对提取到的特征信息进行归一化处理,并对归一化的效果进行测试。从测试结果中可以看出,在大部分情况下,哼唱信号的特征信息归一化处理是有效的。

23

基于内容的音频检索算法研究 第四章 哼唱检索旋律匹配模块的研究

计算旋律的相似度是哼唱检索最核心步骤之一,如何用提取到的哼唱信息来表示哼唱旋律,怎样计算两个旋律的相似度并给出合适的排序,都是我们需要研究的问题。哼唱检索匹配模块是哼唱检索系统中最重要的模块,选择的算法直接影响匹配的结果,因此我们需要对几种哼唱检索算法进行分析比较,选出合适的算法并对其进行改进,提高哼唱检索匹配的准确率。 4.1 哼唱旋律表示

从哼唱信号提取出音高和音长等信息后,不能直接进行匹配,还需要将他们转化为更能表现旋律特征的序列。旋律表示方式主要有Parsons码[27]、Melody Chain[27]和加权点集表示法等。加权点集表示法包含了音高、音长信息,能够完整描绘旋律的特征。并且前面也已经提到过语音库是采用Midi文件生成的,因此,选用加权点集表示法作为哼唱系统中旋律的表示方法。

加权点集表示法把每个音符看做加权的点,每个点都表达了音高、音符起始时间、权重三个信息。其中,音符起始时间就是这个音符前所有音符的音长之和,权重用音长来表示。必须注意的是,加权点集表示法中,音高需要转化成半音(semitone)单位来表示:

?freq?semitone?12?log??69 (4.1) 2?

?440?其中semitone是半音值,freq是基频,单位是赫兹(Hz)。 4.2 哼唱旋律匹配相似度计算

哼唱检索系统中,将哼唱信号的旋律用加权点集法表示后,就可以计算与音乐库中旋律的相似度了,对相似度结果进行排序,相似度越高排名越靠前,选取前几名作为哼唱检索的结果。下面介绍几种经典的哼唱检索算法。

24

基于内容的音频检索算法研究

4.2.1 Levenshtein距离(编辑距离)

Levenshtein距离(文史特距离)也称为编辑距离(Edit Distance)[28],其定义为将一个字符串转变为另一个字符串所需要的与替换、插入和删除操作相对应的编辑距离之和的最小值,即通过比较两个字符串的相似度,得到两个字符串之间的距离。 4.2.2 N-grams算法

N-grams是一种在文本处理中经常使用的检索算法,用来在文中找出特定的字符串

[29][30]

。N-grams算法的原理是以N字符为统计对象,找出语音序列中所有N-grams,将

N-grams的频率作为计算相似度的依据。 4.2.3 EMD算法

The Earth Mover’s Distance(EMD)算法[31][32]又称为传输距离算法,是一种在一些特性空间中计算两个多维属性相似度的方法。

EMD算法中采用加权点集方法来表示旋律,假设长度为N的序列A为A??a1,a2...,aN?,其中ai??xi,txi,wxi?,i?1,2,...,N。xi表示音符的音高,txi表示音符的起始时间,wxi表示音符的权重即音长。同理,假设长度为M的序列B为B??b1,b2...,bM?,其中bi??yi,tyi,wyi?,

i?1,2,...,M。在EMD计算中,可以把A的项看作质量分别为wxi的若干堆土方,B的项看

作若干容量为wyi的坑穴。求序列A和B的相似距离就是求解将土方经某种路径填充到坑穴的最短距离运输方案[33]。 4.2.4 DTW算法

动态时间规整(Dynamic Time Warping,DTW)算法[34][35]是一种在一定路径限制下寻找最小代价的最佳路径的方法。DTW算法计算旋律的相似度是以帧为单位通过计算路径的代价函数来得到的。假设哼唱序列共有N帧,以音乐库中的模板序列共有M帧,以两个序列为坐标轴建立一个二维直角坐标系。通过这些表示帧号的整数坐标画出一个网格,每个网格交叉点都代表哼唱序列中某一帧与模板序列某一帧的交汇,利用音高参数来计算每一点的代价函数,求出代价最小的路径。DTW原理如图所示:

25

基于内容的音频检索算法研究

M987654321234567891011N

图4-1 DTW算法原理图

4.2.5 哼唱系统旋律匹配算法的选择

上面介绍了几种哼唱旋律匹配算法的原理,对其进行分析,选择适合于哼唱系统旋律匹配的算法。

Levenshtein距离算法和N-grams算法都需要使用Parsons码来表示旋律,会丢失旋律的大量信息,匹配准确率较低,均不予采用。

EMD算法同时考虑了音高、音长和音符起始时间三个信息,丢失的旋律信息较少,计算量也适中,匹配的准确率也较高,因此比较适合作为哼唱检索匹配的算法。DTW算法的准确率较高,相似度较为合理,但是计算复杂度较大,如果应用到信息量较大的音乐库中时,匹配所花费的时间会比较长。

综合考虑几种算法的优缺点,设计了一个基于两层筛选的哼唱检索匹配模块。首先,使用EMD算法对音乐库中的所有序列进行哼唱检索匹配计算,并得到EMD的相似度量,提取排名前20的序列作为候选序列。其次,使用DTW算法对这20组序列进行哼唱匹配计算,得到DTW的相似度量。最后,将EMD和DTW的相似度量进行加权求和,得到最终的哼唱检索匹配相似度,并排序。 4.3 哼唱旋律匹配算法的研究和改进

尽管选择了EMD和DTW作为哼唱检索算法,但是这两种算法都有其固有的缺点,因此我们需要对这两种算法进行研究和改进。 4.3.1 EMD算法的研究和改进

EMD是一种加权点集的相似度量,EMD的计算是一个线性规划问题。在这里,我们

26

基于内容的音频检索算法研究

假设长度为N加权序列A为A??a1,a2...,aN?,其中ai??xi,txi,wxi?,i?1,2,...,N。xi表示音符的音高,txi表示音符的起始时间,wxi表示音符的权重即音长。同理,假设长度为M加权序列B为B??b1,b2...,bM?,其中bi??yi,tyi,wyi?,i?1,2,...,M。

假设pi??xi,txi?,qi??yi,tyi?,那么序列

A、B

分别转化成

A???p1,wx1?,?p2,wx2?...,?pN,wxN??、B???q1,wy1?,?q2,wy2?...,?qM,wyM??。

假设W是A的总权值,U是B的总权值,那么

W??wxi (4.2)

i?1N

U??wyii?1M (4.3)

假设D是序列A和B的基本距离矩阵,那么

D?dij,1?i?N,1?j?M (4.4)

??i其中dij是旋律序列中向量pi和qj之间的距离,dij定义如下:

?x?y???tx?ty? (4.5)

EMD算法就是找出一个矩阵F??f?,其中f是旋律序列中向量p和q之间的流程,

dij?22jijijijij这个矩阵使得全部代价函数WORK?A,B?最小。代价函数定义如下:

WORK?A,B??流程fij的约束条件如下: (1)fij?0,1?i?N,1?j?M (2)?fij?W,1?j?M

i?1N??fi?1j?1NMijdij (4.6)

(3)?fij?U,1?i?N

j?1NM(4)??fij?min?W,U?

i?1j?1M 27

基于内容的音频检索算法研究

流程矩阵F?fij具体求法如下:

第一步,搜索距离矩阵D?dij,分别求出每一行、每一列的距离最大值dimax、djmax。 第二步,将距离矩阵中的每个值减去所属行列的最大值,得到矩阵Delta

????Delta?i??j??dij?dimax?djma x (4.7)

第三步,找到矩阵Delta中数值最小的点,例如为Delta[a][b]并比较这个点在两个序列上对应的权重wxa和wyb的大小,取权重较小的值作为fij。

第四步,将确定的点做个标记,修改矩阵Delta,去除选中的点对于矩阵值的影响。 第五步,重复第三步,在搜索矩阵Delta中的最小点时忽略已标记过点的行列上所有的点。如果已标记过的点的行值已经是矩阵的所有行值,或者已标记过点的列值已经是矩阵所有列值,那么矩阵F计算结束。其中没有计算过的点fij全部为零。 由此,序列A和B的EMD值定义如下:

?A,B?? EMDWor?kA,B? (4.8)

mi?nW,U?从EMD的计算公式中可以看出,EMD使用总权值较小的序列作为度量的标准,而忽略了两个序列总权值的差别。因此这里对EMD的计算公式进行改进,使其能够综合考虑两个序列的总权值,改进后的EMD计算公式:

EMD?A,B?? EMD?A,B??Work?A,B? (4.9) W?UWor?kA,B? (4.10) W?U2?A,B?? EMDWor?kA,B?W?U222 (4.11)

4.3.2 DTW算法的研究和改进

动态时间规整算法是在一定的路径限制下寻找代价最小的最佳路径的方法。需要计算出网格中每一点的最小路径,起始点的路径值为零,用已知点的最小路径值来计算未知点的最小路径值。具体的路径计算方法如下图所示:

28

基于内容的音频检索算法研究

图4-2 DTW路径计算

假设哼唱旋律序列为X??x1,x2,x3,...,xN?,xi为哼唱旋律序列中第i帧的音高。其中

1?i?N,哼唱旋律序列一共有N帧。同理,假设音乐库中的旋律序列为

一共有M帧。如上图所示,动态时间规整算法的递归公式如下所示: Y??y1,y2,y3,...,yN?,

?D?i?1,j??di?1,j???Di,j?minD?i?1,j?1??di?1,j?1 (4.12) ?

?D?i,j?1??di,j?1?其中D?i,j?是网格中到达点?i,j?的最小距离值,di,j是代价函数,具体定义如下:

di?1,j?xi (4.13)

di?1,j?1?xi?yj (4.14)

di,j?1?yj (4.15)

从DTW的原理中我们可以看到,动态规整算法仅仅考虑了旋律的音高信息,而忽略了音长信息。同时,在计算最短路径的时候仅选取了邻近的3个点来推算出当前点的最小路径。根据这两个缺点,本文对DTW算法进行如下两个方面的改进。

(1)在计算最短路径的时候,扩大递归范围,采用邻近的5个点来推算当前点的最小路径。具体原理如下图所示:

图4-3 DTW路径计算改进

采用如上图所示的5个点来推算DTW路径,改进后的递归公式如下:

29

基于内容的音频检索算法研究

?D?i?2,j?1??di?2,j?1?D?i?1,j??di?1,j????Di,j?minD?i?1,j?1??di?1,j?1 (4.16) ?

?D?i,j?1??di,j?1???D?i?1,j?2??di?1,j?2其中代价函数di?1,j、di?1,j?1、di,j?1与原来相同,新增的两个代价函数定义为:

di?2,j?1?xi?1?yj (4.17)

(4.18)

di?1,j?2?xi?yj?1使用更多的点来进行递归计算,能在一定程度上提高得到的DTW距离值的准确度,

进而提高匹配的准确率。

(2)考虑到DTW算法忽略了音长信息,这使得DTW算法对于旋律的节奏信息并不

敏感,因此对其进行改进,在代价函数中加上音长信息,进一步提高其匹配的准确率。

在旋律序列中加上音长信息,新的旋律序列分别为:

X'???x1,tx1?,?x2,tx2?,?x3,tx3?,...,?xN,txN?? (4.19)

Y'???y1,ty1?,?y2,ty2?,?y3,ty3?,...,?yN,tyN?? (4.20)

其中,txi、tyi为音长。新的代价函数定义为:

di?1,j?xi?txi (4.21) di?1,j?1?xi?yj?txi?tyj (4.22) di,j?1?yj?tyj (4.23) di?2,j?1?xi?1?yj?txi?1?tyj (4.24) di?1,j?2?xi?yj?1?txi?tyj?1 (4.25) 使用新的代价函数来进行DTW递归计算,由于考虑到旋律的音长信息,因此改进后的DTW算法能够反应旋律节奏方面的匹配情况,对于旋律匹配度的定义也更加合理。

30

基于内容的音频检索算法研究

4.4 本章小结

这一章对于哼唱检索系统的核心模块——旋律匹配模块进行研究和改进。首先,考察了几种旋律表示方法,比较其优缺点和可行性,选择了加权点集表示法作为哼唱旋律的表示方法。其次,比较分析几种应用较为广泛的旋律匹配算法,确定了基于两层检索的旋律匹配模块,第一层使用EMD算法进行初步检索,选出排名前20的歌曲,第二层使用DTW算法对歌曲进行进一步的匹配计算,并结合EMD相似度计算结果得到最终的匹配相似度,进而得出检索排名。最后,对于EMD算法和DTW算法进行深入研究和分析,针对其缺点,提出了EMD的三种变式以及DTW的两个方面改进。

31

基于内容的音频检索算法研究

第五章 总结与展望

5.1 工作总结

随着现代信息技术,特别是多媒体技术和网络技术的迅速发展,大量的多媒体信息都可以从网上获得。人们经常要从海量的音乐数据中寻找自己所需要的资源。传统的搜索方法受检索方法的限制,对用户提出比较高的要求,例如需要记住歌曲名、歌手、歌词等信息,给音乐搜索带来很大的不便。哼唱检索系统就应运而生,其简单的输入和搜索方式完全打破了传统搜索方式的桎梏,仅仅需要用户哼唱一小段旋律即可帮助用户找到对应的歌曲。本文对于哼唱系统的关键模块进行了各方面的研究和改进,取得了较好的结果。论文的主要工作有:

1、对哼唱检索系统中预处理模块进行研究。考察了几种类型的语音增强算法,对传统的减谱法进行改进,变成参数可控的减谱法,并经过测试选择合适的参数。经过分析,最终选择减谱法作为哼唱系统的预处理模块算法。

2、对哼唱检索系统中特征提取模块进行研究。列举了几种可能从哼唱信号中提取的语音特征,并比较分析其优劣及可行性,最后确定了音高特征和音长特征作为特征提取模块中所提取的语音特征。考虑到预先对哼唱信号进行分帧处理,并提取每一帧的音高特征,统计音高相同的帧数即可得到音长信息,因此论文主要关注音高特征的提取。而从语音中提取到的基音周期就可以直接转化成音高特征。论文考察了几种不同类型的基音提取算法,选择了自相关函数法做为基音提取算法。由于哼唱信号与音乐库中的音乐信息可能存在节奏和音调上的差异,本文提出对音高和音长的归一化处理。对哼唱信号的特征提取归一化处理进行测试,统计分析测试结果,得出归一化能较好的提升哼唱系统检索的准确性之一结论。

3、对哼唱检索系统中旋律匹配模块进行研究。通过文献查找了已有的几种旋律表示方法,选择加权点集表示来表示哼唱旋律。考察了应用较为广泛的几种旋律相似度定义的算法,通过分析确定了一个两层结构的旋律匹配模块。第一层使用EMD算法对旋律进行初步的匹配,确定相似度前20的歌曲;第二层使用DTW算法对旋律进行较为精确的匹配,并结合EMD算法相似度计算结果来确定这20首歌曲的最终排名。论文中对EMD算法进行分析研究,发现该算法忽略了两个旋律总权值的差异,因此对此EMD算法提出了三种变式。论文也对DTW算法进行分析和改进,首先扩大了路径递归的范围,其次将音

32

基于内容的音频检索算法研究

长信息考虑到相似度匹配计算中,使其相似度定义更加合理。 5.2 不足与展望

本文对于哼唱系统的主要模块进行了研究和改进,取得了较好的结果,但仍然存在一些不足,可以作为后续的工作继续展开。

1、对于预处理模块的测试结果中可以看到,有些序列在去噪前后均无法检索出来。这表明在语音增强过程中对于有用语音的损坏较大,从频谱图中也可以看到,仍然有一些噪声点还存在,并没有完全去除。因此,如何对预处理模块的算法进行改进依然是一个需要关注的问题。

2、哼唱信号特征提取模块中对于基音提取算法并没有进行改进,而是关注于提取到特征信息后的归一化问题。故可以进一步对基音提取算法进行研究,进一步提高基音提取的准确度。

3、哼唱检索旋律匹配模块中对与EMD算法和DTW算法均进行了改进,但是仅仅停留在理论方面,没有进行测试比较,因此可以对旋律匹配算法做进一步的测试研究,做出更好的改进。

33

基于内容的音频检索算法研究

参考文献

[1] 汪鹏,刘加,刘润生. 基于离散HMM的非特定人关键词提取语音识别系统[N]. 吉林大学学报(理

学版),2003.

[2] 李进. 基于曲段旋律特征的哼唱检索.工学硕士学位论文[D]. 哈尔滨工业大学,2010,1.. [3] P. Hanna, M. Robine. Query by tapping system based on alignment algorithm, Acoustics, Speech and Signal Processing, 2009,1881-1884.

[4] N. Kosugi, Y. Nishihara, S. Kon'ya, M. Yamamuro, K. Kushima, Music retrieval by humming-using similarity retrieval over high dimensional feature vector space, Communications, Computers and Signal Processing, 1999 IEEE Pacific Rim Conference on, 404-407.

[5] C. Francu, C. G. Nevill-Manning, Distance metrics and indexing strategies for a digital library of popular

music, Multimedia and Expo, 2000. ICME 2000. 2000 IEEE International Conference on, 889-892. [6] Lie Lu, Hong You, Hong-Jiang Zhang, A new approach to query by humming in music retrieval,

Multimedia and Expo, 2001. ICME 2001. IEEE International Conference on, 595-598.

[7] Hsuan-Huei Shih , Narayanan, S.S., Kuo, C.-C.J., Multidimensional humming transcription using a

statistical approach for query by humming systems, Multimedia and Expo, 2003. ICME '03. Proceedings. 2003 International Conference on, 385-388.

[8] Zhi Wang, Bo Zhang, Quotient space model of hierarchical query-by-humming system, Granular

Computing, 2005 IEEE International Conference on, 671-674.

[9] Matti Ryynanen and Anssi Klapuri, Query by humming of midi and audio using locality sensitive hashing,

Acoustics, Speech and Signal Processing, 2008. ICASSP 2008. IEEE International Conference on, 2249-2252.

[10] 黄双.基于听觉特性的语音增强算法研究[D]. 南开大学,2007. [11] 邓玉娟. 基于小波变换的语音阈值去噪算法研究[D]. 重庆大学,2009.

[12] Ki Yong Lee, Byung-Gook Lee, Iickho Song , Jisang Yoo , Recursive speech enhancement using the EM

algorithm with initial conditions trained by HMM's, Acoustics, Speech, and Signal Processing, 1996. ICASSP-96. Conference Proceedings., 1996 IEEE International Conference on, 621-624. [13] 姜琳峰,语音增强技术的研究及应用[D]. 硕士学位论文,武汉大学,2004.

[14] 蔡宇,原建平,侯朝焕. 基于两级梳状滤波的语音谐波增强[N]. 仪器仪表学报,2010年。1月,

26-31.

[15] 马大猷,沈豪. 声学手册[M]. 北京:科学出版社,1983.

[16] K.Daqrouq, I.N.Abu-Isbeih, M. Alfauri, Speech signal enhancement using neural network and wavelet

transform, Systems, Signals and Devices, 2009, 6th International Multi-Conference on, 1-6. [17] 姜琳峰. 语音增强技术的研究及应用[D]. 硕士学位论文,武汉大学,2004. [18] 鲍长春. 数字语音编码原理[M],西安电子科技大学出版社,2007. [19] 江星华,李应. 基于LPCMCC的音频数据检索方法,计算机工程,2009.

34

基于内容的音频检索算法研究

[20] 牛滨,孔令志,罗森林,潘丽敏,郭亮. 基于MFCC和GMM的个性音乐推荐模型[N].北京理工

大学学报,2009.

[21] 张璠. 哼唱检索处理技术的研究[D],河北农业大学,2009.

[22] 马道郡,等. 基音检测中帧长选择的分析[J]. 北京电子科技学院学报,2006(4). [23] 马英,于向飞. 一种改进的短时平均幅度查算法. 应用声学,2010.

[24] 张天骐,张战,权进国,林孝康. 语音信号基音检索的二次谱方法. 计算机应用,2005. [25] 陈海华,曲天书,王树勋. 基于小波变换的语音信号基音频率检测法[N]. 吉林大学学报,2002. [26] 冯康,时慧琨. 语音信号基音检测的现状及展望. 微机发展,2004.

[27] 蔡军. 音乐旋律自动提取与哼唱检索系统[D]. 硕士学问论文,兰州大学,2007. [28] 张建平,王作英,赵庆卫,陆天. 语音理解中容错技术的研究[N]. 电子学报,2000.

[29] 景珂马. 网络数字搜索中的而数字查询语言与索引的研究[D]. 硕士学位论文,兰州大学,2009. [30] Wang Xuerui, A. McCallum, Wei Xing, Topical N-Grams: Phrase and Topic Discovery, with an

Application to Information Retrieval, Seventh IEEE International Conference on,2007.

[31] Qingmei Xiao, Satoru Tsuge, Kenji Kita, Music Retreval Method Based on Filter-bank Feature and

Earth Mover’s Distance, Natural Computation (ICNC), 2011 Seventh International Conference on, 2011. [32] S.Cohen, L.Guibasm, The Earth Mover's Distance under transformation sets, Computer Vision, 1999.

The Proceedings of the Seventh IEEE International Conference on,1999.

[33] 王晓东,等. 一种基于EMD的文档语义相似性度量[N]. 电子与信息学报,2008(9). [34] 苏昊,王民,李宝. 一种改进的DTW语音识别系统. 中国西部科技,2011. [35] 罗凯,魏维,谢青松. 哼唱检索中改进的动态时间规整算法. 计算机工程,2008.

35

基于内容的音频检索算法研究

致谢

本文是在唐骏老师的悉心指导下完成的,从最初论文的选题到论文的撰写、系统实现,唐老师都给了我很大的指导和帮助。韩愈的《师说》里有这么一句话:“师者,所以传道受业解惑也”,唐老师就是这么一位尽职的好老师。他学识渊博,在专业上给予我很大的帮助,在研究遇到瓶颈时总能给我指点迷津。除此之外他还同我们进行各方面的交流,教育我们做事该有的态度,培养我们的办事能力。唐老师正直的为人和严谨的治学态度都深深的影响着我,我很庆幸能跟随唐老师做毕业设计,在此向唐老师表示由衷的感谢。

感谢大学四年所有给予我学习和生活上帮助的老师、同学,尤其是我们电子与电气工程系的老师,他们精益求精的工作态度以及诲人不倦的师者风范是我学习的楷模。更要感谢可爱的辅导员姐姐对我们无微不至的关怀,以及陪伴我四年的舍友、同学们。

感谢我的家人,感谢他们一直默默的支持着我,给了我物质和精神上的帮助,感谢他们的关怀、鼓励、支持和对我无私的付出。

最后,感谢参加论文评审和答辩的各位老师对本文的认真审阅。

36

本文来源:https://www.bwwdw.com/article/e96p.html

Top