论文部分内容阅读
目前,搜索引擎以及在线音乐网站主要采用文本关键词匹配的方式搜索相关的音乐,其中用作文本关键词的信息可以是音乐名称、演唱者、专辑名称或者歌词等。然而,这种以文本关键词为输入的检索方式存在一定的局限性。当用户不知道与被搜索音乐相关的文本信息或者文本信息输入不方便时,就无法通过这种方式进行音乐搜索。哼唱检索因其独特的输入方式正好可以弥补文本关键词检索的不足,从而逐渐成为音乐检索中的热门研究课题。本文主要对哼唱检索的若干关键问题包括音乐索引构建、哼唱查询旋律抽取、用户查询容错处理等方面进行研究,通过引入文本检索中的相关技术降低音乐库的存储空间以及系统索引和检索响应时间,提高检索性能。另外,音乐风格分类对提高音乐检索准确率有着重要的作用,本文对基于深度置信网络的音乐风格分类方法进行了研究。 为了将音乐信息压缩存储,本文引入了文本检索中的倒排索引方法对音乐库中的MIDI音乐进行索引。由于大多数用户在哼唱音乐旋律时经常会出现跑调以及唱快或唱慢的现象,从而导致查询中存在额外插入音符、音符被遗漏和音符音高存在偏差的情况。为了更好的处理这些错误,本文提出了一种基于递归切分的检索方法,并运用具有容错的编辑距离方法计算旋律片段之间的相似度。实验结果显示基于倒排索引的递归切分检索方法具有较好的可行性,并且还有较大的改善和提升空间。 通过对音乐作品曲式结构与文本文档语义结构的比较发现,音乐作品拥有与文本文档非常相似的结构特征。对音乐旋律重复模式的统计分析表明重复模式具有和文本文档词语类似的作用。因此,本文提出了一种基于词典的音乐检索方法。此方法将音乐看作是一种语言,把音乐旋律当作是文本文档,将音乐旋律中的重复模式作为音乐词语并以此构建音乐词典;然后使用前向或者后向最大匹配方法将音乐旋律进行切分成音乐词语并进行检索。实验表明基于词典的音乐检索方法能够有效地应用到哼唱检索中,与其他方法相比在索引运行时间和存储空间方面拥有比较明显的优势。 为了支持快速检索以及对哼唱查询包含的音符插入、删除和替换错误具有容错性,本文提出了一种基于容错N-gram的音乐检索方法。此方法从哼唱查询的每一个音符抽取出四对音高和节奏N-gram,然后利用位置敏感哈希算法搜索近似的候选并用节奏信息进行过滤;在排序的过程中充分利用查询应该与候选歌曲中小范围内并且连续的旋律片段相匹配的特性,采用部分序列匹配的方法进行匹配并应用增加节奏信息的动态时间弯曲算法计算查询与候选歌曲之间的相似度。实验表明本文提出的基于容错N-gram的音乐检索方法在检索性能、索引构建和相似度计算方面具有较大的优势。 在音乐风格分类方面,本文提出了基于深度置信网络的音乐风格自动分类方法。该方法首先以由音色纹理特征、频谱反差特征和调制频谱分析特征组成的特征向量为输入,以受限玻尔兹曼机为组块通过贪心逐层的方式构建和训练深度置信网络,然后使用基于梯度下降的有监督学习方法对整个置信网络的进行优化。通过分析网络层次结构、迭代训练次数对深度置信网络分类性能的影响,以及与其他分类方法诸如支持向量机、Κ近邻、线性判别分析和BP神经网络的比较,可以发现深度置信网络在音乐风格自动分类方面具有更好的性能。