C# 计算两个时间跨度之间的差异

C# 计算两个时间跨度之间的差异,c#,math,audio,signal-processing,C#,Math,Audio,Signal Processing,这可能是一个广泛的答案,但我希望看到答案,并与SO用户讨论这个问题 到目前为止,我猜一个音频文件(WAV)的采样率可能是44000或48000(我见过这两个文件中的大多数),从中我们可以确定一个文件中的一秒钟(秒00:00:01)正好有44000个整数值,这意味着这里有一个Int[],所以如果一个音频文件的持续时间是5秒,它就有5*44000个整数(或5个样本) 因此,我的问题是,我们如何计算两个时间跨度之间的内容差异(或相似性),例如00:00:01时的Audio1.wav和Audio2.wa

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

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


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

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

最好从阅读一些和开始,然后搜索一些音频比较算法(,,)


链接Q:

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


但是请注意,当信号自身重复时,您将得到多个互相关峰值。

-1.我完全不理解您的问题。我猜您的Audio1.wav和Audio2.wav具有不同的采样率?您想计算什么?1秒内采样数的差异?同样,常见的采样率是44100个样本/秒和48000个样本/秒。@mtrw我想计算两个时间跨度或相似性之间的内容差异“内容差异”是什么意思?你所说的差异是什么意思?比如,如果Audio1是100赫兹的正弦波的1秒,Audio2是100赫兹的余弦,你会期望答案是什么?或者如果Audio1是生日快乐的1秒,Audio2是由另一位歌手演唱的生日快乐的1秒,你期望答案是什么?你必须给出更多的细节il.@mtrw我现在是个新手,但正如我提到的,我需要获得相似性,是的,我需要从同一个歌手那里找到生日快乐,我不需要指定一个意思,我只需要相似性。