问题标签 [mutagen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1546 浏览

python - 在 Windows 7 中使用 Python 处理 .mp3 元数据

我正在尝试通过 Python 编辑某些 MP3 文件的 ID3 标签。我做了一些研究,发现了诱变剂和 eyeD3 库。但是,我在这两个库中都遇到了类似的问题。两种实现都抱怨我提供的文件不存在,或者不是 .mp3 文件。

我已经下载了 Mp3tag (http://www.mp3tag.de/en/download.html) 并确认我提供的文件被标记为 ID3v2.3(ID3v1 ID3v2.3),这是一个 .mp3 文件。

以下是诱变剂代码,然后是我收到的错误:

现在,当我尝试使用 eyeD3 查看 ID3 数据时,我遇到以下情况:

我的猜测是我没有正确查看文件?我是否需要使用某种类型的 os 库来正确查看 Windows 7 的这些文件 ID3 数据?任何帮助是极大的赞赏。

谢谢。

0 投票
1 回答
993 浏览

python - Python诱变剂未正确保存

我正在从 Excel 文档中提取文本并将它们作为 id3 标记添加到一些 mp3 文件中。我的 Excel 文档中的大多数字符都是俄语 (Unicode),但有些是英语。当我运行脚本时,所有英文标签都被正确地写入元数据,但所有俄语字符都显示为问号。如果我在控制台中打印俄语字符,它们会完美显示。为什么他们被写成问号?

Python

0 投票
0 回答
222 浏览

python - Mutagen 无法打开文件 - ID3BadUnsyncError

我正在编写一个 python 脚本来重新格式化我的音乐文件夹中的文件名,使用 mutagen 库。这是脚本:

这是我尝试运行它时发生的情况:

有谁知道这里有什么问题?

编辑:原来诱变剂不适用于某些文件。我添加了一个 try 子句并跳过了错误,它现在可以工作了

0 投票
0 回答
226 浏览

python - 不会添加 id3 标签

我使用这个功能:

尝试在缺少它的文件上设置 id3 标签。它不会抛出异常。但它根本不起作用。这是为什么?这是一个示例输出:

更新 1

我把函数改成了这个(见代码的最后一行):

现在它写入 id3 版本 1(这似乎很明显)。但我不知道如何编写第 2 版。audio.tags.save()不会...

0 投票
1 回答
2124 浏览

python - 如何使用 mutagen.py 清除 mp3 元数据?

我想清除 MP3 文件中的所有元数据,并且我已经在我的项目中使用了 Mutagen。有没有办法可以简单地清除文件中的所有元数据?

0 投票
1 回答
1384 浏览

python - Windows 7 上 Python 的 Mutagen 不起作用

一段时间以来,我一直在我的 Windows 7 机器上使用 Python 2.7 的 mutagen 包(版本 - mutagen-1.20),不幸的是它今天早些时候停止工作。

我已经重新安装了这个包,删除了所有属于这个包的文件,然后重新安装了一遍,但是所有的努力都是徒劳的。让我感到困惑的是,直到昨天这一切都运作良好。有人可以指出我可能出了什么问题。我在下面提到了一些代码和日志以供参考。谢谢!

我还安装了 eyed3 包,这对于这里使用的同一个 mp3 文件运行良好。不幸的是,eyed3 没有诱变剂那么令人印象深刻,我陷入了这种奇怪的境地。

mutagen.py - 用于测试的 Python 代码(example.mp3 位于脚本所在的同一目录中):

命令提示符的错误日志:

0 投票
1 回答
1008 浏览

python - 使用 Python 和 mutagen 进行去mojibaking

我正在阅读 mojibaked ID3 标签mutagen。我的目标是在学习编码和 Python 处理的同时修复 mojibake。

我正在使用的文件有一个ID3v2标签,我正在查看它的专辑 ( TALB) 帧,根据TALBID3 帧中的编码字节,它以 Latin-1 ( ISO-8859-1) 编码。然而,我知道这个帧中的字节是用cp1251(西里尔文)编码的。

到目前为止,这是我的代码:

现在,如您所见,mp3['TALB'].text[0]这里表示为 Unicode 字符串。但是,它是mojibaked:

我在将这些cp1251字节转码为正确的 Unicode 代码点时运气不佳。到目前为止,我的最好成绩非常不合时宜:

据我了解这种方法,它之所以有效,是因为我最终将 Unicode 字符串转换为 8 位字符串,然后我可以将其解码为 Unicode,同时指定我要解码的编码。

问题是我不能decode('cp1251')直接使用 Unicode 字符串:

有人可以解释一下吗?ascii当直接对u''字符串进行操作时,我无法理解如何使它不解码为 7 位范围。

0 投票
1 回答
919 浏览

python - 使用诱变剂 mac 与 pc 分配专辑插图

我正在尝试为歌曲分配图片,并且我有一些适用于 Mac 的代码,但不适用于 PC。

从 mutagen.easyid3 导入 EasyID3

从 mutagen.id3 导入 ID3,APIC,错误

从 mutagen.mp3 导入 MP3

def image_assigner(self):

所以在 Mac 上,这段代码有效,但是当我在我的 PC 上尝试时,它不会。任何帮助,将不胜感激。谢谢!

编辑 所以,在做了更多研究之后,我发现这段代码确实将专辑插图保存到 Mac 和 Windows 上的 mp3 文件中,但它保存在 ID3v2.4 中,Mac 可以读取,但 Windows 不能阅读,所以它似乎没有保存在 Windows 上。似乎在诱变保存功能中使用 v1=2 选项应该将标签保存在 ID3v1 中(请参阅本页 10 月 4 日的帖子。如果我更新专辑、艺术家、标题等的标签似乎可以工作,但是当我为专辑封面更新时,它仍然没有出现在 Windows 资源管理器中。有没有人在这方面有经验并且可以对此有所了解?谢谢。

0 投票
1 回答
812 浏览

python - python mutagen eyed3 写 id3v1 标签

我正在使用诱变剂来操纵我的 mp3,但我发现很难使用它来编写 id3v1 标签,看起来流行的 eyed3 包也没有提供任何关于如何执行此操作的示例。任何从事 mutagen 和 eyed3 工作的人都可以给我关于如何将 id3v1 标签写入 mp3 文件的建议吗?谢谢!

0 投票
2 回答
327 浏览

python - 优化 Mass ID3 标签扫描

我正在构建一个小工具,我想扫描音乐收藏,读取曲目的 ID3 信息,只要该特定艺术家的歌曲没有被访问超过两次,就可以存储它。我打算Mutagen用于阅读标签。

然而,我和其他许多人的音乐收藏量很大,超过 20,000 首歌曲。据我所知,图书馆之类Mutagen的必须打开和关闭每首歌曲才能从中获取 ID3 信息。虽然 MP3 的性能不是很重,但歌曲很多。我已经计划以保持每个艺术家的数量的形式进行小的优化,如果他们的歌曲数量超过 2,则不存储任何信息,但据我所知,我仍然需要打开每首歌曲以检查艺术家 ID3 标签.

我玩弄了使用目录作为艺术家姓名提示的想法,并且一旦艺术家歌曲数量超过 2,就不再阅读该目录中的任何信息,但并不是每个人都将他们的音乐设置在整洁的 Artist/Album/Songs 目录中。

有没有人想到任何其他优化可以减少打开这么多 MP3 的开销?