最近我开始在iPhone上使用Shazam app。对于那些不知道的人,这个应用程序通过聆听歌曲的一小部分来识别歌曲。我对它的准确性和速度感到惊讶所以我决定做一点挖掘。
我发现了一篇由他们的开发人员here撰写的论文。在论文中,开发人员详细描述了Shazam中使用的fingerprintng算法。
作为一个宠物项目我想制作自己的歌曲指纹识别应用程序,这样我就可以获得一些音频编程的经验。
有哪些音频库可以帮助您在其持续时间内提取音频片段或mp3歌曲的频率,幅度和其他特征等内容?
我正在使用.NET,但我对其他语言库开放。我对开源和付费库都很好。只要我能够可靠地逐步提取音频特性,我会很高兴。
答案 0 :(得分:2)
试试看看NAudio。它可能没有您预先寻找的所有音频分析,但它是非常可扩展的,如果您使用.Net语言,它将是一个很好的起点。
答案 1 :(得分:0)
要开始使用音频功能,您应首先阅读this paper。
许多实验室已经开发了自己的库来提取音频功能。 你可以看看yafee,aubio,jaudio ....
答案 2 :(得分:-1)
ffmpeg
库支持很多音频编解码器,但与IMHO接口相当痛苦。
为了提取音频属性,您应该考虑适合信号分析的合适库。例如,您将特别需要快速傅立叶变换(FTT)来从音频样本中提取频率数据。 A search就该主题提供了大量结果。
/ edit:对于.NET,我确信有一个ffmpeg
接口。您也可以找到.NET的信号分析工具。