计算2个时间跨度DSP之间的差异

时间:2011-10-26 07:20:35

标签: c# math audio signal-processing

这可能是一个广泛的答案,但我希望看到答案并与SO用户讨论这个主题。

到目前为止,我猜一个音频文件(WAV)的采样率可能是44000或48000(我见过大多数这两个),从中我们可以确定单个秒进入文件(第二个00: 00:01)正好有44000个整数值,这意味着我们有一个Int[],所以如果音频文件持续时间是5秒,它有5 * 44000个整数(或5个样本)。

所以我的问题是,我们如何计算两个时间跨度之间内容的差异(或相似性),如音频在00:00:01的Audio1.wav和Audio2.wav,且采样率相同。

2 个答案:

答案 0 :(得分:1)

您的推理中有几个假设: 1.该文件是原始未压缩(PCM编码)数据。 2.只有一个频道(单声道)。

最好先阅读一些format descriptionssample implementations,然后搜索一些音频比较算法(1 2 ,{ {3}})。

关联问:3

答案 1 :(得分:1)

执行此操作的一种方法是将信号从44100 Hz重新采样到48000 Hz,因此两个信号具有相同的采样率,并执行互相关。互相关的形状可以是相似性的度量。您可以查看峰值的高度,或峰值中的能量与总能量的比率。

但请注意,当信号重复出现时,您将获得多个互相关峰值。