torchaudio.load¶
- torchaudio.load(uri: Union[BinaryIO, str, PathLike], frame_offset: int = 0, num_frames: int = -1, normalize: bool = True, channels_first: bool = True, format: Optional[str] = None, buffer_size: int = 4096, backend: Optional[str] = None) Tuple[Tensor, int] [源代码]¶
使用 TorchCodec 的 AudioDecoder 从源加载音频数据。
注意
在 TorchAudio 2.9 中,此函数在底层依赖 TorchCodec 的解码功能。它提供是为了方便,但我们仍建议您将代码移植到直接使用
torchcodec
的AudioDecoder
类,以获得更好的性能: https://docs.pytorch.ac.cn/torchcodec/stable/generated/torchcodec.decoders.AudioDecoder。由于依赖 Torchcodec,参数normalize
、buffer_size
和backend
会被忽略,仅为向后兼容而接受。要安装 torchcodec,请按照 https://github.com/pytorch/torchcodec#installing-torchcodec 上的说明进行操作。- 参数
uri (类路径对象 或 文件类对象) –
音频数据源。接受以下类型:
类路径
: 文件路径或 URL。文件类
: 具有read(size: int) -> bytes
方法的对象。
frame_offset (int, 可选) – 在开始读取数据之前要跳过的帧数。
num_frames (int, 可选) – 要读取的最大帧数。
-1
表示读取从frame_offset
开始的所有剩余帧。normalize (bool, 可选) – TorchCodec 始终返回归一化的 float32 样本。如果设置为 False,则忽略此参数并发出警告。默认值:
True
。channels_first (bool, 可选) – 如果为 True,则返回的 Tensor 的维度为 [通道, 时间]。否则,返回的 Tensor 的维度为 [时间, 通道]。
format (str 或 None, 可选) – 解码器的格式提示。并非所有 TorchCodec 解码器都支持此选项。(默认值:
None
)buffer_size (int, 可选) – TorchCodec AudioDecoder 不使用。为了 API 兼容性而提供。
backend (str 或 None, 可选) – TorchCodec AudioDecoder 不使用。为了 API 兼容性而提供。
- 返回
返回的 Tensor 和采样率。始终返回 float32 Tensor。如果
channels_first=True
,形状为 [通道, 时间],否则为 [时间, 通道]。- 返回类型
(torch.Tensor, int)
- 引发
ImportError – 如果 torchcodec 不可用。
ValueError – 如果使用了不支持的参数。
RuntimeError – 如果 TorchCodec 无法解码音频。
注意
TorchCodec 始终返回归一化的 float32 样本,因此
normalize
参数没有效果。-
buffer_size
和backend
参数已被忽略。- 并非所有 torchaudio 后端支持的音频格式都可能被 TorchCodec 支持。- 使用
load
的教程