LinTO-diarization 是 LinTO 平台的说话人分轨服务,具备猜测说话人数以及在提供目标说话人语音样本时识别特定说话人的能力。该服务可作为独立分轨服务部署,也可作为微服务集成到分布式系统中。
/opt/audio)存储音频文件,避免大文件通过消息代理传输若启用说话人识别功能,需部署 Qdrant 向量数据库存储说话人嵌入向量:
bashdocker run \ -p 6333:6333 \ # Qdrant 默认端口 -v ./qdrant_storage:/qdrant/storage:z \ qdrant/qdrant
bashgit clone [***] cd linto-diarization docker build . -t linto-diarization-pyannote:latest -f pyannote/Dockerfile
bashdocker pull lintoai/linto-diarization-pyannote
通过 HTTP API 提供独立分轨服务。
参考 pyannote/.envdefault 创建 .env 文件,配置参数见 6. 配置参数说明。
bashdocker run --rm \ -v <宿主机共享文件夹路径>:/opt/audio \ # 挂载共享音频文件夹 -p <宿主机端口>:80 \ # 映射容器 80 端口到宿主机(如 8080:80) --env-file .env \ # 加载环境变量 # 启用 GPU(如有) --gpus all \ # 可选,启用所有 GPU linto-diarization-pyannote:latest
需挂载说话人语音样本文件夹(样本需按说话人名称命名文件/文件夹):
bashdocker run ... -v </path/to/speaker/samples>:/opt/speaker_samples # 或自定义路径(通过 SPEAKER_SAMPLES_FOLDER 指定)
若需复用 Qdrant 现有向量集合,设置环境变量 QDRANT_RECREATE_COLLECTION=false。
作为微服务部署,通过 Celery 监听消息代理中的分轨任务。
SERVICES_BROKER 配置基础参数同 HTTP 模式,额外添加微服务特有参数(见 6. 配置参数说明)。
创建 docker-compose.yml:
yamlversion: '3.7' services: diarization-service: image: linto-diarization-pyannote:latest volumes: - /path/to/shared/folder:/opt/audio # 共享音频文件夹 env_file: .env # 加载环境变量 deploy: replicas: 1 # 根据需求调整副本数 networks: - your-net # 连接至微服务网络 networks: your-net: external: true # 使用现有网络
启动服务:
bashdocker stack deploy --resolve-image always --compose-file docker-compose.yml your_stack
| 变量名 | 描述 | 示例值 |
|---|---|---|
SERVING_MODE | 部署模式(必填):http(独立服务)或 task(微服务) | http 或 task |
CONCURRENCY | 主工作进程外的额外工作进程数 | 0 | 1 | 2 |
DEVICE | 嵌入模型运行设备(默认:优先 GPU,否则 CPU) | cpu | cuda | cuda:0 |
DEVICE_CLUSTERING | 聚类模型运行设备(默认同 DEVICE) | cpu | cuda |
DEVICE_IDENTIFICATION | 说话人识别模型运行设备(默认同 DEVICE) | cpu | cuda |
NUM_THREADS | CPU 最大线程数 | 4 |
CUDA_VISIBLE_DEVICES | GPU 设备索引(多 GPU 时指定,需配合 --gpus 参数) | 0 | 1,2 |
SPEAKER_SAMPLES_FOLDER | 说话人语音样本文件夹路径(默认:/opt/speaker_samples) | /path/to/samples |
SPEAKER_PRECOMPUTED_FOLDER | 预计算嵌入向量存储路径(默认:/opt/speaker_precomputed) | /path/to/precomputed |
QDRANT_HOST | Qdrant 服务地址(说话人识别时必填) | localhost |
QDRANT_PORT | Qdrant 服务端口(默认 6333) | 6333 |
QDRANT_COLLECTION | Qdrant 向量集合名称(默认 speaker_embeddings) | my_collection |
QDRANT_RECREATE_COLLECTION | 是否重建 Qdrant 集合(默认 true,复用集合时设为 false) | true | false |
| 变量名 | 描述 | 示例值 |
|---|---|---|
SERVICES_BROKER | 消息代理地址(如 Redis) | redis://my_redis_broker:6379 |
BROKER_PASS | 消息代理密码(可选) | my_password |
QUEUE_NAME | 任务队列名称(默认自动生成) | diarization_queue |
SERVICE_NAME | 服务名称 | diarization-ml |
LANGUAGE | BCP-47 语言代码 | en-US | *(多语言) |
MODEL_INFO | 模型描述信息 | Multilingual diarization model |
/healthcheck"1"(服务正常)/diarization方法:POST
请求参数:
file:WAV 音频文件(必填)speaker_count:固定说话人数(可选,整数,自动聚类时留空)max_speaker:最大说话人数(可选,整数,当 speaker_count 未指定时生效)speaker_names:目标说话人名称(可选,仅在提供语音样本时生效):
"":禁用识别"*":识别所有说话人| 分隔字符串:指定说话人列表(如 ["spk1","spk2"] 或 "spk1|spk2")响应示例(application/json):
json{ "speakers": [ {"spk_id": "spk5", "duration": 2.2, "nbr_seg": 1} ], "segments": [ {"seg_id": 1, "spk_id": "spk5", "seg_begin": 0.0, "seg_end": 2.2} ] }
/docs通过消息代理(如 Redis)提交分轨任务,参数同 HTTP API,区别在于 file 为共享文件夹中的相对路径。
file:共享文件夹中音频文件的相对路径(字符串,必填)speaker_count、max_speaker、speaker_names:同 HTTP API(可选)同 /diarization 接口响应(JSON 结构)。
bashcurl -X POST "http://<服务地址>:<端口>/diarization" \ -H "accept: application/json" \ -H "Content-Type: multipart/form-data" \ -F "file=@test.wav;type=audio/x-wav" \ -F "speaker_count=2"
本项目基于 AGPLv3 许可证开源(详见 LICENSE)。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429