跳转至

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