最近,我开始在我的iPhone上使用Shazam app。对于那些不知道的人来说,这款应用程序通过收听播放的一小段歌曲来识别歌曲。我对它的准确性和速度感到惊讶,所以我决定做一点挖掘。
我发现了他们的一个开发者here写的一篇论文。在论文中,开发人员详细描述了Shazam中使用的指纹算法。
作为一个宠物项目,我喜欢制作我自己的歌曲指纹应用程序,这样我就可以获得一些音频编程的经验。
有哪些音频库可以帮助你提取音频片段或mp3歌曲的持续时间内的频率、振幅和其他特征?
我使用的是.NET,但我对其他语言库也持开放态度。我对开源和付费的库都很满意。只要我能可靠地提取音频特征,我就会很高兴。
另请参阅:
How Shazam Works
Shazam Journal Paper
发布于 2009-08-15 22:10:11
试着看看NAudio吧。它可能没有你想要的所有音频分析,但它是相当可扩展的,如果你使用.Net语言,它将是一个很好的起点。
发布于 2013-07-22 14:01:14
要开始学习音频功能,您应该首先阅读this paper。
许多实验室都开发了自己的库来提取音频特征。你可以看看yafee,aubio,jaudio……
发布于 2009-08-15 21:54:09
ffmpeg库支持很多音频编解码器,但是它的接口相当痛苦。
为了提取音频属性,你应该考虑一个合适的适合信号分析的库。例如,您将特别需要快速傅立叶变换(FTT),以便从音频样本中提取频率数据。A search在这个主题上给出了很多结果。
/edit:对于.NET,我确信有一个ffmpeg接口。您还可以找到用于.NET的信号分析工具。
https://stackoverflow.com/questions/1282930
复制相似问题