音频文件相似性检查

信息处理 声音的
2022-02-22 05:17:54

我有很大的音频文件数据库,大约 1-2 秒长。不同的人说不同的话,但在这个过程中我做了一些重复的事情,我必须找到并删除(数据库大约有 100000 个声音,很难听,有一些噪音,或者与人类相似,但不同)。一些重复的音频文件在切割过程中不能移动半秒或更短的时间。

请帮忙。如何在我的音频数据库中找到真正的重复项?

2个回答

以下是在音频文件数据库中查找重复项的三种方法。如果我正确理解了您的问题,我认为您需要互相关方法。

寻找相同的文件 - md5 校验和(不是我知道的 DSP 解决方案)

寻找相同的音频样本但时移 -互相关

寻找类似的声音但不同的样本 -音频指纹。

我建议使用对齐算法,例如 DTW(动态时间扭曲)

你可以在这里检查一个好的 Matlab 实现:http ://www.ee.columbia.edu/ln/rosa/matlab/dtw/

然后,您可以对对齐路径求和,以获得两个文件之间的总体距离值。

您可以更改实现以使用不同的功能(但我相信 Dan Ellis 使用的余弦距离是一个很好的通用选项。)