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 或批处理。
--language。--word_timestamps 或使用对齐工具。large-v3 需要更多显存;用 turbo、量化版或 faster-whisper,必要时分片推理。合上页面,先回答,再展开对照。
tiny 到 large-v3 的模型规格如何取舍?turbo/medium 做基线。
小程序版
微信扫码,随时查命令