【Python实用技巧】如何批量修改歌曲信息之Mutagen库

前言

上一篇文章【Python实用技巧】如何批量修改歌曲信息写了如何使用EyeD3库来批量修改歌曲的信息,同时也提到了用EyeD3库的局限性只能修改MP文件的属性,今天就用另一个Mutagen来进行歌曲信息的读取和修改。

1 Mutagen库概述

Mutagen 是一个用于处理音频元数据的 Python 模块。它支持 ASF、FLAC、MP4、Monkey’s Audio、MP3、Musepack、Ogg Opus、Ogg FLAC、Ogg Speex、Ogg Theora、Ogg Vorbis、True Audio、WavPack、OptimFROG 和 AIFF 音频文件。支持ID3v2所有版本,解析所有标准ID3v2.4帧。它可以读取 Xing 标头以准确计算 MP3 的比特率和长度。无论音频格式如何,都可以编辑 ID3 和 APEv2 标签。它还可以在单​​个数据包/页面级别上操作 Ogg 流。
Mutagen 在 Linux、Windows 和 macOS 上与 Python 3.7+(CPython 和 PyPy)一起工作,并且没有 Python 标准库之外的依赖项。Mutagen 在GPL 版本 2 或更高版本下获得许可。
详细信息可以见官网

2 安装Mutagen

要使用Mutagen,您需要先安装它。您可以通过pip来安装Mutagen,方法如下:

pip install mutagen

在这里插入图片描述

也可以从GitHub上获取:

$ git clone https://github.com/quodlibet/mutagen.git

3 读取本地音频文件

3.1 导入需要的模块

导入需要使用的模块:

import os
import mutagen

3.2 读取歌曲属性信息

读取并打印歌曲的属性信息:

filename = '无问_毛不易.mp3'
print('File:', filename)
audio = mutagen.File(filename)
print(audio.tags)

在这里插入图片描述

3.3 逐条打印歌曲信息:

filename = '无问_毛不易.mp3'
print('File:', filename)
audio = mutagen.File(filename)
print(audio.tags["TALB"].text[0])
print(audio.tags["TPE2"].text[0])
print(audio.tags["TIT2"].text[0])
print(audio.tags["TCON"].text[0])
print(audio.tags["TPE1"].text[0])
print(audio.tags["TDRC"].text[0])

在这里插入图片描述

4 修改歌曲属性信息

print('修改前标题', audio.tags["TIT2"].text[0])
audio["TIT2"] = TIT2(encoding=3, text="无问02")
audio.save()
print('修改后标题',audio.tags["TIT2"].text[0])

在这里插入图片描述
剩下的就是把原来代码中EyeD3部分的内容替换为Mutagen库的内容即可。

5 更多功能

除了上述功能之外,Mutagen还提供了许多其他有用的功能,例如:

  • 添加、删除和编辑元数据标签。
  • 读取和编辑音频文件的音频流。
  • 读取和编辑音频文件的音频帧。
  • 处理APIC标签(用于嵌入专辑封面)。
  • 处理USLT标签(用于嵌入歌词)。

猜你喜欢

转载自blog.csdn.net/qq_17716819/article/details/129908855