Python处理MP3的歌词和图片!
一些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的歌词和图片!相关推荐
- python显示图片 播放mp3_Python处理MP3的歌词和图片
一些MP3播放器(包括iphone.ipod.itouch.blackberry等)可以在播放mp3的时候显示专辑图片.歌词等信息而不需要额外的图片文件和歌词文件,仅仅一个mp3文件就搞定,比较有意思 ...
- python解析mp3,获取mp3的元数据
文章目录 概述 mp3(一种音频编码方式) mp3的Tag 标签说明 TAG_V1(ID3V1) TAG_V2(ID3V2) ID3V2 标签头 ID3V2标签帧 常用标识符表 Flags标志的说明 ...
- python实现MP3加封面图片,修改作者,专辑
python实现MP3加封面图片,修改作者,专辑 需要安装eyed3 #!/usr/bin/env python # encoding: utf-8import eyed3 import imghdr ...
- python 获取mp3时长(时间长度)
python 获取mp3时长(时间长度) 第一种方法 import librosa import time def get_mp3_duration(audio_path):""& ...
- KRSReader酷狗音乐歌词写真图片提取工具(提取KRS文件中的图片)
最近发现酷狗音乐中的歌词写真图片还是比较给力的,很多友友表示喜欢,但是苦于不懂得如何提取,小菜利用周末闲暇时间写了一个小工具,专门用来提取酷狗音乐歌词写真图片. 废话不多说,软件界面如下: 使用说明: ...
- python的image读取的图片是什么类型的-python如何实现读取并显示图片(不需要图形界面)...
在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1 ...
- python爬取图片-Python爬取网页中的图片(搜狗图片)详解
前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...
- python绘制动态模拟图-Python 模拟动态产生字母验证码图片功能
模拟动态产生字母验证码图片 模拟生成验证码,首先要做的是生成随机的字母,然后对字母进行模糊处理.这里介绍一下 Python 提供的 Pillow 模块. Pillow PIL:Python Image ...
- python界面图片-python如何实现读取并显示图片(不需要图形界面)
在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. ...
最新文章
- FPGA研发之道(25)-管脚
- Python内置方法大全
- linux 文件的压缩和打包
- 2021年第3周推荐系统方向的周报
- matlab里有java数据库吗_Matlab通过JDBC建立到Oracle数据库的连接
- vCenter 6.7 shell 和 SSH开启
- 支付宝支付返回通知时 notify_url和return_url的选择
- 代码管理学:如何给新员工安排工作
- wireshark读写pcap文件_使用wireshark分析tcpdump出来的pcap文件
- 利用Python(pyserial、minimalmodbus、modbus_tk)进行单片机通信
- SQL,什么时候用自身连接????
- Collections.singleton
- vue操作dom元素的三种方法介绍和分析
- 如何做好自己的职业规划?
- 批处理---findstr命令详解
- HDFS集群内文件移动的Java实现
- 个人隐私保护法_浅学一下
- 摘录--《人间》余秀华
- 实现一个C语言版本的圣诞树(附源代码)
- 根据一堆数字判定下一个数字_坐在一堆数字黄金
热门文章
- python环绕文字_Java 设置 Word 文档中图片文字环绕方式
- python3.6 m venv py3_python 3.6 的 venv 模块
- Bert-BiLSTM-CRF pytorch 代码解析-3:def _viterbi_decode
- 阿里云域名解析到非80端口
- 怎么在别人网站注入js脚本_爱奇艺视频网站上被别人上传公司负面信息怎么解决好...
- 笔记本html接口是输入还是输出,电脑上的显示输出接口你都认识么
- 微信小程序之购物车 —— 微信小程序实战商城系列(5)
- wps如何调整字符宽度_WPS文字中当字体字号放大到100时字距变宽如何适当调整字距...
- 虚拟机系统 无网络连接网络连接网络连接服务器,Win10虚拟机无法连接网络怎么解决?...
- 基于matlab的图像分割与识别