前些日子跟做音乐">推荐系统的朋友交流的几个问题,可能能说明音乐基本元素的处理在确定音乐“距离”时的重要性。列举以下2个问题:
The Beatles乐队的灵魂人物是John Lennon和Paul McCartney,自乐队解散后,乐队四位成员各自独立发展。其中Paul和他的妻子Linda组
成了“Wings”乐队。知道Beatles的听众远比知道Wings的多,而事实上喜欢Beatles歌曲的很可能会比较容易接受Wings的歌曲。那怎么去实现这层关系? 假如我非常喜欢Guns N Roses乐队这首柔情的“Don’t Cry”,而并不喜欢其他金属音乐。怎么帮我找到这些类型的音乐?
这些问题需要解决都得满足一个前提,即如何组织这些音乐基本元素。因为对程序而言,音乐是抽象的,只有通过组织音乐基本元素把它变成计算机可读的信息。当前主流唱片公司发行的中、英文歌曲的总数早已过千万数量级,要整理这么多音乐元素的信息谈何容易。在组织过程中结合一些现成的资源可以提高效率。
先粗略的把分为二类,一类是文化背景(如歌手/乐队的生平,专辑列表,歌曲的类型,年代等等);另一类是与声学相关的内容(如节拍、旋律等…..)。
接着可以用度量化的方法去描述音乐元素在音乐关系中的权重,例如音乐创作年代对影响音乐“距离”的比例有多大。我个人认为,相对来说音乐流派的界分、音乐创作的年代、音乐的主要配器、乐队的灵魂人物、音乐的节拍和速度会是影响音乐之间距离的最主要因素。
拿英文歌曲来说,部分歌曲的基础信息可以通过CDDB和一些FreeDB获得。而其余的文字信息则可参考Allmusic或者Wikipedia。尤其是Allmusic,对歌手的年代跨度、乐器的演绎、音乐心情都有详细的描述。中文音乐缺少这类有价值的资源,部分可以通过Mp3内的ID3tag信息获得。不过中文音乐的历程相对来说没有那么复杂的背景,数量也少多了。
声学相关内容处理就要复杂的多了,得靠专业人员分析。也可借助一些软件。如MoodLogic这个音乐客户端软件采用“声音指纹”(audio-fingerprinting)技术实现内容识别,从其数据库中获得音乐节拍的快慢和音乐心情。
另外在对这些信息组织和管理时候,可采用ISO制定的MPEG7标准(多媒体内容描述接口)。通过MPEG-7体系可以将音乐的描述和定义与内容本身结合,可以更有效的实现音乐媒体文件的管理和检索。