我想编写一个应用程序来重命名排序和整理我的音乐库(mp3,wav,flac)。我想拍一部分歌曲,比如前几分钟,然后将它与数据库进行比较,然后检索歌曲名称和标签信息。我听说你可以用last.fm做到这一点,但看看他们的api信息没有帮助。我的问题是,这叫什么,所以我可以更好地谷歌?我想要的只是帮助很多。这将类似于shazam Android应用程序。我的首选语言是Java,所以我可以在一些操作系统上更轻松地运行它,但这可能会有所改变,具体取决于我是如何做到的。
答案 0 :(得分:3)
好的,我不知道你是否需要实用或技术性的答案。
实际上最好的音乐数据库是MusicBrainz。
他们开发了一种指纹识别技术,可以计算出我认为称之为PUID的东西。
数据库是Huge(它是最大的数据库),并且有可用的工具。它是免费的。
Picard Tagger是一个跨平台的工具,可以完全满足您的需求。
从技术上讲,有很多不同的方法。特别是在音频片段中,确实有很多方法。大多数都依赖于频谱分析。但也要考虑到Rythm,并随着时间的推移发展某些特征,当然还有诸如长度等的琐碎参数。
搜索音频指纹识别应该会给你带来很多结果。
答案 1 :(得分:2)
查看this paper详细说明Shazam算法的工作原理。
答案 2 :(得分:2)
答案 3 :(得分:1)
答案 4 :(得分:0)
这是一篇相当容易理解的文章:
http://www.soyoucode.com/2011/how-does-shazam-recognize-song