VoiceStudio — FunASR (SenseVoice) 引擎¶
FunASR 通过 FSMN-VAD 驱动 Alibaba 的 SenseVoiceSmall,是一个一体化多语言流水线:支持带标点和逆文本规范化的转录,覆盖 50+ 种语言,并可通过 cam++ 说话人模型实现可选的 内联说话人分离。它是 WhisperX 之外需显式选择启用的替代方案(#182);WhisperX 仍然是跨平台默认引擎。
选择它¶
- 将其安装到应用 venv 中:
uv pip install funasr。 - 然后打开 Model Catalogue,在 ASR 选项卡中点击 FunASR 行上的 Use,或设置
OMNIVOICE_ASR_BACKEND=funasr。
自动检测永远不会选用它;它需要显式选择启用。
擅长¶
- 无需任何 HuggingFace token 即可完成多说话人转录。 这是唯一内置说话人分离的 ASR 引擎:cam++ 在同一次处理中为每个句子标注(
Speaker 1、Speaker 2……)——不涉及受限的 pyannote 模型,也无需点击接受许可证。有关 pyannote/WhisperX 路线及其各自优点,请对比说话人分离。 - 广泛的语言覆盖,范围超出 Whisper 的最强语言,且包含标点。
不适合¶
- 口型同步配音——FunASR 返回句子级时间戳,而非单词级时间戳。当单词级时间信息很重要时,请使用 whisperx / mlx-whisper。
平台支持¶
在 macOS、Windows 和 Linux 上支持 CUDA 或 CPU。
模型选择¶
| 变量 | 默认值 | 作用 |
|---|---|---|
ASR_MODEL_FUNASR |
iic/SenseVoiceSmall |
主 ASR 模型 |
ASR_FUNASR_VAD |
fsmn-vad |
VAD 分段模型 |
ASR_FUNASR_SPK |
cam++ |
说话人模型;设为空(ASR_FUNASR_SPK=)可禁用说话人分离,并改用配音流水线的 pyannote/启发式路径 |
权重在首次加载时下载(通过 FunASR 自身的模型中心)——参见下载模型。
注意事项¶
- 启用说话人模型后,长录音会在一次调用内完成转录,并由 FunASR 内部 VAD 切分——cam++ 按每次调用分配说话人聚类 ID,因此这样才能让“Speaker 1”在整个文件中始终代表同一个人。
- 引擎以
spk_mode="vad_segment"运行:FunASR 1.3.1 的默认模式(punc_segment)需要单独的标点模型;如果 SenseVoice 在没有该模型的情况下加载,则会崩溃。 - SenseVoice 的 rich-token 标记(文本周围的语言/情感/事件标签)会从输出中自动移除。
- 语种检测是自动的(
language: auto);每个文件都会报告检测到的语言。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio