快捷方式

torchaudio.load_with_torchcodec

torchaudio.load_with_torchcodec(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 从源加载音频数据。

注意

此函数支持与 load() 相同的 API,并在底层依赖 TorchCodec 的解码功能。它提供了便利,但我们仍然建议您将代码移植到原生使用 torchcodecAudioDecoder 类以获得更好的性能:https://docs.pytorch.ac.cn/torchcodec/stable/generated/torchcodec.decoders.AudioDecoder。在 Torchaudio 2.9 中,load() 将依赖 load_with_torchcodec()。请注意,load() 的某些参数,如 normalizebuffer_sizebackend,会被 load_with_torchcodec() 忽略。

参数
  • uri (路径类对象文件类对象) –

    音频数据源。接受以下类型:

    • path-like: 文件路径或 URL。

    • file-like: 具有 read(size: int) -> bytes 方法的对象。

  • frame_offset (int, 可选) – 开始读取数据前要跳过的样本数。

  • num_frames (int, 可选) – 要读取的最大样本数。-1 读取从 frame_offset 开始的所有剩余样本。

  • normalize (bool, 可选) – TorchCodec 始终返回归一化的 float32 样本。如果设置为 False,此参数将被忽略并发出警告。默认值:True

  • channels_first (bool, 可选) – 如果为 True,则返回的 Tensor 的维度为 [channel, time]。否则,返回的 Tensor 的维度为 [time, channel]

  • format (strNone, 可选) – 解码器的格式提示。可能并非所有 TorchCodec 解码器都支持此功能。(默认:None

  • buffer_size (int, 可选) – TorchCodec AudioDecoder 不使用。为保持 API 兼容性而提供。

  • backend (strNone, 可选) – TorchCodec AudioDecoder 不使用。为保持 API 兼容性而提供。

返回

结果 Tensor 和采样率。始终返回 float32 Tensor。如果 channels_first=True,形状为 [channel, time],否则为 [time, channel]

返回类型

(torch.Tensor, int)

引发

注意

  • TorchCodec 始终返回归一化的 float32 样本,因此 normalize 参数无效。

  • 已忽略 buffer_sizebackend 参数。

  • 并非所有 torchaudio 后端支持的音频格式都可能被 TorchCodec 支持。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源