Python处理MP3的歌词和图片!

作者: 14e61d025165 | 来源:发表于2019-06-30 15:04 被阅读1次

一些MP3播放器(包括iphone、ipod、itouch、blackberry等)可以在播放mp3的时候显示专辑图片、歌词等信息而不需要额外的图片文件和歌词文件,仅仅一个mp3文件就搞定,比较有意思。除了用专门的软件(比如itunes)来制作这样的mp3,我们还可以用程序来批量生成。

查阅mp3头信息ID3V2的技术文档,发现可以往ID3信息里面加入歌词和图片信息(可以在页面上查找Lyrics、Attached picture就能发现相应的内容)。有了官方格式上的支持,我们要做的就是把歌词和图片加入到MP3文件中去。

测试一些开源的软件包,发现一个比较可靠的:eyeD3,由python语言编写,直接上代码:

以下是代码片段:

coding=utf-8

import eyeD3 Python学习交流群:1004391443
import re

mp3文件

mp3_file = '/path/to/foobar.mp3'

lrc歌词文件

lrc_file = '/path/to/foobar.lrc'

专辑图片

pic_file = '/path/to/foobar.jpg'

实例化eyeD3

tag = eyeD3.Tag()

绑定到mp3文件

tag.link(mp3_file)

去掉原文件中可能存在的图片

tag.removeImage()

去掉原文件中可能存在的歌词

tag.removeLyrics()

设定编码,非常重要,否则不支持中文

tag.encoding = '\x01'

添加图片

tag.addImage(3, pic_file, u'')

添加歌词,注意要utf-8编码,去掉lrc中时间信息

tag.addLyrics(re.sub('([.?][\n])+', '', unicode(open(lrc_file, 'r')).read(), 'utf8')))

更新到文件

tag.update()
代码非常简单,需要注意的是设定编码,不然歌词就乱码了。有了eyeD3之后,可以写个爬虫,从网上抓下歌词和图片直接灌进MP3文件里面,剩下的就是享受了。

相关文章

网友评论

    本文标题:Python处理MP3的歌词和图片!

    本文链接:https://www.haomeiwen.com/subject/xfrbcctx.html