有哪些好的库可以从音频文件中提取数据?

时间:2009-08-15 21:43:54

标签: .net audio shazam

最近我开始在iPhone上使用Shazam app。对于那些不知道的人,这个应用程序通过聆听歌曲的一小部分来识别歌曲。我对它的准确性和速度感到惊讶所以我决定做一点挖掘。

我发现了一篇由他们的开发人员here撰写的论文。在论文中,开发人员详细描述了Shazam中使用的fingerprintng算法。

作为一个宠物项目我想制作自己的歌曲指纹识别应用程序,这样我就可以获得一些音频编程的经验。

有哪些音频库可以帮助您在其持续时间内提取音频片段或mp3歌曲的频率,幅度和其他特征等内容?

我正在使用.NET,但我对其他语言库开放。我对开源和付费库都很好。只要我能够可靠地逐步提取音频特性,我会很高兴。

另见:
How Shazam Works
Shazam Journal Paper

3 个答案:

答案 0 :(得分:2)

试试看看NAudio。它可能没有您预先寻找的所有音频分析,但它是非常可扩展的,如果您使用.Net语言,它将是一个很好的起点。

答案 1 :(得分:0)

要开始使用音频功能,您应首先阅读this paper

许多实验室已经开发了自己的库来提取音频功能。 你可以看看yafee,aubio,jaudio ....

答案 2 :(得分:-1)

ffmpeg库支持很多音频编解码器,但与IMHO接口相当痛苦。

为了提取音频属性,您应该考虑适合信号分析的合适库。例如,您将特别需要快速傅立叶变换(FTT)来从音频样本中提取频率数据。 A search就该主题提供了大量结果。

/ edit:对于.NET,我确信有一个ffmpeg接口。您也可以找到.NET的信号分析工具。