Skip to content

Commit 21e6ede

Browse files
committed
docs: add Chinese blog draft — FunASR vs Whisper comparison for Zhihu/CSDN
1 parent a8d23ee commit 21e6ede

1 file changed

Lines changed: 110 additions & 0 deletions

File tree

docs/blog_whisper_vs_funasr_zh.md

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# FunASR 实测:比 Whisper 快 30 倍的开源语音识别,还自带说话人分离
2+
3+
> 本文适合正在使用 OpenAI Whisper 做语音转写、但遇到速度慢或中文效果差问题的开发者。
4+
5+
## 背景
6+
7+
OpenAI Whisper 是目前最流行的开源 ASR 模型,但在生产环境中经常遇到几个痛点:
8+
9+
1. **速度慢** — Whisper-large-v3 在 A100 上只有 13x 实时,处理 1 小时音频需要 ~5 分钟
10+
2. **中文方言差** — 对粤语、四川话、上海话等方言识别率很低
11+
3. **缺少说话人分离** — 需要额外集成 pyannote,增加复杂度
12+
4. **没有流式能力** — 无法做实时字幕
13+
14+
这些正是 [FunASR](https://github.com/modelscope/FunASR) 解决的问题。
15+
16+
## 性能对比
17+
18+
测试条件:184 个中文会议录音,总计 192 分钟,NVIDIA A100。
19+
20+
| 模型 | GPU 速度 | CPU 速度 | 说话人 | 流式 |
21+
|------|---------|---------|--------|------|
22+
| **FunASR SenseVoice-Small** | **170x** 实时 | **17x** 实时 |||
23+
| **FunASR Fun-ASR-Nano (vLLM)** | **340x** 实时 ||||
24+
| Whisper-large-v3-turbo | 46x 实时 ||||
25+
| Whisper-large-v3 | 13x 实时 ||||
26+
27+
**关键发现:FunASR 在 CPU 上比 Whisper 在 GPU 上还快。**
28+
29+
## 最大区别:一站式 vs 拼装
30+
31+
用 Whisper 搭建一个完整的转写系统,你需要:
32+
33+
```
34+
Whisper (ASR) + pyannote (说话人) + silero-vad (VAD) +
35+
deepmultilingualpunctuation (标点) + 自己写逻辑拼接
36+
```
37+
38+
用 FunASR,**一次调用搞定**
39+
40+
```python
41+
from funasr import AutoModel
42+
43+
model = AutoModel(
44+
model="paraformer-zh",
45+
vad_model="fsmn-vad",
46+
punc_model="ct-punc",
47+
spk_model="cam++",
48+
)
49+
result = model.generate(input="meeting.wav")
50+
# 输出:带说话人、时间戳、标点的结构化结果
51+
```
52+
53+
## OpenAI 兼容 API:零改动迁移
54+
55+
如果你已经在用 OpenAI 的 Whisper API,迁移到 FunASR 不需要改一行客户端代码:
56+
57+
```bash
58+
# 一行启动本地 ASR 服务
59+
pip install torch torchaudio
60+
pip install funasr vllm fastapi uvicorn python-multipart
61+
funasr-server --device cuda
62+
```
63+
64+
```python
65+
# 客户端代码完全不变
66+
from openai import OpenAI
67+
client = OpenAI(base_url="http://localhost:8000/v1", api_key="unused")
68+
result = client.audio.transcriptions.create(
69+
model="fun-asr-nano",
70+
file=open("meeting.wav", "rb")
71+
)
72+
```
73+
74+
## 中文方言支持
75+
76+
这是 Whisper 生态完全没有的:
77+
78+
- **7 大方言**:吴语、粤语、闽语、客家话、赣语、湘语、晋语
79+
- **26 种地域口音**:河南、四川、广东、湖北、云南等
80+
- **歌词识别**:音乐背景下的人声转写
81+
82+
## 什么时候选 FunASR?
83+
84+
| 场景 | 推荐 |
85+
|------|------|
86+
| 中文会议转写 | FunASR(方言+说话人) |
87+
| 实时字幕/直播 | FunASR(流式 WebSocket) |
88+
| 批量文件处理 | FunASR(vLLM 340x 加速) |
89+
| 私有化部署 | FunASR(MIT 开源,无费用) |
90+
| 纯英文、少量使用 | Whisper 也可以 |
91+
92+
## 开始使用
93+
94+
```bash
95+
pip install torch torchaudio
96+
pip install funasr
97+
```
98+
99+
```python
100+
from funasr import AutoModel
101+
model = AutoModel(model="iic/SenseVoiceSmall", device="cuda")
102+
result = model.generate(input="audio.wav")
103+
print(result[0]["text"])
104+
```
105+
106+
更多信息:
107+
- GitHub:https://github.com/modelscope/FunASR(16K+ stars)
108+
- 官网:https://www.funasr.com
109+
- 完整评测:https://modelscope.github.io/FunASR/benchmark.html
110+
- 从 Whisper 迁移指南:https://github.com/modelscope/FunASR/blob/main/docs/migration_from_whisper.md

0 commit comments

Comments
 (0)