gpt4 book ai didi

file - 判断两个 MP3 文件是否重复的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-01 02:46:06 27 4
gpt4 key购买 nike

我想编写一个程序来删除重复的 iTunes 音乐文件。识别欺骗的一种方法是比较 MP3 和 m4a 文件的 MD5 摘要。有没有更有效的策略?

顺便说一句,iTunes 上的“显示重复项”菜单命令显示误报。显然它只是在艺术家和轨道标题字符串上进行比较。

最佳答案

如果您使用散列来比较两组数据,理想情况下,它们每次都必须具有完全相同的输入才能获得完全相同的输出(除非您奇迹般地选择了两个不同输入的碰撞导致相同的输出)。如果您想通过散列整个文件来比较两个 MP3 文件,那么这两组歌曲数据可能完全相同,但由于 ID3 存储在文件中,其中的差异可能会使文件看起来完全不同。由于您使用的是散列,因此您不会注意到两个文件中可能有 99% 是匹配的,因为输出会大不相同。

如果您真的想使用散列来执行此操作,您应该只散列声音数据,不包括可能附加到文件的任何标签。不推荐这样做,例如,如果从 CD 中翻录音乐,并且同一张 CD 被翻录两次,结果可能会根据翻录参数进行不同的编码/压缩。

更好(但更复杂)的替代方法是尝试比较未压缩的音频数据值。通过对已知输入的一些尝试和错误,可以产生一个不错的算法。完美地做到这一点将非常困难(如果可能的话),但如果你得到的东西的准确率超过 50%,那会比手工完成要好。

请注意,即使是可以检测两首歌曲是否接近的算法(比如在不同参数下翻录的同一首歌曲),该算法也必须比判断现场版本是否类似于录音室版本更复杂。如果你能做到这一点,这里就有赚钱的机会!

并回到最初的想法,即判断它们是否重复的速度。散列会快得多,但比具有此目的的任何算法准确度要低得多。这是速度与准确性和复杂性的对比。

关于file - 判断两个 MP3 文件是否重复的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com