首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个音频序列之间的感知相似性

两个音频序列之间的感知相似性
EN

Stack Overflow用户
提问于 2010-07-05 02:42:25
回答 2查看 5.4K关注 0票数 18

我想测量两段音频之间的距离。例如,我想将动物的声音与人类模仿动物的声音进行比较,然后返回声音相似程度的分数。

这似乎是一个很难的问题。什么是处理它的最好方法?我在考虑从音频信号中提取几个特征,然后对这些特征进行欧几里得距离或余弦相似度(或类似的东西)。什么样的特征容易提取并有助于确定声音之间的感知差异?

(我在某个地方看到Shazam使用散列,但这是一个不同的问题,因为被比较的两段音频基本上是相同的,但其中一段有更多噪音。在这里,这两段音频并不相同,它们只是在感知上相似。)

EN

回答 2

Stack Overflow用户

发布于 2010-07-06 20:27:22

在计算机科学研究中,比较一组声音相似性的过程称为基于内容的音频IndexingRetrievalFingerprinting

执行此操作的一种方法是:

  1. 对每个音频文件运行多位信号处理,以提取特征,如随时间变化的基音、频谱、自相关、动态范围、瞬态等。
  2. 将每个音频文件的所有特征放入多维数组中,并将每个多维数组转储到数据库中
  3. 使用优化技术(如gradient descent)在多维数据数据库中查找给定音频文件的最佳匹配。

要想让它很好地工作,关键在于选择哪些特性。自动执行此操作并获得好的结果可能很棘手。Pandora的人在这方面做得非常好,在我看来,他们有最好的相似性匹配。他们手工编码他们的向量,让人们听音乐,并以许多不同的方式对其进行评分。查看他们的Music Genome ProjectList of Music Genome Project attributes了解更多信息。

对于自动距离测量,有几个项目可以做这样的事情,包括marsysasMusicBrainzEchoNest

我在这个领域见过的simplest APIs中,有一个就是Echonest。非常容易上手。

票数 11
EN

Stack Overflow用户

发布于 2010-07-05 02:48:35

我建议你研究一下频谱分析。虽然这并不像你最想要的那样简单,但我希望将音频分解成它的潜在频率会提供一些非常有用的数据来进行分析。查看此link

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3175774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档