音乐识别与信号处理

Ali*_*xel 14 php python audio signal-processing audio-processing

我想建立类似于TunaticMidomi的东西(如果你不确定他们做了什么的话就试试看)我想知道我必须使用哪些算法; 我对这些应用程序的工作原理是这样的:

  1. 有一个有几首歌的大数据库
  2. 1中的每首歌曲.降低质量/比特率(例如64kbps)并计算声音"哈希"
  3. 有你想要识别的音乐的声音/摘录
  4. 对于3中的歌曲.降低质量/比特率(再次达到64kbps)并计算声音"哈希"
  5. 如果4.声音散列在2.中的任何一个中.声音散列返回匹配的音乐

我虽然因为环境噪声和编码差异而降低了质量/比特率.

我在这里走在正确的轨道上吗?任何人都可以提供任何具体的文档或示例吗?Midori似乎甚至认识到hum's,这真是令人印象深刻!他们是怎么做到的?

声音哈希存在还是我刚刚制作的东西?如果他们这样做,我该如何计算它们?更重要的是,我如何检查是否child-hashfather-hash

我将如何使用Python(可能是内置模块)或PHP构建类似的系统

一些例子(最好是Python或PHP)将不胜感激.提前致谢!

Ste*_*joa 11

我从事音乐信息检索(MIR)的研究.关于音乐指纹识别的开创性论文是Haitsma和Kalker在2002 - 03年左右的开创性论文.谷歌应该得到它.

我早期(非常早期; 2000年之前)阅读了关于Shazam方法的白皮书.此时,他们只是基本上检测到了光谱时间峰值,然后对峰值进行了散列.我确信这个程序已经发展了.

这两种方法都解决了信号级别的音乐相似性,即它对环境失真很稳健.我不认为它适用于嗡嗡声查询(QBH).然而,这是一个与不同(但相关)解决方案不同(但相关)的问题,因此您可以在文献中找到解决方案.(这里有太多名字.)

ISMIR程序可在线免费获取.你可以在那里找到有价值的东西:http://www.ismir.net/

我同意使用像Marsyas这样的现有库.取决于你想要什么.我认为Numpy/Scipy在这里是不可或缺的.简单的东西可以用Python自己编写.哎呀,如果你需要像STFT,MFCC这样的东西,我可以给你发电子邮件代码.


D.C*_*.C. 10

我在一个很酷的框架的外围工作,实现了几种音乐信息检索技术.我几乎不是专家(编辑:实际上我与专家无关,只是为了澄清),但我可以说,快速傅里叶变换在这个地方使用了所有地方.傅立叶分析很古怪,但它的应用非常简单.基本上,当您在频域而不是时域中分析音频时,您可以获得大量有关音频的信息.这就是傅里叶分析给你的.

这可能与您想要做的事情有点不同.在任何情况下,项目中都有一些很酷的工具可供使用,以及查看核心库本身的源代码:http://marsyas.sness.net


dpw*_*pwe 5

我最近将基于音频界标的指纹识别系统移植到了Python:

https://github.com/dpwe/audfprint

它可以从数以万计的磁迹的参考数据库中识别出较小的摘录(5-10秒),并且对于噪声和通道失真非常强大。它使用局部光谱峰的组合,类似于Shazam系统。

这只能匹配完全相同的曲目,因为它依赖于频率和时差的详细信息-甚至无法匹配不同的曲目,当然也不能涵盖版本或嗡嗡声。据我了解,Midomi / SoundHound通过使嗡嗡声相互匹配(例如,通过动态时间扭曲)来工作,然后在嗡嗡声集和预期的音乐曲目之间具有一组人类策划的链接。

将嗡嗡声直接匹配到音乐曲目(“通过嗡嗡声查询”)是音乐信息检索中一个正在研究的问题,但是仍然非常困难。您可以在MIREX 2013 QBSH结果中查看去年评估的一组系统的摘要。