audiobox-aesthetics完整评测流程:从数据准备到质量报告的终极指南
【免费下载链接】audiobox-aestheticsUnified automatic quality assessment for speech, music, and sound.项目地址: https://gitcode.com/gh_mirrors/au/audiobox-aesthetics
在语音合成、音乐生成和音效制作日益普及的今天,如何自动评估音频质量成为开发者的刚需。audiobox-aesthetics是 Meta 开源的统一音频美学质量评估工具,能够同时对语音、音乐和环境音进行 0-10 分的多维度自动打分,帮你从繁琐的人工试听中解放出来。本文将带你走完一条从数据准备到质量报告的完整评测流程,无论你是新手还是老手,都能快速上手。
audiobox-aesthetics 是什么:一次搞懂音频美学评估工具
audiobox-aesthetics 的核心定位是Unified automatic quality assessment,即用同一个模型统一评估三类音频内容:语音(speech)、音乐(music)和环境音(sound)。它不需要任何人工标注,只需提供音频文件路径,即可批量输出结构化评分,非常适合用于评测 TTS 语音合成系统、音乐生成模型或音效库的质量。
该模型的实现代码位于 src/audiobox_aesthetics/model/aes.py,核心网络基于 WavLM 预训练编码器(见 wavlm.py),在此基础上挂载 4 个独立的 MLP 预测头,分别对应 4 个美学评分维度。
四大评分维度:CE、CU、PC、PQ 是什么
使用前先理解输出含义,评测结果由 4 个维度组成,每个维度都是 0-10 分(越高越好):
| 缩写 | 全称 | 含义 |
|---|---|---|
| CE | Content Enjoyment | 内容愉悦度:听起来是否享受、有趣 |
| CU | Content Usefulness | 内容有用性:信息传递是否清晰有用 |
| PC | Production Complexity | 制作复杂度:声音制作的技术难度 |
| PQ | Production Quality | 制作质量:录音、混音的工程品质 |
例如一条真实输出为{"CE": 5.146, "CU": 5.779, "PC": 2.148, "PQ": 7.220},代表该音频制作质量很高,但内容愉悦度一般。四个维度从"技术"和"内容"两个层面完整刻画了一段音频的美学水平。
环境准备:3 步快速安装评测工具
audiobox-aesthetics 需要Python 3.9+和PyTorch 2.2+,安装非常简单,推荐使用虚拟环境:
# 方式一:pip 一键安装(推荐) pip install audiobox_aesthetics # 方式二:从源码安装 git clone https://gitcode.com/gh_mirrors/au/audiobox-aesthetics cd audiobox-aesthetics pip install -e .依赖清单可以在 pyproject.toml 中查看,主要包括 torch、torchaudio、tqdm、huggingface_hub 等。安装完成后,命令行工具audio-aes即可直接使用。
数据准备:JSONL 输入格式详解
评测的第一步是准备输入文件。audiobox-aesthetics 使用JSONL 格式(每行一个 JSON 对象)描述待评测音频,最简单的方式只需提供文件路径:
{"path": "/path/to/a.wav"} {"path": "/path/to/b.flac"} {"path": "/path/to/c.wav"}如果你只想评测音频的某个时间段,可以加上起始和结束时间(单位:秒):
{"path": "/path/to/a.wav", "start_time": 0, "end_time": 5} {"path": "/path/to/b.flac", "start_time": 3, "end_time": 10}将内容保存为input.jsonl即可。支持 wav、flac 等常见格式,多声道音频会自动转为单声道再评测。数据加载逻辑位于 src/audiobox_aesthetics/infer.py 的load_dataset函数。
一键评测:CLI 完整流程
准备好输入文件后,在终端执行一行命令即可完成批量评测:
audio-aes input.jsonl --batch-size 100 > output.jsonl命令执行时,若本机没有预训练权重,脚本会自动下载 checkpoint;也可以手动指定权重路径:
audio-aes input.jsonl --ckpt /path/to/checkpoint.pt > output.jsonl--batch-size控制每批处理的音频数量,默认 100,可以根据显存调整。评测完成后,output.jsonl中每一行对应输入中的一条音频,输出格式为包含 CE、CU、PC、PQ 四个维度的 JSON:
{"CE": 5.146, "CU": 5.779, "PC": 2.148, "PQ": 7.220}如果只需要提取某一个维度(比如 CE)生成报告曲线,可以借助jq工具快速处理:
jq '.CE' output.jsonl > output-aes_ce.txtCLI 的完整参数定义见 src/audiobox_aesthetics/cli.py,支持远程 SLURM 集群模式,后文会介绍。
进阶技巧:Python API 与批量并行评测
方式一:从 Python 脚本调用
不想用命令行时,可以在代码中直接调用预测器。适合把评测集成到自己的训练或质检流程中:
from audiobox_aesthetics.infer import initialize_predictor predictor = initialize_predictor() predictor.forward([ {"path": "/path/to/a.wav"}, {"path": "/path/to/b.flac"} ])也可以直接传入已加载的 torch 张量(配合sample_rate字段),方便与 torchaudio 流水线无缝衔接。预测器的实现见 infer.py 中的AesPredictor类。
方式二:SLURM 集群大规模并行
当音频数量巨大(如数万条)时,可启用 SLURM 数组任务并行加速:
audio-aes input.jsonl --batch-size 100 --remote --array 5 --job-dir $HOME/slurm_logs/ --chunk 1000 > output.jsonl其中--array控制最大并行任务数,--chunk控制每个子任务处理的条数,还可通过--slurm-gpu、--slurm-cpu调整资源配额。这样可以把几小时的评测压缩到几分钟。
方式三:HuggingFace 方式加载与微调
进阶用户还可以通过 HuggingFace Hub 方式加载模型,方便进行微调(finetune):
from audiobox_aesthetics.model.aes import AesMultiOutput model = AesMultiOutput.from_pretrained("facebook/audiobox-aesthetics") # 微调后推送回 Hub model.push_to_hub("<your_hf_username>/<your_hf_repo>")官方评测数据集与 AudioMOS 2025 竞赛
项目还开源了配套的人工标注评测数据集,可用于验证工具准确性或做二次研究。数据集存放在 evaluation_data/ 目录下,包含语音、音乐、自然音效等多个子集,例如 AES_PAM.jsonl。每条记录包含data_path和 4 个维度各 10 名标注者的打分:
{"data_path": "/your_path/PAM/human_eval/audio/xxx.wav", "Production_Quality": [8.0, 7.0, 3.0, 6.0, ...], "Production_Complexity": [2.0, 6.0, 2.0, 5.0, ...], "Content_Enjoyment": [1.0, 4.0, 4.0, 5.0, ...], "Content_Usefulness": [8.0, 7.0, 3.0, 6.0, ...]}此外,audiomos2025_track2/ 目录提供了AudioMOS Challenge 2025 Track 2竞赛的官方训练/开发集,针对 TTS、TTA(文生音频)、TTM(文生音乐)三类生成系统,每个样本都附有 4 个维度的平均分,详见 audiomos2025-track2-train_list.csv。想复现评测或参赛的同学可以直接使用这些资源。
模型架构速览:它凭什么打准分
回到开头那张架构图,audiobox-aesthetics 的处理流程分为三步:输入 16kHz 波形 → WavLM 编码器(CNN + Transformer)提取深层特征 → 4 个 MLP 预测头分别输出四维评分。得益于 WavLM 对时序上下文强大的建模能力,模型能同时捕捉音质细节与内容语义,从而在多维度评测任务上取得接近人类标注的效果。
总结:从数据到报告的四步清单
最后,为你总结一条可复用的音频质量评估完整流程:
- 准备数据:整理音频路径,按 JSONL 格式写入
input.jsonl - 安装运行:
pip install audiobox_aesthetics后执行audio-aes命令 - 批量评测:根据数据量选择本地批处理或 SLURM 并行模式
- 生成报告:解析输出 JSON,用
jq提取维度,绘制质量曲线对比
现在就去试试吧,让 audiobox-aesthetics 成为你音频项目的免费"首席听审官"!🎧
【免费下载链接】audiobox-aestheticsUnified automatic quality assessment for speech, music, and sound.项目地址: https://gitcode.com/gh_mirrors/au/audiobox-aesthetics
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考