3

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

我在这里找到了他们的一位开发人员写的一篇论文。在这篇论文中,开发人员详细介绍了 Shazam 中使用的指纹算法。

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

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

我正在使用 .NET,但我对其他语言库持开放态度。我对开源库和付费库都很好。只要我可以可靠地以编程方式提取音频特征,我就会很高兴。

另请参阅:
Shazam 的工作
原理 Shazam 期刊论文

4

3 回答 3

2

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

于 2009-08-15T22:10:10.677 回答
1

要开始使用音频功能,您应该首先阅读本文

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

于 2013-07-22T06:01:13.717 回答
-1

ffmpeg库支持许多音频编解码器,但恕我直言,与它交互非常痛苦。

为了提取音频属性,您应该考虑一个适合信号分析的体面的库。例如,您将特别需要快速傅立叶变换 (FTT) 来从音频样本中提取频率数据。搜索给出了关于该主题的很多结果。

/edit:对于.NET,我相信有一个ffmpeg接口。您还将找到适用于 .NET 的信号分析工具。

于 2009-08-15T21:54:09.010 回答