OpenAI Whisper库Python调用报错及API密钥咨询
问题解决:OpenAI Whisper 库使用报错及常见疑问
一、报错分析与解决
1. 初始错误:TypeError: transcribe() missing 1 required positional argument: 'audio'
该错误是因为调用whisper.transcribe()时参数传递不符合要求,transcribe()必须接收model和audio两个必填参数,不能仅传入音频数据。
2. 更新后错误:TypeError: expected np.ndarray (got bytes)
你当前代码直接读取音频文件的字节数据传入transcribe,但Whisper的audio参数不支持原始字节类型,它可接受的输入类型包括:
- 音频文件路径(字符串格式,如
"hello.mp3") - 已加载的
np.ndarray音频波形数组 - 音频文件的文件对象
修复后的代码
直接传入文件路径是最简便的方式:
import whisper model = whisper.load_model("base") # 直接传入音频文件路径 result = whisper.transcribe(model=model, audio="hello.mp3", verbose=True) print(result["text"])
若需使用文件对象,无需调用read()方法,直接传入即可:
import whisper with open("hello.mp3", "rb") as audio_file: model = whisper.load_model("base") result = whisper.transcribe(model=model, audio=audio_file, verbose=True) print(result["text"])
二、常见疑问:Whisper库是否需要OpenAI API密钥?
不需要。OpenAI Whisper是开源本地语音识别库,只要安装库并完成模型文件下载(首次调用load_model时会自动下载对应模型),即可在本地运行,无需调用OpenAI API,也不需要API密钥。
内容的提问来源于stack exchange,提问作者Adi
相关产品推荐
相关产品推荐

