OpenAI Whisper处理印地语音频返回英文,如何设置输出印地语?
解决OpenAI Whisper输出印地语转录结果的问题
核心修复步骤
确认使用多语言模型:必须加载Whisper的多语言版本模型(如
base、small、medium、large),不能用英文单语言模型(如base.en)。英文单语言模型仅支持英文处理,会强制输出英文结果。
正确加载示例:model = whisper.load_model("base") # 多语言模型,原生支持印地语优化解码选项配置:除指定
language='hi'外,需明确设置task="transcribe",避免模型默认执行翻译任务;若在CPU上运行,添加fp16=False避免精度兼容问题。
修改后的解码代码:options = whisper.DecodingOptions( language='hi', task='transcribe', fp16=False # CPU运行必填,GPU环境可省略 ) result = whisper.decode(model, mel, options)验证音频语言:确保输入音频为纯印地语内容,若音频混合大量英文,模型可能优先识别输出英文。
完整可运行代码示例
import whisper # 加载多语言模型 model = whisper.load_model("base") # 加载并预处理音频 audio = whisper.load_audio("your_hindi_audio.wav") # 替换为你的印地语音频路径 audio = whisper.pad_or_trim(audio) # 生成梅尔频谱 mel = whisper.log_mel_spectrogram(audio).to(model.device) # 配置印地语转录参数 options = whisper.DecodingOptions( language='hi', task='transcribe', fp16=False ) # 执行转录并输出结果 result = whisper.decode(model, mel, options) print(result.text)
内容的提问来源于stack exchange,提问作者Sarath Haridas
相关产品推荐
相关产品推荐

