我想测量两段音频之间的距离。例如,我想将动物的声音与人类模仿动物的声音进行比较,然后返回声音相似程度的分数。
这似乎是一个很难的问题。什么是处理它的最好方法?我在考虑从音频信号中提取几个特征,然后对这些特征进行欧几里得距离或余弦相似度(或类似的东西)。什么样的特征容易提取并有助于确定声音之间的感知差异?
(我在某个地方看到Shazam使用散列,但这是一个不同的问题,因为被比较的两段音频基本上是相同的,但其中一段有更多噪音。在这里,这两段音频并不相同,它们只是在感知上相似。)
发布于 2010-07-06 20:27:22
在计算机科学研究中,比较一组声音相似性的过程称为基于内容的音频Indexing、Retrieval和Fingerprinting。
执行此操作的一种方法是:
要想让它很好地工作,关键在于选择哪些特性。自动执行此操作并获得好的结果可能很棘手。Pandora的人在这方面做得非常好,在我看来,他们有最好的相似性匹配。他们手工编码他们的向量,让人们听音乐,并以许多不同的方式对其进行评分。查看他们的Music Genome Project和List of Music Genome Project attributes了解更多信息。
对于自动距离测量,有几个项目可以做这样的事情,包括marsysas、MusicBrainz和EchoNest。
我在这个领域见过的simplest APIs中,有一个就是Echonest。非常容易上手。
发布于 2010-07-05 02:48:35
我建议你研究一下频谱分析。虽然这并不像你最想要的那样简单,但我希望将音频分解成它的潜在频率会提供一些非常有用的数据来进行分析。查看此link
https://stackoverflow.com/questions/3175774
复制相似问题