系统学习 AI 学习路径:从 GPU 运行时到推理、微调与 RAG 评估

whisper

Whisper 语音转写:模型规格、语言识别、时间戳与长音频处理

补充说明

Whisper 是 OpenAI 的语音识别模型,支持多语言转写、翻译和带时间戳的输出。常见规格从 tiny、base、small、medium 到 large-v3、turbo,模型越大通常越准,但显存、延迟和成本也越高。它适合离线转写、字幕生成和会议记录,不适合要求极低延迟的实时流式场景。

Whisper 的原始实现是 Python 包,推理框架还有 faster-whisper、whisper.cpp 等。它自动检测语言,也可以显式指定;长音频要分段处理,否则可能超出模型窗口或产生时间戳漂移。

常用示例

# 基础转写,显式指定中文
whisper meeting.mp3 --model large-v3 --language zh --task transcribe

# 输出 SRT 字幕
whisper meeting.mp3 --model large-v3 --language zh \
  --output_format srt --output_dir ./out

# 词级时间戳
whisper meeting.mp3 --model large-v3 --word_timestamps True

# 翻译成英文
whisper meeting.mp3 --model large-v3 --task translate
# 用 Transformers 加载 Whisper
from transformers import pipeline

asr = pipeline("automatic-speech-recognition",
               model="openai/whisper-large-v3",
               device=0)
result = asr("meeting.wav", return_timestamps=True)
print(result["text"])

长音频建议先按静音或固定时长切分,分别转写后再合并时间戳;需要更高吞吐时用 faster-whisper 或批处理。

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. tiny 到 large-v3 的模型规格如何取舍?
  2. Whisper 在静音片段上为什么会产生幻觉?怎么缓解?
  3. 长音频直接整段转写有什么问题?应该怎么处理?
答案
  1. 小模型更快、更省显存,但准确率和多语言能力较弱;大模型更准但更慢、更吃显存。按准确率要求、延迟和硬件选择,先用 turbo/medium 做基线。
  2. 模型在低信息量音频上可能“编”出文本;用 VAD/静音检测过滤低能量片段,并设置最小语音长度。
  3. 可能超出模型窗口、时间戳漂移或内存不足;按静音或固定时长切分,分别转写后合并时间戳。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令