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

1 背景

最近朋友说有个问题比较苦恼,手里有一批歌曲文件要整理归档,但是很多歌曲文件的属性信息不全,手动点开文件属性一个个进行修改太折磨人了。有没什么办法可以批量进行修改?
在这里插入图片描述
朋友有难,自然是要赴汤蹈火的,当时就夸下了海口,放心包在我身上,一定帮你找到解决办法。

2 思路分析

既然可以手动修改,那么必然肯定有办法通过脚本的方式进行批量修改,这里是不是可以通过Python来批量修改文件的属性呢?

2.1 如何修改歌曲属性信息
2.1.1 可以用于修改歌曲的属性信息的库

Mutagen: Mutagen是Python的一个音频元数据处理库,可以读取、编辑、写入常见的音频格式(如MP3、FLAC、OGG、WAV等)的元数据。可以使用它来修改歌曲的属性信息,如标题、艺术家、专辑、曲目号等等。

EyeD3: EyeD3是一个用于读取和编辑ID3标签的Python库,支持MP3和OGG格式的音频文件。使用它可以读取和编辑歌曲的标题、艺术家、专辑、流派、年份、曲目号等元数据信息。

pydub: pydub是一个用于处理音频文件的Python库,支持多种格式,包括MP3、WAV、FLAC、AIFF等等。可以使用pydub读取歌曲的元数据,同时也可以使用它来剪辑、混音、降噪等。

audioread: audioread是一个用于读取音频文件的Python库,支持多种格式,包括MP3、WAV、FLAC等等。它可以用来读取歌曲的元数据信息,但不支持写入元数据。

2.1.2 使用EyeD3修改歌曲属性

这里选择使用EyeD3修改歌舞的属性信息,常用的属性参数修改方法如下:

# 修改标题
audio_file.tag.title = "New Title"
# 修改艺术家
audio_file.tag.artist = "New Artist"
# 修改专辑
audio_file.tag.album = "New Album"
# 修改流派
audio_file.tag.genre = "New Genre"
# 修改年份
audio_file.tag.year = "2022"
2.2 歌曲属性信息获取
2.1.1 使用CSV文件维护歌曲信息

需要更新歌取属性信息那么得有一个载体记录需要更新的属性信息,这里选择使用CSV文件进行歌曲信息的维护。
新建一个music.csv文件,将需要维护的信息录入进去。表头如下:

文件名 标题 艺术家 专辑 流派 年份
2.3 整体流程

首先,手动创建CSV文件,录入需要更新的歌曲属性,再通过Python读取CSV文件获取歌曲属性,批量写入到歌曲中。

3 EyeD3库的安装

要使用EyeD3库来修改歌曲的属性信息,需要先安装该库。可以使用以下命令在终端或命令行中安装EyeD3::

pip install eyeD3

4 代码实现

4.1 导入模块

导入需要使用的模块:

import os
import csv
import tkinter as tk
from datetime import datetime
import eyed3
4.2 读取csv文件获取需要修改的信息:

with open("music.csv", "r", encoding="gbk") as f:
    reader = csv.reader(f)
    next(reader) # skip header row
    for row in reader:
        filename
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MR. Ben AI

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

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

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

打赏作者

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

抵扣说明:

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

余额充值