程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

完整版:AI制作音乐歌曲,用python进行mp3相关处理

hfteth 2025-02-11 12:01:47 技术文章 12 ℃

一,内容:

1 用AI制作一首歌曲[Suno]。

2 用python进行格式转换,查看mp3信息标签,并删除原有信息标签,重新写入信息标签。

3用网页在线版,制作lrc文件,并python将歌词加入mp3中。

二,试听AI制作的音乐歌曲:

1 请点击,播放。

2 Suno音乐中文在线制作,制作时间:2024-11-06 18:28:27。

3 对歌名修改为:《落花仍灿烂》,部分歌词进行中文修改。

三,歌曲和歌词处理:

1下载歌曲《落花仍灿烂》,格式mpga,改为mp3格式。

2用python进行处理:

2.1查看原有mp3信息

# 第一步:查看文件信息
import mutagen
mp3_file = "/home/xgj/Desktop/音乐原创/1-落花仍灿烂/经典/7/落花仍灿烂.mp3"
info=mutagen.File(mp3_file)
print(info)

# 结果
#{'TSSE': TSSE(encoding=, text=['Lavf58.45.100'])}

2.2删除原有mp3信息

# 第二步:删除MP3所有数据
from mutagen.id3 import ID3
mp3_file = "/home/xgj/Desktop/音乐原创/1-落花仍灿烂/经典/7/落花仍灿烂.mp3"
audio = ID3(mp3_file)
audio.delete()
audio.save()
print(audio)

2.3 写入相关信息:

import eyed3

audiofile = eyed3.load('/home/xgj/Desktop/音乐原创/1-落花仍灿烂/经典/7/落花仍灿烂.mp3')

audiofile.tag.title = '落花仍灿烂'  # 标题
audiofile.tag.artist = '李娜啦啦'  # 艺术家
audiofile.tag.album = '情歌2024'  # 唱片集
audiofile.tag.recording_date = '2024'  # 年份
audiofile.tag.track_num = 3  # 音轨号
audiofile.tag.genre = 'Pop'  # 流派
audiofile.tag.comments.set('Hello World!')  # 注释
audiofile.tag.album_artist = '李娜啦啦'  # 专辑集艺术家
audiofile.tag.composer = 'AI'  # 作曲家
audiofile.tag.disc_num = 3  # CD号
# 写入歌曲封面图片
#audiofile.tag.images.set(type_=3, img_data=open('/home/xgj/Desktop/音乐原创/1-落花仍灿烂/经典/7/落花仍灿烂.jpg', 'rb').read(), mime_type='image/jpg')  # 封面

audiofile.tag.save(version=eyed3.id3.ID3_DEFAULT_VERSION, encoding='utf-8')

3歌词处理:

3.1在线歌词时间戳制作lrc:
https://www.yuanchuangyinyue.com/3027.html

3.2加入歌词进入mp3:

from mutagen.id3 import ID3
from mutagen.id3 import ID3NoHeaderError
from mutagen.id3 import USLT, Encoding

filename = '/home/xgj/Desktop/音乐原创/1-落花仍灿烂/经典/7/落花仍灿烂.mp3'

try:
    tags = ID3(filename)
except ID3NoHeaderError:
    print("Adding ID3 header")
    tags = ID3()

with open("/home/xgj/Desktop/音乐原创/1-落花仍灿烂/经典/7/落花仍灿烂.lrc", encoding="utf-8") as fr:
    sync_lrc = fr.read()

tags.delall("USLT::eng")

# 汉字内嵌歌词
tags.setall("USLT", [USLT(encoding=Encoding.UTF8, lang='chi', format=2, type=1, text=sync_lrc)])

# 获取元数据项目
print(tags.get("USLT::chi"))

tags.save(v2_version=3)

四 小结:

1 AI制作的歌曲《落花仍灿烂》全网首发。

2 复习python对mp3信息标签处理的相关知识。

3 bug:在完成的mp3信息添加中,图片和歌词加入后,用常规音乐播放器无法调取出来,和用python播放器调出过程中出现bug,比如

ValueError: could not convert string to float: '[00'

欢迎大家思考和学习,祝大家喜欢这首歌曲。

4附送歌词LRC文件格式:

[00:07.14]狂热的泪水 油然而生
[00:10.80]心碎的瞬间 如影随形
[00:14.37]独自一人 在这城市中穿行
[00:18.14]依然坚信 爱情的天命
[00:21.76]即使失恋 心不会摇摆
[00:25.44]向前迈步 迎接未来
[00:29.22]对象会离开 幸福总会来
[00:33.21]无畏挫折 爱情等待
[00:36.62]孤独的一刻 笑着度过
[00:40.28]痛苦的阴霾 已成过客
[00:43.93]微笑面对 每一个清晨
[00:47.87]相信爱情 永不会沉
[00:51.46]伤心之后 愈加坚强
[00:54.79]灿烂的阳光 带来希望
[00:58.37]一路风雨 天空变亮
[01:02.19]爱情之花 再次绽放
[01:06.11]即使失恋 心不会摇摆
[01:09.74]向前迈步 迎接未来
[01:13.47]悲伤会离开 幸福总会来
[01:17.48]无畏挫折 爱情等待
[01:20.93]孤独的一刻 笑着度过
[01:24.66]痛苦的阴霾 已成过客
[01:28.68]微笑面对 每一个清晨
[01:32.22]相信爱情 永不会沉
[01:35.78]伤心之后 愈加坚强
[01:39.07]灿烂的阳光 带来希望
[01:44.36]一路风雨 天空变亮
[01:46.51]爱情之花 再次绽放
[01:50.49]即使失恋 心不会摇摆
[01:54.06]向前迈步 迎接未来
[01:58.00]悲伤会离开 幸福总会来
[02:01.77]无畏挫折 爱情等待
[02:05.44]未来的路 上总会很美
[02:11.09]每一个明天 都要无悔
[02:12.67]因为相信 真爱的存在
[02:15.92]爱情始终 是心中的彩排

喜欢的点赞,收藏,转发和评论。

大家,喜欢吗?

Tags:

最近发表
标签列表