比较两个音频文件并找到剪切

时间:2017-01-16 12:55:47

标签: audio comparison diff cut

| _____ | _____ | _____ | _____ | _____ | _____ | WAV

| _____ | _____ | _____ | _____ | MP3(超出上述WAV)

| _____ | _____ | .......... | _____ | .......... | _____ |的diff

            \    \      \    \  <-- need timestamps of cut areas

我有很多WAV文件,我的编辑器正在创建MP3文件。他们正在规范化和均衡,加上一些领域正在 cut

我需要自动找到那些剪切的区域,并以尽可能高的精度获得剪切时间戳

我花了很多时间在谷歌试图找到解决方案,但没有任何运气。在以下问题上没有答案:

还找到https://code.google.com/archive/p/musicip-libofa/,但他们的制作人网站已关闭,且该项目没有文档。

请帮忙!

1 个答案:

答案 0 :(得分:2)

我想您可以比较两个信号的时间值,直到找到很大的差异(第一个时间戳)。然后,再次比较它们,直到您发现不再存在差异(第二个时间戳)。

由于.wav和.mp3文件的格式不同,因此您无法从时间样本值中执行此操作。在频谱域中,您可以逐个比较每个帧(数字不应该完全相同,但您可以使用阈值来查看差异是否足够小。

在您的示例中,两个文件来自同一点。您可以比较两个文件的连续光谱,直到找到很大的差异。这为您提供了第一个剪切时间戳。然后你继续,直到差异再次变小,依此类推。

如果您不想进入光谱域,更简单的方法可能是使用一个特征,如信号的均方根能量或光谱质心。

在所有情况下,您首先需要读取音频文件,然后处理这些值,以获得可以比较的数据的其他表示。