如何使用Whisper转录多语言音频且避免自动翻译?
解决Whisper混合语言转录时的自动翻译问题
核心是明确指定转录任务而非翻译任务,同时让模型自动检测每段音频的语言:
- 调用Whisper时必须设置
task="transcribe",这会强制模型只做原语言转录,不触发翻译逻辑 - 语言参数设为
language="auto",让模型自动识别当前音频片段的语言(英语或印尼语),分别转录成对应原语言,不会强制统一转成单一语言
- 调用Whisper时必须设置
示例代码:
import whisper # 加载模型,可根据需求选base/small/medium/large等 model = whisper.load_model("base") # 关键是task和language参数的设置 transcription_result = model.transcribe("your_audio_file.mp3", task="transcribe", language="auto") # 输出转录文本 print(transcription_result["text"])
- 额外注意事项:
- 确保你的Whisper是最新版本,旧版本可能存在多语言检测的bug,执行
pip install --upgrade openai-whisper更新 - 如果仍有少量误判,可尝试添加
word_timestamps=True参数,让模型更精准地按语言分段,提升识别准确率
- 确保你的Whisper是最新版本,旧版本可能存在多语言检测的bug,执行
内容的提问来源于stack exchange,提问作者Tony Spano
相关产品推荐
相关产品推荐

