首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python访问MP3音乐数据

使用Python访问MP3音乐数据
EN

Stack Overflow用户
提问于 2010-07-15 05:29:27
回答 3查看 1.6K关注 0票数 5

我正在尝试编写一个Python脚本,使用歌曲的数据作为比较的基础来搜索重复的mp3/4文件。我的情况涉及许多文件名相似但ID3标签不同的mp3/4文件。首先,我尝试遍历并使用md5查找重复的文件(忽略文件名)。当然,当ID3标记不匹配时,这就不起作用了。

因此,我正在寻找一种只从mp3/4中提取音乐数据的方法,以便通过md5运行它并找到任何重复的数据。做这件事最好的方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-15 06:05:37

尝试使用id3-pymutagen去掉所有标签( ID3v1和ID3v2,它们可以在同一个文件中),然后在结果上计算MD5。

假设iTunes除了标记之外没有操作文件,那么它们应该是相同的。转码显然会使这种方法无效。

票数 4
EN

Stack Overflow用户

发布于 2012-11-11 00:40:23

使用一些指纹算法。您可能知道MusicBrainz。他们列出了here的一些指纹算法。他们现在使用AcoustId,这可能也是你应该使用的东西(它很好,而且是免费的)。有一个Chromaprint库可以生成这样的指纹。

我写了一个Python module ffmpeg,它通过FFmpeg进行解码,并提供一个简单的函数来计算AcoustId指纹(使用Chromaprint)。Here就是一个这样的小演示(它甚至可以在MusicBrainz上查询歌曲)。

它应该很容易建立一些工具,使用它来查找所有重复项。

如果音频数据完全相同,则指纹将完全相同。如果音频数据是相似的,那么它将是相似的。有关如何计算相似度的更多信息,请参阅AcoustId homepage

票数 1
EN

Stack Overflow用户

发布于 2010-07-15 05:46:00

这实际上是非常高级的,模糊逻辑类型的东西,您正在询问。

这不是一个答案,但看看本文中的讨论:Detect duplicate MP3 files with different bitrates and/or different ID3 tags? (它实际上可能有资格被愚弄……它甚至是特定于Python的。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3250696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档