You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免Whisper模型转录音频时自动修正语法?

解决Whisper模型自动修正语法的问题

代码修正

你的代码存在两处错误:导入语句缺失load_model,且调用方法名写错(应为transcribe而非transcript),修正后代码如下:

from whisper import load_model

fname = 'audioFile'
model = load_model('small')

result = model.transcribe(fname)
print(result["text"])

语法自动修正的解决方法

Whisper默认会对转录文本做语法规范化,要保留原始音频的口语化/不完整表达,可尝试以下方案:

  • 调整解码参数抑制修正
    设置temperature=0.0让模型选择最确定的转录结果,同时搭配beam_size限制解码路径,减少自动修正:

    result = model.transcribe(fname, temperature=0.0, beam_size=5)
    
  • 用初始提示引导模型
    通过initial_prompt明确告知模型保留原始表达,同时指定language="en"提升英语识别精度:

    prompt = "保留原始口语表达,不要修正语法或调整语序"
    result = model.transcribe(fname, initial_prompt=prompt, language="en")
    
  • 提取单词级结果拼接
    开启word_timestamps=True获取逐词转录数据,直接拼接单词可跳过句子级语法修正:

    result = model.transcribe(fname, word_timestamps=True)
    original_text = " ".join([word["word"] for seg in result["segments"] for word in seg["words"]])
    print(original_text)
    
  • 尝试更大模型
    small模型为了速度做了精度妥协,base/medium等更大模型对口语化内容的识别更准确,过度修正概率更低,可测试对比效果。

内容的提问来源于stack exchange,提问作者mann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 12:05:27