python3使用mutagen进行音频元数据处理的方法

作者:Mike_Zhang 时间:2023-05-25 04:05:32 

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/

python3使用mutagen进行音频元数据处理的方法

python3使用mutagen进行音频元数据处理的方法

python3使用mutagen进行音频元数据处理的方法

一、安装

1、在线安装

直接使用pip进行安装:

pip install mutagen

默认安装最新版本。

2、离线安装

2.1 下载离线安装文件

可以在pypi页面源代码或whl文件。

python3使用mutagen进行音频元数据处理的方法

 2.2  执行离线安装操作

1) 可以使用源码进行安装

tar zxf mutagen-1.46.0.tar.gz
cd mutagen-1.46.0
python setup.py install

python3使用mutagen进行音频元数据处理的方法

 2)也可以使用pip install 进行离线安装

pip install mutagen-1.46.0-py3-none-any.whl

python3使用mutagen进行音频元数据处理的方法

 二、基础用法

1、获取音频文件元数据 

import mutagen
f = mutagen.File(r"d:\tmp\1.mp3")
f.values()
f.pprint().split('\n')
print(f.get('TXXX:Band').text)

效果如下:

python3使用mutagen进行音频元数据处理的方法

 2、添加(修改)音频元数据

不存在添加,如果存在则修改。

示例:

from mutagen.id3 import TALB
f.tags.add(TALB(encoding=0, text=['some_album']))
f.save()

python3使用mutagen进行音频元数据处理的方法

 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()

效果如下:

python3使用mutagen进行音频元数据处理的方法

 4、获取音频属性

获取音频时长、码率、声道信息等。

示例:

f.info.pprint()
print(f.info.sample_rate)
print(f.info.channels)
print(f.info.length) # seconds
print(278//60,278%60)

python3使用mutagen进行音频元数据处理的方法

三、资源下载

本文涉及源代码及安装文件,可从百度网盘获取:

链接: https://pan.baidu.com/s/1P4dOBdW6fH-iuI-jPyGarQ?pwd=wbkg

提取码: wbkg

python3使用mutagen进行音频元数据处理的方法

来源:https://www.cnblogs.com/MikeZhang/p/mutagen20221024.html

标签:python,音频元,数据处理,mutagen
0
投稿

猜你喜欢

  • 启动targetcli时遇到错误解决办法

    2023-03-20 05:59:43
  • Jupyter Notebook安装及使用方法解析

    2022-06-22 08:28:09
  • 详解Windows下安装Nodejs步骤

    2024-05-03 15:56:34
  • PyTorch详解经典网络ResNet实现流程

    2022-08-06 09:40:32
  • Go打包二进制文件的实现

    2024-05-08 10:15:19
  • 如何将HTML字符转换为DOM节点并动态添加到文档中详解

    2023-08-23 12:26:39
  • JS前端组件设计以业务为导向实践思考

    2024-06-21 04:13:33
  • Numpy数组转置的实现

    2022-10-16 09:15:34
  • http状态码一览表以及HTTP响应的返回头信息

    2010-03-31 14:45:00
  • Python如何处理异常报错方法(建议收藏!)

    2022-08-09 03:19:13
  • asp.net C#实现解压缩文件的方法

    2023-07-14 10:34:01
  • Python通过调用mysql存储过程实现更新数据功能示例

    2024-01-25 11:28:51
  • python实现动态规划算法的示例代码

    2023-03-03 09:43:22
  • jQuery插件开发基础简单介绍

    2024-04-09 19:47:47
  • Python使用pylab库实现画线功能的方法详解

    2021-02-03 18:26:07
  • 用纯CSS3绘制的网站图标

    2010-03-28 13:51:00
  • SQL触发器实例讲解

    2012-04-13 11:52:48
  • DRF跨域后端解决之django-cors-headers的使用

    2021-10-08 20:12:32
  • Python实例方法、类方法、静态方法区别详解

    2021-05-31 21:35:58
  • python字典的遍历3种方法详解

    2022-05-01 06:00:44
  • asp之家 网络编程 m.aspxhome.com