使用波形比较两个音频文件

2024-05-19 06:48:02 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Comparison of two waveforms of audio files

我找到了一个php函数,它可以从wav文件生成波形,我对它进行了修改,现在它符合我的需要,工作得很好。

波形似乎对每个wav文件都是独一无二的,所以也许可以用它们的波形来比较两个音频文件,看看b.wav和a.wav有多接近?这是个好主意吗?

我编写了一些php函数来逐像素比较两个波形(JPG)。经过一番测试,我得到了以下结果:对于两个不同的音频文件,平均差异约为97%的结果,如预期,但我不知道它将如何工作在真正的代码。

有人能就这个想法发表自己的看法吗?也许还有一些有用的提示:)

我试着比较两个音频文件,看看b.wav和a.wav有多接近。

附言:我的wav文件几乎是一样的,唯一的区别是声音。


Tags: 文件of函数filesaudiocomparison音频文件主意
3条回答

比较音频波形是一种方法。但它并不真正匹配一个音频文件与另一个。它所匹配的只是一段时间内振幅的差异。所以如果你的目标是比较,波形比较是正确的。

如果你真的想比较像shazam这样的音频或其他有用的东西,请阅读how-does-shazam-recognize-songAn Industrial-Strength Audio Search Algorithm

我认为比较图形波形在比较信号时没有多大用处。相反,您应该比较信号本身(floats或ints的arrays)。

有很多信号处理方法可以提供某种相似性度量。首先,想到的是cross correlation函数的简单尝试。

我在大学里也做过类似的工作。我用C++。

为了进行比较,我采取了以下步骤:

  1. 将音频文件分割成块大约1秒。每一个。
  2. 计算每个块的快速傅立叶变换(FFT)。
  3. 计算来自第一文件的FFT和来自第二文件的FFT之间的相关性。每一块都有。
  4. 检查所有块的相关性大于80%。这个值对我的项目来说已经足够了。

相关问题 更多 >

    热门问题