我找到了一个从wav文件生成波形的php函数,我对它进行了修改,现在它符合我的需求,效果很好。
波形对于每个wav文件似乎都是如此独特,所以也许可以使用它们的波形比较两个音频文件,看看b.wav与a.wav有多接近?这根本不是一个好主意吗?
我写了一些php函数来逐个像素地比较两个波形(JPG)。经过一些测试后,我得到以下结果:对于两个不同的音频文件,平均差异是〜97%的结果如预期,但我不知道它将如何在实际代码中工作。
有人可以就这个想法发表意见,也许还有一些有用的提示:)
我正在尝试比较两个音频文件,看看b.wav与a.wav有多接近。
P.S:我的wav文件几乎相同,唯一的区别就是声音。
答案 0 :(得分:11)
我在大学里做类似的任务。我使用C ++。
为了比较,我做了一些步骤:
答案 1 :(得分:2)
比较波形上的音频是一种可行的方法。但它并不真正匹配一个音频文件与另一个音频文件。所有它匹配的是一段时间内幅度的差异。因此,如果您的目标是比较它,则波形比较是正确的。
如果你真的想比较shazam或其他有效的音频,请阅读how-does-shazam-recognize-song或An Industrial-Strength Audio Search Algorithm
答案 2 :(得分:0)
我不认为在比较信号时比较图形波形很有用。相反,您应该比较信号本身(array
s或float
s int
s。
有很多信号处理方法可以提供某种相似性度量。作为第一个简单的尝试,cross correlation函数浮现在脑海中。