比较两个音频文件的波形

时间:2011-10-12 05:56:25

标签: visual-c++ wav

我是VC ++开发人员,目前需要帮助比较两个音频文件。假设我有两个波形文件,其中一个是使用另一个创建的,例如降低响度等。

现在,我必须比较这些文件并查看修改后的文件是否几乎是原始文件的副本,意味着,在创建修改过的文件时,我的应用程序在不知不觉中没有扭曲文件。

百分比值可以更好地表示这些文件有多少不同。 我尝试对两个文件进行FFT,然后计算dB的差异(例如,10 * log10(ft1 / ft2))并平均结果。我得到一个结果数字,但我不确定这个数字是什么意思。

提前感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

除了光谱的相似程度之外,您获得的数字并不能真正表示任何意义。有很多方法可以修改音频文件,有很多方法可以比较它们,因此无法给出一般答案。如果您确切知道做了哪些修改,那么您可以做一个合理的工作。例如,如果你知道唯一的修改是音量已经被一个常数因子改变了,那么如果你采用FFT的平方幅度并将其标准化(即重新调整以使峰值为1.0)那么这对于原始和修改的信号。您可以计算两个FFT幅度差异的总和,但这只是一个数字,您无法以任何有意义的方式将其转换为百分比(如果我说两个声音有30%不同,这意味着什么?)

所以我会退后一步,找出你实际试图解决的问题。