python3使用mutagen进行音频元数据处理的方法
作者:Mike_Zhang 发布时间:2023-05-25 04:05:32
标签:python,音频元,数据处理,mutagen
python版本:python 3.9
mutagen版本:1.46.0
mutagen是一个处理音频元数据的python模块,支持多种音频格式,是一个纯粹的python库,仅依赖python标准库,可在Python 3.7及以上版本运行,支持Linux、Windows 和 macOS系统。
github地址:https://github.com/quodlibet/mutagen
帮助文档地址:https://mutagen.readthedocs.io/en/latest/
pypi地址:https://pypi.org/project/mutagen/
一、安装
1、在线安装
直接使用pip进行安装:
pip install mutagen
默认安装最新版本。
2、离线安装
2.1 下载离线安装文件
可以在pypi页面源代码或whl文件。
2.2 执行离线安装操作
1) 可以使用源码进行安装
tar zxf mutagen-1.46.0.tar.gz
cd mutagen-1.46.0
python setup.py install
2)也可以使用pip install 进行离线安装
pip install mutagen-1.46.0-py3-none-any.whl
二、基础用法
1、获取音频文件元数据
import mutagen
f = mutagen.File(r"d:\tmp\1.mp3")
f.values()
f.pprint().split('\n')
print(f.get('TXXX:Band').text)
效果如下:
2、添加(修改)音频元数据
不存在添加,如果存在则修改。
示例:
from mutagen.id3 import TALB
f.tags.add(TALB(encoding=0, text=['some_album']))
f.save()
3、删除音频元数据
可使用 .tags.pop 删除:
import mutagen
f = mutagen.File(r"d:\tmp\1.mp3")
f.tags.values()
f.tags.pop('TXXX:Band')
f.save()
f.tags.values()
效果如下:
4、获取音频属性
获取音频时长、码率、声道信息等。
示例:
f.info.pprint()
print(f.info.sample_rate)
print(f.info.channels)
print(f.info.length) # seconds
print(278//60,278%60)
三、资源下载
本文涉及源代码及安装文件,可从百度网盘获取:
链接: https://pan.baidu.com/s/1P4dOBdW6fH-iuI-jPyGarQ?pwd=wbkg
提取码: wbkg
来源:https://www.cnblogs.com/MikeZhang/p/mutagen20221024.html


猜你喜欢
- 前言最近项目中遇到用 SQL Server的程序,以前没用过这个数据库,于是尝试将其转换为 MySQL 的格式,可是不想在本地安装 SQL
- 一、layui下拉复选实现的背景:实现一个管理员拥有多个权限二、 具体实现://依赖资源<link rel="stylesh
- 起因是因为公司要开发一款自动登录某网站的助手工具提供给客户使用,要使用到selenium,所以选择了pyqt5的方式来开发这个C/S架构的客
- 尝试了几种方法,感觉过于复杂,于是自己写了一个方法。(1)首先在要绘图的页面传入从数据库中提取的参数,这一步通过views可以实现;(2)然
- golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf定义示例类型和变量type Human struc
- 本文实例讲述了Python XlsxWriter模块Chart类用法。分享给大家供大家参考,具体如下:一 点睛Chart类是XlsxWrit
- script中。let data={....};let url=xx;方法各异:GET:this.$ajax.get(url,{  
- 此教程适合有pandas基础的童鞋来看,很多知识点会一笔带过,不做详细解释Pandas数据格式SeriesDataFrame:每个colum
- 这篇文章主要介绍了pyftplib中文乱码问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 1、Pinia是什么Pinia是一个vue的状态管理方案,是vuex团队成员开发,实现了很多vuex5的提案,更加地轻量化且有devtool
- 一、通过eval实现 常用内置函数(不用import就可以直接使用) :help(obj) 在线帮助, obj可是任何类型call
- 前言numpy.random 模块对 Python 内置的 random 进行了补充,增加了一些用于高效生成多种概率分布的样本值的函数,如正
- 1.在使用MySQL和php的时候出现过中文乱码问题(1) 只要是gb2312,gbk,utf8等支持多字节编码的字符集都可以储存汉字,当然
- 下面,我们将会介绍 2014 年最火的 21 款JavaScript 框架,专为前端开发者准备的哦:)众所周知, JavaScript 框架
- 一、判断数据库表是否存在: 首先要拿到数据库连接conn,调用DatabaseMetaData dbmd = conn.getDataMet
- 说起 Python 强大的地方,你可能想到是它的优雅、简洁、开发速度快,社区活跃度高。但真正使得这门语言经久不衰的一个重要原因是它的无所不能
- 目标站点分析本次要抓取的目标站点为:中介网,这个网站提供了网站排行榜、互联网网站排行榜、中文网站排行榜等数据。网站展示的样本数据量是 :58
- #!/usr/bin/python import sys def left_child(node): return node * 2 + 1
- 第一次使用python写程序,确实比C/C++之类方便许多。既然这个抽奖的数据不大,对效率要求并不高,所以采用python写,更加简洁、清晰
- 本文实例讲述了SQL Server实现将特定字符串拆分并进行插入操作的方法。分享给大家供大家参考,具体如下:--循环执行添加操作declar