在数百万用户编辑的音频文件中查找重复内容(音频内容散列)

时间:2015-06-07 08:07:39

标签: algorithm audio hash audio-processing

我遇到的问题包括处理超过一百万个音频文件(来自用户生成的视频内容),这些文件可能已被编辑(主要是剪辑)并以各种质量上传。我的任务是将所有重复项映射到一个项目ID,以便我们稍后过滤以显示那些具有全长和最佳质量的视频。

由于不同文件之间视频之间的视觉差异可能不同,我们希望将音轨用于我们的目的。这就是为什么我正在搜索对上述内容有抵抗力的音频内容散列。你可以把它称为' Shazam' -problem。

我的问题是:您认为找到这些潜在重复项的最简单方法是什么(可以进行手动审批)?

一个子问题是:如何解决不处理相位不同的音频文件块的问题(确保来自2个不同长度的音频的哈希输入始终相同)。

我目前的做法是通过音频进行处理,并且在给定时间窗口内声波上的每个局部高点在随后的20-30秒块上生成某种散列。只要重复查找过程是某种键值查找而不是与所有其他哈希值的交集,我就可以轻松地为每个文件存储几十个哈希值。

我没有元数据或其他任何可以使用的内容。

1 个答案:

答案 0 :(得分:4)

有一个很好的描述shazam如何在内部工作:

An Industrial-Strength Audio Search Algorithm

他们搜索最突出的频率成分及其相对距离,并以巧妙的方式存储这些距离,以便快速搜索和匹配。

这可能看起来非常复杂,但是对于音频文件的强大指纹识别需要付出一些努力,这根本不是一个小问题。