Project Icon

pyloudnorm

Python音频响度测量库

pyloudnorm是基于ITU-R BS.1770-4标准开发的Python音频响度测量库。它支持灵活调整闸门块大小和频率权重滤波器,可实现音频响度测量、峰值归一化和响度归一化。该库能精确测量WAV文件响度,并提供自定义IIR滤波器等高级功能。pyloudnorm适合音频开发者和专业人士使用,可满足精确的音频响度分析和处理需求。

pyloudnorm 构建状态 Zenodo

Python中灵活的音频响度计。

实现了ITU-R BS.1770-4标准。
允许控制门限块大小和频率加权滤波器以实现额外控制。

有关实现的完整详细信息,请参阅我们的论文,以及我们AES演示视频中的摘要。

安装

您可以通过pip进行安装,如下所示:

pip install pyloudnorm

要获取最新版本,请始终从GitHub仓库安装:

pip install git+https://github.com/csteinmetz1/pyloudnorm

使用方法

查找音频文件的响度

测量wav文件的响度很简单。 这里我们使用PySoundFile将.wav文件读取为ndarray。

import soundfile as sf
import pyloudnorm as pyln

data, rate = sf.read("test.wav") # 加载音频(形状为(采样数,通道数))
meter = pyln.Meter(rate) # 创建BS.1770计量表
loudness = meter.integrated_loudness(data) # 测量响度

响度归一化和峰值归一化音频文件

包含了将音频文件归一化到所需峰值或所需响度的方法。

import soundfile as sf
import pyloudnorm as pyln

data, rate = sf.read("test.wav") # 加载音频

# 将音频峰值归一化到-1 dB
peak_normalized_audio = pyln.normalize.peak(data, -1.0)

# 首先测量响度
meter = pyln.Meter(rate) # 创建BS.1770计量表
loudness = meter.integrated_loudness(data)

# 将音频响度归一化到-12 dB LUFS
loudness_normalized_audio = pyln.normalize.loudness(data, loudness, -12.0)

高级操作

提供了多种替代加权滤波器,以及调整分析块大小的功能。 示例如下:

import soundfile as sf
import pyloudnorm as pyln
from pyloudnorm import IIRfilter

data, rate = sf.read("test.wav") # 加载音频

# 块大小
meter1 = pyln.Meter(rate)                               # 400毫秒块大小
meter2 = pyln.Meter(rate, block_size=0.200)             # 200毫秒块大小

# 滤波器类别
meter3 = pyln.Meter(rate)                               # BS.1770计量表
meter4 = pyln.Meter(rate, filter_class="DeMan")         # 完全符合标准的滤波器
meter5 = pyln.Meter(rate, filter_class="Fenton/Lee 1")  # Fenton和Lee提出的低复杂度改进
meter6 = pyln.Meter(rate, filter_class="Fenton/Lee 2")  # Fenton和Lee提出的高复杂度改进
meter7 = pyln.Meter(rate, filter_class="Dash et al.")   # 早期修改选项

# 创建自定义IIR滤波器
my_high_pass  = IIRfilter(0.0, 0.5, 20.0, rate, 'high_pass')
my_high_shelf = IIRfilter(2.0, 0.7, 1525.0, rate, 'high_shelf')

# 创建一个未初始化滤波器的计量表
meter8 = pyln.Meter(rate, filter_class="custom")

# 将自定义滤波器加载到计量表中
meter8._filters = {'my_high_pass' : my_high_pass, 'my_high_shelf' : my_high_shelf}

依赖项

引用

如果您在工作中使用了pyloudnorm,请考虑引用我们。

@inproceedings{steinmetz2021pyloudnorm,
        title={pyloudnorm: {A} simple yet flexible loudness meter in Python},
        author={Steinmetz, Christian J. and Reiss, Joshua D.},
        booktitle={150th AES Convention},
        year={2021}}

参考文献

Ian Dash, Luis Miranda, and Densil Cabrera, "多通道响度听音测试," 第124届国际音频工程学会大会,2008年5月

Pedro D. Pestana and Álvaro Barbosa, "ITU-R BS.1770算法在评估多轨素材中的准确性," 第133届国际音频工程学会大会,2012年10月

Pedro D. Pestana, Josh D. Reiss, and Álvaro Barbosa, "使用ITU-R BS.1770修改版测量多轨音频内容的响度," 第134届国际音频工程学会大会,2013年5月

Steven Fenton and Hyunkook Lee, "多轨节目响度测量的替代加权滤波器," 第143届国际音频工程学会大会,2017年10月

Brecht De Man, "EBU R128响度测量实现的评估," 第145届国际音频工程学会大会,2018年10月

张量化/可微分实现

对于可微分环境(如作为损失函数的一部分)的使用,有以下实现:

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号