现在的搜索引擎都是基于文字的,GoogleImage也一样。你输入的东西,它估摸着文件名和包含图片的网页内容给你返回,所以其实还是基于文字的。然而我要找个音乐怎么办?只能基于文字——用歌名或者作者去搜索。别人怎么样我不清楚,反正我总是,有的歌听着特别熟,就是不知道是什么歌-_-。这种时候我只能去问别人去,而不能上网用什么搜索引擎来查询。如果搭配上一些广告超链接,比如哪首歌最符合查询条件就把哪首歌的赞助商的购买链接放到显眼的位置,那得是多大的商机啊?可是现在怎么就没什么人做呢?
我觉得主要是如何输入查询条件、如何判断哪个结果更符合查询条件,这是一大问题。我谈谈我的设想。
首先是输入部分。我的设想是,同时在搜索引擎的主页面放上4种查询方式。第一种:五线谱输入框。这是最专业的输入方式,针对专业人士,尽管技术上现在我还没有见过这样的输入框。但是现在的所见即所得的发言对话框在刚出现HTML不也是难以想象的吗?将来能够直接输入五线谱绝对不是问题。第二种:简谱输入框。这是针对能力较强的人士的。第三种:键盘输入框。另有一个“录音”按钮,按下之后就可以开始用鼠标在屏幕上弹奏,程序自动记录下输入的音符和节奏,并自动转换为谱面。第四肿:Microphone输入。就是人唱,然后自动识别……这些应该够了吧?
然后说说识别部分。既然是要从本质上去搜索音乐,那么首先我认为数据库里应该是MIDI格式,或者起码是基于MIDI格式,但是加入了一些为了搜索方便而设置了标记的扩展格式(比如匹配度)。对于前两种输入方式,识别所需做的工作主要就是针对和弦和调式进行模糊匹配就行了。一般的和弦给人主要的感觉仅仅是其中的一到两个音符,只要在这一两个音符上做上标记(比如说匹配度100%),然后在其它的音符上做上另一种标记(比如匹配度85%),最后计算出来匹配度就可以排列搜索结果顺序了。调式就是说,输入的是765,那么321也应该是符合条件的。
第三种输入方式和第四种输入方式的识别却一个比一个难。第三种输入方式的音准基本上不是问题(除了个别音符由于主旋律和伴奏过于接近或类似的原因感官上会有些差异,但是可以通过设计一个合适的“匹配度”来使得用户想要的东西被排列在第一个),主要就是自动格式化一下节奏(要知道一首歌曲是125BPM还是130BPM对人来说差别并不大,这是个问题)。而第四种输入方法除了前面的匹配和弦、调式、节奏之外,还要考虑到广大用户那并不准确的音准(都准都唱歌去了,歌星怎么会这么少)。而且由于音域限制,人在再唱一些跨度比较大的歌曲的时候,可能会自动地把某些部分降低或升高一个八度,这也必须是由判断程序来识别和包容的。
这些在技术上我还没有想到什么好的解决办法,只能是提出设想,抛砖引玉,希望以此引起广大高人的主意,并最终制作出优秀的音乐查询引擎。
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=71763