sherpa-onnx icon indicating copy to clipboard operation
sherpa-onnx copied to clipboard

请问sherpa-onnx支持说话人分离(Speaker Separation)模型吗

Open Yfredy opened this issue 2 months ago • 2 comments

请问sherpa-onnx支持说话人分离(Speaker Separation)模型吗?

业务需要从多人说话的场景中只收录特定一个人的声音时,核心需求是定向提取目标说话人的语音并抑制其他说话人的干扰

这种需求有现成的模型吗?

Thanks a lot

Yfredy avatar Sep 22 '25 10:09 Yfredy

Hi @Yfredy! I'm Dosu and I’m helping the sherpa-onnx team.

sherpa-onnx 目前支持的是说话人分离(speaker diarization),可以识别和分割多说话人音频中每个人的发言时间段,比如用 pyannote segmentation、reverb diarization 等模型配合 3dspeaker 或 NeMo Titanet 等嵌入模型实现分段和聚类,输出每个说话人的时间区间和身份标签 参考

但 sherpa-onnx 并不支持说话人分离(Speaker Separation)或定向说话人提取(Target Speaker Extraction)——即直接从混合音频中只提取目标说话人的语音、抑制其他人的声音。目前没有现成的模型或工具可以在 sherpa-onnx 框架下实现你的业务需求 参考

如果你的场景可以先用 diarization 得到目标说话人的时间段,再结合音频剪辑工具提取对应片段,这是一种可行的方案。如果需要直接分离出目标说话人的纯净语音,建议关注专门的 speaker separation 或 target speaker extraction 模型(如 SVoice、Conv-TasNet、SpeakerBeam 等),这些目前 sherpa-onnx 未集成。

如果你需要用 sherpa-onnx 的分段功能,可以参考其支持的 diarization 模型和 API,支持多平台和多语言。如果有具体使用问题可以继续交流。

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Join Discord Share on X

dosubot[bot] avatar Sep 22 '25 11:09 dosubot[bot]

got it!感谢您的详细回复

我现在想:多说话人混叠场景下进行语音分离和语音增强,以便 ASR 系统能更好地识别主要说话人的声音

这种也算是SVoice、Conv-TasNet、SpeakerBeam 等模型的应用范畴吗?

Yfredy avatar Sep 22 '25 11:09 Yfredy