问题标签 [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 投票
2 回答
637 浏览

python - 如何纠正错误编码的字符串?

我使用诱变剂读取 mp3 元数据,因为 id3 标签是作为 unicode 读入的,但实际上它是 GBK 编码的。如何在python中纠正这个问题?

生产

但实际上应该是GBK(中文)。

0 投票
1 回答
11563 浏览

django - 在表单的 clean 方法期间读取文件数据

所以,我正在努力实现我之前的问题的答案。

这是我的模型:

这是我的表格:

Mutagen需要磁盘上的类似文件的对象或文件名(我认为) - 第一种情况(上传的文件大于内存中处理的文件的大小)工作正常,但我不知道如何处理InMemoryUploadedFile否则我得到. 我试过了:

诱变剂有什么问题,还是我做错了?

在拒绝回答之后

在我的课堂FILE_UPLOAD_HANDLERS上即时修改设置,如下所示:ModelAdmin

当我点击提交时,得到以下错误 500:

处理上传后,您无法设置上传处理程序。

即使我尽可能早地这样做!

另外,我不确定我是否有save关于我要返回的对象的方法(我已经查看了dir(self.files['mp3'].file)and dir(self.files['mp3']))。

0 投票
2 回答
1322 浏览

python - 通过 Mutagen 在 Python 中确定 MP3 位深度

有没有办法使用 Mutagen 库在 Python 中确定 MP3 文件的编码位深度(即 8、16、24、32)?

0 投票
1 回答
2925 浏览

python - 通过 Mutagen 更改 APIC ID3 标签中的嵌入图像类型

我有一个庞大的音乐库,我刚刚花了大约 30 个小时来整理它。对于某些 MP3 文件,我将封面艺术图像嵌入为类型 0(其他),我想将其更改为类型 3(封面)。有没有办法在 Python 中做到这一点,特别是在 Mutagen 中?

0 投票
1 回答
700 浏览

python - Mutagen 的 OggFileType 产生“类型错误:NoneType”异常

我刚开始使用 mutagen 并已成功地将其与m4amp3apeafsflac一起使用。但是,当我尝试创建 OggFileType 的实例时,我遇到了 OggFileType 类的问题,但出现了"TypeError: 'NoneType' object is not callable"异常。

Iv 搜索并寻找解决方案,但关于诱变剂的信息和文档很少。任何帮助将不胜感激。

我用于测试的代码片段

追溯

0 投票
3 回答
27642 浏览

python - 有没有人有使用诱变剂写入文件的好例子?

正如标题所问的那样——有没有人有一个使用Mutagen Python ID3 库写入.mp3文件的好例子?

我特别希望添加光盘/曲目编号信息,但编辑标题和艺术家的示例也会有所帮助。

干杯,
/YGA

0 投票
2 回答
7425 浏览

python - Python - 如何以二进制读取模式打开远程文件?

我正在尝试使用 mutagen 模块来读取mp3文件的元数据。问题是模块需要一个本地mp3文件,但我的mp3文件在远程服务器上。

当我将远程 mp3 URL 作为第一个参数发送时,这是模块中引发错误的行。

我怎样才能改变这行代码,以便它可以打开一个远程文件(例如http://remotedomain.com/file.mp3rb mode

0 投票
2 回答
2457 浏览

python - mutagen 和 id3 标签 - 字符编码混淆

我在阅读一些带有冰岛字母的 id3 标签时遇到了问题。
一个来自 shell 的简单示例。

首先,我不确定如何检查标签所在的字符编码。根据我收集到的信息,这是使用诱变剂的方法:

这将为每个项目输出“0”。

我在某处看到对于 id3 标签,数字 0 表示字符串是 iso-8859-1 编码的,但我不知道从那里去哪里。我想这不对吧?

正如您可以说的那样,当涉及到字符编码问题时,我感到非常困惑。
我想要的只是将标签捕获为正确的 utf-8 字符串,以便我可以将它们放入我的数据库中。这只是一个例子,我想我可能会遇到其他一些编码完全不同的文件,所以我正在寻找一个好的全方位解决方案。只是解决这个问题真的会帮助我走上正轨。

提前致谢。

0 投票
1 回答
10969 浏览

python - mutagen:如何在 mp3、flac 和 mp4 中检测和嵌入专辑封面

我希望能够检测音频文件是否嵌入了专辑封面,如果没有,则将专辑封面添加到该文件中。我正在使用诱变剂

1)检测专辑封面。有没有比这个伪代码更简单的方法:

2)我发现这个用于将专辑封面嵌入到 mp3 文件中: 如何使用 Python 将专辑封面嵌入 MP3 中?

如何将专辑封面嵌入其他格式?

编辑:嵌入 mp4

0 投票
1 回答
860 浏览

python - 使用 SQLite3 + Mutagen 优化 Python 代码

我正在改进一个开源音乐数​​据库,它从我的收藏中读取歌曲并将它们存储到 SQLite 数据库中。反过来,我可以利用数据库查找重复歌曲,对我的收藏运行查询,以及(如果我愿意)在收藏中查找重复歌曲。为了从音乐文件中读取元数据,我使用了Mutagen库,为了存储元数据,我使用了 SQLite3。

我想在一个相当大的集合上测试我编写的代码,所以我联系了同学和家人,发现总测试规模约为 90,000。这也包含混合信息 - 歌曲是 .mp3、.ogg 或 .flac 格式。

我的主要问题是速度——我的代码可以工作,但速度太慢了。在当前状态下,它在大约35:45运行测试大小。我的主要问题: 我能做些什么来提高这段代码的性能?我认为它与 Mutagen 直接或 SQLite3 中的某些东西直接相关,尽管我愿意就从这里提高效率的理想方法提出建议。


我经历了两次迭代来改进代码的这个关键部分。第一个改进导致21:30的运行时间减少,但这仍然很可怕。我决定重构代码以减少函数调用的次数,并尝试提高性能。然而,结果是性能下降,但函数调用的数量大大减少 - 第二批运行接近51:51,这简直是不可接受的。

接下来的代码适用于“改进的”运行时和重构集。还附上了每段代码的单独配置文件。

块 1:“改进的”运行时


第 2 块:重构代码