torchaudio加载MP3文件报Failed to load audio错误,求助排查解决
torchaudio加载音频失败的问题排查与解决
问题背景
通过Google Colab上传或从Google Drive导入音频文件时,执行代码触发RuntimeError: Failed to load audio错误,但IPython.display可正常播放该音频。相关代码:
waveform, sample_rate = torchaudio.load("Default-20220816-113844.mp3") waveform = waveform.to(device) if sample_rate != bundle.sample_rate: waveform = torchaudio.functional.resample(waveform, sample_rate, bundle.sample_rate)
一、路径问题排查与修复
路径错误是常见触发原因,按场景逐一排查:
- Colab本地上传文件:上传的文件默认存放在
/content/目录,执行!pwd确认当前工作目录,!ls检查文件是否存在。如果文件不在当前目录,需使用完整绝对路径,例如/content/Default-20220816-113844.mp3。 - Google Drive挂载文件:挂载Drive后文件路径格式为
/content/drive/MyDrive/[你的文件夹路径]/Default-20220816-113844.mp3,必须写全路径,不能仅用文件名。
二、非路径原因的解决方法
1. MP3编码格式不兼容
IPython.display依赖浏览器解码器,兼容性比torchaudio更强,部分特殊编码的MP3无法被torchaudio识别。
- 解决:将MP3转换为WAV格式后再加载:
加载转换后的文件:!ffmpeg -i Default-20220816-113844.mp3 Default-20220816-113844.wavwaveform, sample_rate = torchaudio.load("Default-20220816-113844.wav")
2. torchaudio后端缺失MP3支持
Colab默认的torchaudio后端可能未配置MP3解码依赖,需安装ffmpeg并切换后端:
- 安装ffmpeg:
!apt-get install -y ffmpeg - 切换torchaudio后端为ffmpeg:
完成后重新尝试加载MP3文件。import torchaudio torchaudio.set_audio_backend("ffmpeg")
3. Drive文件权限限制
从Drive导入的文件可能存在读取权限问题,可将文件复制到Colab本地目录后再加载:
!cp /content/drive/MyDrive/[你的文件路径]/Default-20220816-113844.mp3 /content/
验证步骤
- 执行
!ls确认文件存在于当前目录,或直接使用绝对路径加载。 - 尝试转换音频格式为WAV后加载。
- 安装ffmpeg并切换后端后重试。
内容的提问来源于stack exchange,提问作者ihavenoidea
相关产品推荐
相关产品推荐

