音频质量评分
更新时间:2026-06-15
简介
音频质量评分模块 - 使用 DNSMOS 模型评估音频质量
功能描述
- 使用 DNSMOS (Deep Noise Suppression Mean Opinion Score) 模型进行音频质量评估
- 提供整体质量 (OVRL)、信号质量 (SIG)、背景噪声 (BAK) 三个维度的评分
- 评分范围在 1 到 5 之间,分数越高表示音频质量越好
- 支持自动采样率转换和音频预处理
- 适用于语音质量评估、音频筛选、质量控制等场景
- OVRL (Overall): 音频整体质量评分,综合评估音频的可听性
- SIG (Signal): 信号质量评分,评估语音信号的清晰度和自然度
- BAK (Background): 背景噪声评分,评估背景噪声的干扰程度
算子参数
输入
| 输入 | 含义 |
|---|---|
| audio_col | 包含音频二进制数据的数组(pa.binary 类型),每个元素应为一段完整的音频内容。 |
输出
| 输出 | 含义 |
|---|---|
| result | 一个结构化结果数组,其中每个元素包含以下字段: - ovrl (float): 音频整体质量评分,综合评估音频的可听性,范围在 1.0 到 5.0 之间 - sig (float): 信号质量评分,评估语音信号的清晰度和自然度,范围在 1.0 到 5.0 之间 - bak (float): 背景噪声评分,评估背景噪声的干扰程度,范围在 1.0 到 5.0 之间 处理失败的音频返回包含 null 值的结构。 |
参数
| 参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| model_path | str | '/opt/aihc/models' | - |
| device | str | 'cpu' | - |
| is_personalized_mos | bool | False | - |
调用示例
Python
1from __future__ import annotations
2
3import os
4
5import daft
6from daft import col
7
8from daft.aihc.common.udf import aihc_udf
9from daft.aihc.functions.audio.audio_quality_score import AudioQualityScore
10
11if __name__ == "__main__":
12 if os.getenv("DAFT_RUNNER", "native") == "ray":
13 import ray
14 ray.init(dashboard_host="0.0.0.0", ignore_reinit_error=True)
15 daft.set_runner_ray()
16 daft.set_execution_config(actor_udf_ready_timeout=6000, min_cpu_per_task=0)
17
18 # TODO: 根据实际场景准备样本数据
19 samples = {"audio_col": [...]}
20 ds = daft.from_pydict(samples)
21 constructor_kwargs = {
22 "model_path": '/opt/aihc/models',
23 "device": 'cpu',
24 "is_personalized_mos": False,
25 }
26 ds = ds.with_column(
27 "result",
28 aihc_udf(
29 AudioQualityScore,
30 construct_args=constructor_kwargs,
31 num_cpus=1,
32 concurrency=4,
33 batch_size=8,
34 )(col("audio_col")),
35 )
36 ds.show()
评价此篇文章
