音频格式标准化处理器
更新时间:2026-04-23
简介
音频格式标准化处理器
功能描述
- 支持采样率重采样
- 支持声道统一(如转为单声道)
- 支持响度归一化(目标 dBFS,带限制增益范围)
- 默认输入输出音频为字节(bytes)格式
- 支持本地目录, BOS目录
算子参数
输入
| 输入 | 含义 |
|---|---|
| audio_col | 输入音频的字节数组 |
输出
| 输出 | 含义 |
|---|---|
| standardized_audio | 处理后的音频结果;失败则返回 None |
参数
| 参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| target_sr | int or None | None | 目标采样率(单位 Hz),如 16000,为 None 时保留原始采样率 |
| target_channels | int or None | None | 目标声道数,如 1 表示单声道,为 None 时保留原始声道数 |
| target_dbfs | float or None | None | 目标响度(单位 dBFS),为 None 时不进行响度归一化 |
| target_gain_range | list | [-3, 3] | 归一化时允许的增益范围,如 [-3, 3] |
调用示例
Plain Text
1from __future__ import annotations
2
3import os
4import daft
5from daft import col
6
7from daft.aihc.common.udf import aihc_udf
8from daft.aihc.functions.audio.audio_standardization import AudioStandardization
9
10if __name__ == "__main__":
11 if os.getenv("DAFT_RUNNER", "native") == "ray":
12 import ray
13 ray.init(dashboard_host="0.0.0.0", ignore_reinit_error=True)
14 daft.set_runner_ray()
15 daft.set_execution_config(actor_udf_ready_timeout=6000, min_cpu_per_task=0)
16
17 samples = {
18 "audio_path": [
19 "file:///local/sample_1.wav",
20 "file:///mnt/pfs/sample_2.wav",
21 "file:///mnt/bos/sample_3.wav",
22 ]
23 }
24
25 df = daft.from_pydict(samples)
26 df = df.with_column(
27 "standardized_audio",
28 aihc_udf(
29 AudioStandardization,
30 construct_args={
31 "target_sr": 16000,
32 "target_channels": 1,
33 "target_dbfs": -20.0,
34 "target_gain_range": [-3.0, 3.0],
35 },
36 num_cpus=1,
37 batch_size=1,
38 concurrency=2,
39 )(col("audio_path")),
40 )
41
42 df.show()
评价此篇文章
