检测近似重复的音频文件

检测近似重复的音频文件

假设我有几个目录,里面有大约 4000 个音频文件,其中大约一半是 FLAC,另一半是 MP3。假设我想通过音频数据而不是标签元数据来检测是否有任何重复或近似重复的音频文件。例如,假设我有同一首歌曲的 FLAC(无损)和 MP3(有损)版本。在不对文件名、标签元数据甚至采样率做任何假设的情况下,我希望找到某种方法来检测它们是否本质上是同一首曲子。

我想到了很多办法,但它们都存在一些问题:

  • 无法比较文件哈希值或文件大小,因为底层音频格式或标签可能不同
  • 无法比较音频文件的长度,因为近似重复的音频文件可能不会持续完全相同的时间(它们之间的时间可能相差很小的几分之一秒),也可能存在其他长度相同的音频文件
  • 无法逐个样本比较原始音频数据,因为这样无法检测出同一音轨的有损和无损版本

我真的不知道该怎么做,或者是否有任何程序可以做到这一点。本质上,我正在寻找类似 AntiDupl.NET 的东西,但用于音频文件而不是图像。也许这可以在 Python 中通过某种统计分析来完成,使用错误作为阈值,但我不确定如何实现。有什么程序建议或其他想法吗?

相关内容