Whisper 语音识别
OpenAI 开源的通用语音识别模型,基于大规模弱监督训练,支持多语言语音转写、语音翻译与语种识别,提供多种模型尺寸与命令行、Python 两种调用方式。
过去 7 天收获 2 颗 Star
爱鲜报评分
0 人评分
111k
星数
否
中文
Python
主语言
是
活跃
84
贡献者
人工分析
EDITORIAL推荐理由
Whisper 是当前最主流的开源语音识别方案之一,识别效果稳定、多语言覆盖广,且模型从 tiny 到 large 可按显存与速度灵活取舍。它同时提供 CLI 与 Python API,接入成本低,适合快速搭建转写、字幕与语音翻译能力。MIT 协议商用友好,社区生态成熟。
适用场景
- 音视频字幕自动生成
- 会议与访谈录音转写
- 播客/课程内容文字化
- 多语言语音翻译
- 语音语种识别与预处理
优点
- 多语言识别与翻译一体化,单模型替代传统多阶段流程
- 提供 tiny 到 large、turbo 多种尺寸,兼顾速度与精度
- CLI 与 Python API 双入口,集成简单
- MIT 协议,商用限制少,社区活跃
缺点
- 大模型推理需要较大显存,纯 CPU 速度较慢
- turbo 模型不支持翻译任务,需改用多语言模型
- 长音频依赖 30 秒滑窗处理,需自行做分段与拼接
- 不同语种识别质量差异明显,中文等需实测调优
Whisper 简介
Whisper 是 OpenAI 开源的通用语音识别模型,论文标题为 Robust Speech Recognition via Large-Scale Weak Supervision。它在大规模多样化音频上训练,是一个多任务模型,可同时完成:
- 多语言语音识别(转写)
- 语音翻译(非英语语音转英文文本)
- 语种识别
- 语音活动检测等辅助任务
技术思路
模型采用 Transformer 序列到序列结构,把多种语音处理任务统一表示为待预测的 token 序列,通过特殊 token 指定任务类型。这样一个模型即可替代传统语音流水线中的多个阶段。
模型规格
官方提供多种尺寸,按速度与精度取舍(显存为大致需求):
| 尺寸 | 参数量 | 仅英文 | 多语言 | 显存 | 相对速度 |
|---|---|---|---|---|---|
| tiny | 39M | tiny.en |
tiny |
~1GB | ~10x |
| base | 74M | base.en |
base |
~1GB | ~7x |
| small | 244M | small.en |
small |
~2GB | ~4x |
| medium | 769M | medium.en |
medium |
~5GB | ~2x |
| large | 1550M | - | large |
~10GB | 1x |
| turbo | 809M | - | turbo |
~6GB | ~8x |
其中 turbo 是 large-v3 的优化版本,速度更快、精度略有下降,但不支持翻译任务。
安装与依赖
通过 pip 安装,并需要系统安装 ffmpeg:
pip install -U openai-whisper
# Ubuntu/Debian
sudo apt install ffmpeg
# macOS
brew install ffmpeg
若 tiktoken 无预编译包,可能还需要 Rust 工具链。
命令行使用
# 默认使用 turbo 模型转写
whisper audio.mp3 --model turbo
# 指定语种
whisper japanese.wav --language Japanese
# 翻译为英文(需多语言模型)
whisper japanese.wav --model medium --language Japanese --task translate
Python 调用
import whisper
model = whisper.load_model("turbo")
result = model.transcribe("audio.mp3")
print(result["text"])
transcribe() 内部以 30 秒滑动窗口对音频做自回归预测,长音频会自动切分处理。也可使用 detect_language()、decode() 等底层接口自行控制流程。
使用建议
- 纯英文场景优先选
.en模型,小尺寸下提升明显。 - 需要翻译时避开
turbo,改用medium或large。 - 显存有限时从
small/base起步,再按效果升级。 - 中文等语种效果差异较大,建议用真实数据先做小规模评测。
评论
- 暂无评论,来写第一条吧。