资讯动态

WhisperLiveKit实时说话人区分:3分钟给每句话贴上说话人标签

发布时间:2026/9/15 10:44:06 来源:尧图企业网站定制
WhisperLiveKit实时说话人区分3分钟给每句话贴上说话人标签【免费下载链接】WhisperLiveKitReal-time, local speech-to-text with streaming ASR, speaker diarization, translation, and OpenAI/Deepgram-compatible APIs.项目地址: https://gitcode.com/GitHub_Trending/wh/WhisperLiveKitWhisperLiveKit 的实时说话人区分适合这样的场景三人站会上每句话被转写完的同时还标出说话人 1 / 2 / 3是谁说的。加上--diarization参数后流式 Sortformer 模型一边听一边给每句分配说话人编号无需等录音结束再做事后处理。能力速览它到底替你做了什么边说边编号转录是流式的说话人标签也是流式的不依赖完整音频文件默认最多 4 人默认模型nvidia/diar_streaming_sortformer_4spk-v2有 4 个说话人通道覆盖绝大多数会议场景标签与文字按时间对齐WebSocket 每句话自带speaker字段REST 可返回带标签的diarized_json资源占用低约 1 秒一个音频块做流式推理GPU 推荐CPU 也可运行一句话理解它回答现在是谁在说再把你已有的实时转录和答案缝在一起。最快启动方式4 行看到说话人标签git clone https://gitcode.com/GitHub_Trending/wh/WhisperLiveKit cd WhisperLiveKit pip install -e .[diarization-sortformer] wlk serve --model base --diarization然后浏览器打开http://localhost:8000开始说话每句话会自动带上说话人编号。有 NVIDIA GPU 的话更省事仓库里预置了 Docker 服务一行命令docker compose up --build wlk-gpu-sortformer。服务定义在 compose.yml 里内置参数是--model medium --diarization --pcm-input端口映射 8000。它是怎么工作的双缓存 1 秒流式推理 把 Sortformer 想象成一个记人脸的登记员长期记忆spkcache从会话开始积累的说话人特征相当于登记表——出现过的人声底都在这里短期记忆fifo只存最近几个音频块的队列用来快速确认刚才这句是谁的新说话人加入或离开时登记表实时更新编号按出场顺序分配且保持稳定不会中途换人每个约 1 秒的音频块走一遍这个流程音频 (16kHz PCM) ├─ 攒够 ~1s → 切块算 128 维梅尔频谱 ├─ Sortformer 流式一步更新 spkcache(历史) fifo(最近) └─ 逐帧输出当前是谁 (最多 4 通道) → 合并成 [start, end] 说话人区间推理只看过去、不看未来chunk_right_context0所以是真流式说话人嵌入约每 144 帧刷新一次兼顾标签稳定与响应速度。完整场景一场三人站会从输入到产出输入笔记本麦克风 wlk serve --model base --diarization三个人站着聊进度。过程浏览器实时界面里句子随说随出说话人编号自动附上。要接到自己的系统里两种方式读 WebSocket 的句子事件speaker字段为1、2、3…-2表示静音段或 REST 请求带response_formatdiarized_json拿到按说话人分组的 JSON字段定义见 docs/API.md。产出示例时间说话人转写内容00:00–00:041开始吧先各自同步下进度00:04–00:112前端这边做完了等后端两个接口00:11–00:163接口已部署测试报告晚上发00:16–00:201好五分钟后收尾 这类产出可以直接按人分组统计——谁说了多久、谁抢话最多不用再人工回听。参数怎么调不同场景怎么选场景推荐配置效果个人/小会议CPU 环境--model base --diarization最快跑起来标签实时可见3-4 人会议有 NVIDIA GPUdocker compose up --build wlk-gpu-sortformermedium 模型 --pcm-input延迟最低长会标签更稳人数确定且 ≤4如双人客服追加--sortformer-max-speakers 2只保留出场前 2 个通道少出废标签只要说话时间轴不要转写追加--no-transcription只出说话人区间资源占用明显更低有自己的 .nemo 微调模型追加--sortformer-model-path ./my_model.nemo加载本地模型覆盖默认 4spk-v2注意--sortformer-max-speakers是人数声明而非估测功能只有确定会议至多 N 人时才用它多出来的人会被归入保留的标签里。选 ASR 模型--model时可参考下面这张散点图里词错率WER与实时因子RTF的取舍——先看你的硬件扛不扛得住实时因子避坑清单 ⚠️启动报 Sortformer diarization requires NeModiarization 是独立 extra用pip install -e .[diarization-sortformer]重装默认安装不带它。第五个人的话被并进已有说话人默认模型只有 4 个通道人数固定就用--sortformer-max-speakers收窄超过 4 人建议分会或分组进行。REST 传diarized_json直接 400服务端必须带--diarization启动未开启时请求会在处理音频前被拒。想用 diart 后端却装在 Python 3.13 上diart 仅限 Python 3.11/3.12 且官方标注不推荐优先走 sortformer 路线--diarization-backend默认就是sortformer。Sortformer 已经是 WhisperLiveKit 的默认区分后端启动命令加一个--diarization标志会议记录就从一堆字变成按人分好的结构化文本。想往下挖可以看 whisperlivekit/diarization/sortformer_backend.py双缓存与流式推演的完整实现和 docs/deployment.md部署选项。【免费下载链接】WhisperLiveKitReal-time, local speech-to-text with streaming ASR, speaker diarization, translation, and OpenAI/Deepgram-compatible APIs.项目地址: https://gitcode.com/GitHub_Trending/wh/WhisperLiveKit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价