鲁梦河 12级信科2班 1200012834
一、背景介绍
随着网络音乐领域的不断发展,音乐搜索正逐渐成为我们生活中不可或缺的一部分。目前应用最为广泛的一种检索形式是基于文本的音乐搜索(TBMR,Text-Based MusicRetrieval),也就是按照音乐的名称、表演者、所属专辑等人工的标注来进行检索。这种传统的搜索方式的缺陷是比较明显的:首先,通过人力对音乐信息进行标注和细化索引的方式,不仅成本高而且工作量巨大;其次,很多用户正是因为记不清歌曲的信息才有了“找歌”的需求,文本搜索的方式无法满足这种需要。为了解决这些问题,基于内容的音乐搜索(CBMR,Content-Based MusicRetrieval),即以音乐信号的物理特征、听觉特征、语义特征为基础的音乐检索形式应运而生,并在近些年逐渐成为各大搜索引擎研发的一大热门。
哼唱检索(QBH,Query ByHumming),即通过哼唱歌曲的某个片段来找到想要搜寻的歌曲,是一种基于内容的音乐信息检索方式。其他的检索方式还有节拍拍打检索(QBT,Query By Tapping)、演奏输入检索(如使用MIDI键盘等)、乐谱录入(如直接输入音符序列)检索等。虽然演奏输入检索和乐谱录入检索可以采用文本检索技术很容易地实现,但对用户的音乐技能要求较高。而哼唱检索方式则由于对用户要求低、使用简单、能比较准确地表达检索要求,而成为最人性化的搜索方式。
二、哼唱检索技术的关键问题及相关算法
从1995年Ghias等人提出第一个基于哼唱的音乐检索系统开始,这项技术经历了蓬勃的发展。截至2004年,针对哼唱检索提出的算法已经十分多样了:
从我们的常识出发,不难想到哼唱检索技术所面临的几个关键性问题。首先,由于使用者在找歌时只对原曲的相对音高有一个模糊的印象,所以哼唱时也大多是随意起调,无法保证与原曲有相同的绝对音高序列,这也就要求QBH系统具备根据相对音高来进行匹配的能力;其次,不同人哼唱的节奏、质量、音准都不同,查询输入的多样性和不准确性都为检索造成困难;而从检索系统这一端来说,数据库里以音频形式储存的音乐大都是多声部的(人声、乐器、打击乐混合而成),如果以这种形式与哼唱信息进行匹配,就必须将其中的人声单独进行处理,而这个分离的过程(或说旋律表示的过程)无疑也是十分关键的。
早期的QBH研究在旋律特征表示方面的共同特点是,用时域或频域的方法提取音高,再根据音高变化把旋律表示成以独立字符组成的符号串(如“U”表示上升,“D”表示下降,“S”表示相同),从而得到旋律的音高轮廓线。这种轮廓线表示的是相对音高序列的变化,它可以让使用者在哼唱时不必与原曲保持相同的绝对音高。然而,随着乐曲库规模的扩大,这种方法愈发显得粗略和不准确,很难精确地获得检索结果。
为了解决这个问题,针对乐曲的更多特征元素被引入,比如用音高轮廓、音程、音长表示旋律,以及用同时使用音高变化(Up,Down,Repeat)和音长变化(Longer,Shorter,Repeat)对旋律进行编码等,这些特征的引入使得对特定旋律的表示变得更加精确。
下图就展示了一种对用户哼唱内容的可视化模拟。
在旋律匹配方面,早期的大多数系统都使用近似字符串匹配算法,如DP法、N-Gram法等。但这种方法在容错方面有明显缺陷:采用这种算法的系统大多用音高变化的幅度描述音符,这也就导致如果用户在哼唱时有一个音的频率出现偏差,则编码成音符序列后,误差就会传播到两个音符上。在稍大规模的乐曲库中使用字符串匹配,用户仅仅唱错一个音就很容易导致检索失败。
随着哼唱搜索技术的发展,更多的研究开始致力于直接用哼唱的音频流与数据库中的旋律进行比对和匹配。一种实现这个目的的方法是DTW(Dynamic TimeWarping,动态时间规整)算法。这种方法可以提高搜索的准确性和容错性,但代价是暴力搜索的时间大大增长。除了DTW算法之外,其他具有代表性的算法包括基于后缀树的索引方法、基于编辑距离(EditDistance)的方法、隐马尔科夫模型(HMM)方法等、基于单侧连续匹配(OSCM)的方法等,它们在容错性、准确率和搜索速度上各有利弊。
三、哼唱检索网站中的领导者——Midomi
Midomi(www.midomi.com)是总部位于硅谷的MelodisCorporation出品的一款依靠哼唱歌曲旋律来搜索歌曲信息的搜索引擎,它是QBH技术在应用领域最成功的实践产物之一,其便捷性和准确性已经得到了很多用户的称赞。
Midomi的宣传语是“终极乐曲搜索工具”,用户通过唱歌、哼歌或者吹口哨就可以立即找到喜爱的乐曲,并连接到相关的音乐社区。在搜索过程中用户不需要输入类似歌曲作者、演唱者或者歌曲名等任何关于歌曲的文字信息,而只需要把歌曲哼唱出来,就可以通过Midomi的数据库找到匹配的歌。
上述产品特征应该说是QBH系统所共同具备的。而在我看来,Midomi最为领先也是最为独特的地方在于,除了原始乐曲之外,用户的哼唱内容本身会被编入乐曲数据库之中——任何用户都可以在Midomi的在线录音棚内唱歌来为他们喜爱的歌曲贡献新的哼唱数据。这样一种模式使得用户的哼唱搜索不再仅仅基于原始的乐曲,而是会基于与其他用户哼唱数据的比对,每一次搜索所显示的结果也包含了先前用户们哼唱的录音。相比之下,这种哼唱与哼唱之间的匹配方式无疑更为简单和准确。
为了鼓励用户在没有搜索需求时仍然不断上传自己的哼唱,Midomi采取了与大型音乐翻唱社区类似的方法:让用户建立自己的音乐主页、演唱自己喜爱的歌,同时可以聆听其他人的演唱、为他们打分、成为彼此的好友或粉丝等。这样一种近似社交网站的运营方式,使Midomi的“哼唱数据库”得以不断地完善和壮大,也让其主打的搜索功能的精确性不断提高。
除此之外,Midomi还拥有一个大型数字乐曲商店(似乎是与iTunes合作的),提供了两百多万首合法乐曲,搜索到想要歌曲的用户可以直接从 Midomi购买完整的音乐。在版权保护做得比较好的欧美市场,这一模式可以直接为Midomi带来利润。
四、对哼唱检索技术应用前景的展望
随着QBH技术的完善,它的应用前景也显得愈发广阔。
首先,基于QBH技术的网络音乐搜索引擎目前已经实现(如上述的Midomi.com),并且已经扩展到移动客户端(如手机应用软件SoundHound及其中国版“音乐猎手”)。与此同时,诸如百度mp3等传统音乐搜索网站也正在开发类似的技术。相信过不了多久这种标志着音乐搜索革命的新模式将会进入全面繁荣的阶段。
除了应用于网络搜索,QBH在音乐创作领域应该也可以有很大的发展空间。很多音乐创作者在发表一首歌之前会先让身边人试听,原因就在于他们自己曾经听过太多旋律,很难判断写出来的旋律是不是和已有的作品重合,换句话说就是“无意识的抄袭”。通过哼唱搜索,作曲者可以机器方便地将脑海中的旋律与显存的歌曲进行比对和参考,从而可以改善这样的难题。除此之外,QBH中旋律识别的技术可以让作曲家直接通过哼唱来创作,哼唱的内容可以被系统自动识别和记录下来,免去了记谱的麻烦。(这种应用应该已经实现了。)
除此之外,在各种大型的音乐数据库(比如KTV点歌系统)中,QBH也有很大的用武之地。当我们在KTV找歌时,通过“语言-歌手分类-歌手名称-曲目名称”的索引方式找歌往往既慢又麻烦,特别是不断点击“下一页”的过程十分费时费力。如果在点歌系统中引入QBH技术,我们就可以仅仅通过哼唱一句副歌直接找到歌曲,大大节省了时间。虽然在嘈杂的环境下使用哼唱搜索可能比较困难,但相信这些使用上的细节问题终究是可以解决的。
参考文献
[1]沙晓艳.HMM模型在哼唱搜索中的应用[D].西北大学,2008.
[2] 李擎宇, 杨旭敏. 音乐检索中哼唱找歌的新方法[J]. 计算机应用与软件, 2007, 24(6).
[3] Zhu Y, Shasha D, Zhao X. Query byHumming - In Action with its Technology Revealed[C]. //SIGMOD 2003,San Diego, CA: SIGMOD, 2003.
[4] 许玲. 音频检索的原理[J]. 内蒙古科技与经济, 2004(20).
[5] 黄磊. 基于内容的MP3音乐检索研究和实现[D]. 厦门大学, 2008.
[6] 杨林. “哼得出就找得到”的多媒体搜索[EB/OL]. 2012[2012-12-26].http://blog.sina.com.cn/s/blog_4dc43e570100bd9b.html.