论文部分内容阅读
现如今网络已经无处不在了。人们已经习惯于通过网络获取自己感兴趣的东西——包括音乐。传统的音乐检索方法通常是根据歌曲的名字或者歌手的名字来进行检索。本文则描述如何实现根据用户哼唱来检索乐曲。也就是基于内容的音乐检索。这种方法可以解决当只记得歌曲旋律而不知道歌曲名字时对歌曲进行检索的问题。 本文首先介绍了当前国内外相关领域的研究发展状况,并且分析了现有方法的局限性。接着阐述了与本论文相关的一些准备知识。然后详细阐述了本系统实现的一些算法。包括对哼唱语音片段的音符切分、对音乐库的处理以及歌曲之间相似度的计算方法。 在音符切分部分实现了Yin等人提出的一种基于自相关函数方法的改进算法。基本原理是清音和浊音的频率相差很大,可以通过频率的不同将清音浊音区分开来,切分后的浊音频率可以直接转换为音高,即完成了音符识别的功能。在音乐库处理部分提出了一种MIDI旋律音轨的提取算法和数据库索引建立方法,这也是该系统的关键部分。并且在清唱的系统上提出了一种分句的思想,这能够有效的减小哼唱和歌曲之间的长度差异对检索准确率的影响。在歌曲特征向量提取上,由于大多数人对歌曲的绝对音高演唱不准确,所以本文采用了相对音高的旋律轮廓表示方法,并且提出了采用27个特征向量元素表示一首歌曲的方法,而不是采用传统的9个特征向量元素。由于本系统采用了信息检索中的向量模型,所以在匹配算法部分,本文先后用了欧氏距离和向量间夹角的余弦值两种向量模型中通用的匹配算法。 在上述算法的基础上设计了一个音乐检索系统。通过对不同人的真实录音进行的实验,结果表明采用27个特征向量元素的表示方法的系统比采用传统的9个特征向量元素表示方法的系统在性能上有明显的提高。在文本的最后一章会有详细的实验方法说明和评测结果。 本文的研究与探索为进一步研究基于内容的音乐检索方法,开发高质量的音乐检索工具提供了良好的开端。