说话人分离
更新时间:2026-06-15
简介
基于pyannote-audio的说话人分离处理器
功能描述
- 多说话人语音分离与时间戳标注
- 输出带说话人标签的语音分段元数据
- 输入:音频
- 输出:包含以下字段的结构化数据
- speaker: 说话人唯一标识
- start: 语音段开始时间(秒)
- end: 语音段结束时间(秒)
- 使用
speaker-diarization-3.1说话人分离模型 - 支持GPU加速推理(需配置CUDA环境)
算子参数
输入
| 输入 | 含义 |
|---|---|
| audios | 包含多个音频数据的数组 |
输出
| 输出 | 含义 |
|---|---|
| result | pa.Array: 包含说话人分离结果的数组 |
参数
| 参数名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| model_path | str | '/opt/aihc/models' | 模型文件所在的路径 |
| rank | int | 0 | 用于指定使用的 GPU 设备编号 |
调用示例
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_speaker_diarization import AudioSpeakerDiarization
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 = {"audios": [...]}
20 ds = daft.from_pydict(samples)
21 constructor_kwargs = {
22 "model_path": '/opt/aihc/models',
23 "rank": 0,
24 }
25 ds = ds.with_column(
26 "result",
27 aihc_udf(
28 AudioSpeakerDiarization,
29 construct_args=constructor_kwargs,
30 num_cpus=1,
31 concurrency=4,
32 batch_size=8,
33 )(col("audios")),
34 )
35 ds.show()
评价此篇文章
