SenseVoice 部署指南:比 Whisper 快 15 倍的多语言语音识别
SenseVoice 是 FunAudioLLM 团队开源的多语言语音理解大模型。它不仅做语音识别(ASR),还能在一次前向推理中同时输出语种识别、情感识别、音频事件检测。模型采用非自回归结构,推理速度比 Whisper-Large 快约 15 倍,单条 10 秒音频的识别延迟可低至几十毫秒,非常适合工业级实时与批量场景。
本文用可直接复制运行的代码,带你 3 步把 SenseVoice 跑起来。
1. 安装
SenseVoice 通过 funasr 包提供,一行安装:
pip install -U funasr torch torchaudio
2. 三行代码跑通识别
下面的代码会自动下载 SenseVoiceSmall 模型并完成识别:
from funasr import AutoModel from funasr.utils.postprocess_utils import rich_transcription_postprocess model = AutoModel(model="iic/SenseVoiceSmall", device="cuda:0") # CPU 用 device="cpu" res = model.generate(input="audio.wav", language="auto", use_itn=True) print(rich_transcription_postprocess(res[0]["text"]))
模型 ID:ModelScope 为 iic/SenseVoiceSmall,HuggingFace 为 FunAudioLLM/SenseVoiceSmall。use_itn=True 表示输出带标点和逆文本归一化(数字、日期规整)。
3. 读懂输出:语种 + 情感 + 音频事件
SenseVoice 的原始输出带有富文本标签,例如:
<|zh|><|NEUTRAL|><|Speech|><|withitn|>欢迎大家来体验达摩院推出的语音识别模型。
<|zh|>:语种(zh 中文、en 英文、yue 粤语、ja 日语、ko 韩语)<|NEUTRAL|>:情感(HAPPY / SAD / ANGRY / NEUTRAL 等)<|Speech|>:音频事件(Speech / BGM / Applause / Laughter 等)
用 rich_transcription_postprocess() 可一键得到干净文本;如果你想保留这些标签做下游分析,直接读取 res[0]["text"] 即可。
4. 长音频:加 VAD 自动分段
处理几分钟以上的长音频时,搭配 FSMN-VAD 做语音端点检测、自动分段,效果与速度都更好:
model = AutoModel(
model="iic/SenseVoiceSmall",
vad_model="fsmn-vad",
vad_kwargs={"max_single_segment_time": 30000},
device="cuda:0",
)
res = model.generate(input="long_audio.wav", language="auto", use_itn=True, batch_size_s=60)
5. GPU 与 CPU 怎么选
| 场景 | 建议 |
|---|---|
| 高并发 / 批量转写 | GPU(device="cuda:0"),吞吐最高 |
| 轻量 / 边缘 / 离线 | CPU(device="cpu");SenseVoice 非自回归,CPU 上也很快 |
| 生产服务 | FunASR runtime(C++ / Docker 一键部署,多并发) |
6. 性能一览
| 维度 | SenseVoice-Small |
|---|---|
| 相对 Whisper-Large 速度 | 约 15× |
| 支持语言 | 中文 / 粤语 / 英文 / 日文 / 韩文 等 |
| 附加能力 | 语种识别 · 情感识别 · 音频事件检测 |
| 架构 | 非自回归(低延迟) |
| 许可证 | 开源(可商用) |
延伸阅读:FunASR vs Whisper 对比 · FunASR 快速上手 · 全部模型
相关文章
- FunASR vs Whisper 实测对比
- Fun-ASR-Nano 使用指南
- 说话人分离:谁在何时说话
- 情感与语种检测
- 实时流式语音识别
- 转写超长音频(1小时一次搞定)
- 命令行转写(文本/JSON/SRT)
- 自托管 OpenAI Whisper API 替代
- 自动生成字幕(SRT / VTT)
- Python 语音转文字教程
- FunASR 跑进 llama.cpp(whisper.cpp 替代)
- FunASR vs faster-whisper(中文/粤语)
- 轻量语音识别(CPU 250MB)
- 自托管替代 Deepgram/AssemblyAI
- 选哪个 FunASR 模型
- 粤语语音识别(SenseVoice 原生粤语)
- 日语语音识别(SenseVoice 转写+标点+情感)
- Python 语音活动检测(VAD)
- 自托管替代 Google/AWS/Azure 云语音 API
- 中文语音识别(普通话)实战
- 标点恢复 Python 实战
- 语音识别带时间戳(字级)