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

Ubuntu下torchaudio音频后端缺失报错,已装sox仍无解求助

问题描述

执行代码 metadata = torchaudio.info(path) 时触发错误:

RuntimeError: Couldn't find appropriate backend to handle uri dataset/data/0.wav and format None

执行 print(str(torchaudio.list_audio_backends())) 返回空列表。

已安装依赖及版本信息:

  • pip show torchaudio -> ... Version: 2.2.1 ...
  • sox --version -> sox: SoX v14.4.2
  • ldd $(which sox) | grep libsox -> libsox.so.3 => /lib/x86_64-linux-gnu/libsox.so.3

使用 Ubuntu 系统,安装上述依赖后问题仍未解决。


解决步骤

1. 检查 torchaudio 是否启用 sox 支持

先确认 torchaudio 编译时是否链接了 sox:

import torchaudio
print(torchaudio._extension._SOX_AVAILABLE)

若输出 False,说明 torchaudio 未启用 sox 后端,需重新编译安装。

2. 重新编译安装 torchaudio(源码编译)

预编译的 pip 包可能未包含 sox 支持,建议从源码编译:

  1. 安装编译依赖:
sudo apt-get install build-essential cmake libsox-dev sox
  1. 卸载现有 torchaudio:
pip uninstall -y torchaudio
  1. 克隆对应版本源码并编译:
git clone https://github.com/pytorch/audio.git
cd audio
git checkout v2.2.1  # 与已安装的 torchaudio 版本匹配
pip install -e .

3. 验证 PyTorch 与 torchaudio 版本兼容性

torchaudio 2.2.1 需搭配 PyTorch 2.2.x 版本,检查当前 PyTorch 版本:

import torch
print(torch.__version__)

若版本不匹配,卸载后重新安装对应版本:

pip uninstall -y torch torchaudio
# CPU 版本示例,GPU 版本需替换为对应 cuda 标识(如 cu121)
pip install torch==2.2.1 torchaudio==2.2.1 --index-url https://download.pytorch.org/whl/cpu

4. 尝试切换到 ffmpeg 后端

若 sox 后端仍无法启用,可尝试 ffmpeg 替代:

  1. 安装 ffmpeg:
sudo apt-get install ffmpeg
  1. 强制设置 ffmpeg 后端并测试:
import torchaudio
torchaudio.set_audio_backend("ffmpeg")
metadata = torchaudio.info(path)

5. 检查文件路径与权限

确认目标音频文件路径正确,且当前用户有读取权限:

ls -l dataset/data/0.wav

若权限不足,执行:

sudo chmod +r dataset/data/0.wav

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 10:31:02