【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标签(用于嵌入歌词)。
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MR. Ben AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值