OpenAI Whisper加载音频失败:文件未找到及FFmpeg问题求助
解决OpenAI Whisper音频转写的文件找不到报错
你的报错核心是FFmpeg无法定位到Hello.mp3文件,即便你确认文件和脚本同目录,仍可能存在以下容易忽略的问题,按顺序排查:
1. 确认VS Code工作目录与脚本目录一致
VS Code默认启动的工作目录可能不是脚本所在的C:\Python_openai_testing,导致脚本在错误路径下查找文件:
- 打开VS Code终端,输入
cd(CMD)或pwd(PowerShell),查看当前工作目录是否为C:\Python_openai_testing。 - 若不一致,在终端输入
cd C:\Python_openai_testing切换目录后再运行脚本。 - 永久解决:通过
File > Open Folder直接打开C:\Python_openai_testing文件夹,VS Code会自动将该目录设为工作目录。
2. 用绝对路径替代相对路径
直接在代码中写入音频文件的绝对路径,规避工作目录影响:
import whisper model = whisper.load_model("base") # 替换为你的音频文件绝对路径 result = model.transcribe("C:\\Python_openai_testing\\Hello.mp3", fp16=False) with open("transcription.txt", "w") as file: file.write(result["text"])
3. 检查文件名与后缀的正确性
- Windows默认隐藏已知文件后缀,可能实际文件是
Hello.mp3.mp3(你看到的显示名是Hello.mp3),导致找不到。操作:打开文件夹,点击查看选项卡,勾选文件扩展名,确认文件名确实是Hello.mp3。 - 核对文件名大小写:虽然Windows不区分大小写,但确保代码中的
Hello.mp3与实际文件名完全一致(比如不要实际是hello.mp3而代码写大写H)。
4. 验证FFmpeg的可用性
- 打开CMD或PowerShell,输入
ffmpeg -version,若能输出和报错中一致的版本信息,说明路径配置正确;若提示“找不到命令”,需重新检查环境变量是否添加了FFmpeg的bin目录,或重启VS Code让环境变量生效。 - 若FFmpeg路径没问题但Whisper调用失败,可在代码中手动指定FFmpeg路径:
import whisper # 替换为你的ffmpeg.exe绝对路径 whisper.utils.get_ffmpeg_path = lambda: "C:\\ffmpeg\\bin\\ffmpeg.exe" model = whisper.load_model("base") result = model.transcribe("Hello.mp3", fp16=False) with open("transcription.txt", "w") as file: file.write(result["text"])
5. 检查文件读取权限
右键点击Hello.mp3,选择属性 > 安全,确认当前用户拥有读取权限;若文件是从其他设备复制而来,可能存在安全锁定,点击属性中的解除锁定按钮(若有)。
内容的提问来源于stack exchange,提问作者Aljaž Kropivšek
相关产品推荐
相关产品推荐

