• 文档 >
  • torchaudio >
  • 旧版本(稳定版)
快捷方式

torchaudio

I/O

torchaudio 顶级模块提供以下函数,方便处理音频数据。

info

获取音频文件的信号信息。

load

从源加载音频数据。

save

将音频数据保存到文件。

list_audio_backends

列出可用的后端

后端和调度器

媒体的解码和编码是一个非常复杂的流程。因此,TorchAudio 依赖于第三方库来执行这些操作。这些第三方库称为 backend,目前 TorchAudio 集成了以下库。

请参考 安装 以了解如何启用后端。

传统上,TorchAudio 在运行时根据可用性全局设置其 I/O 后端。但是,这种方法不允许应用程序使用不同的后端,并且不适合大型代码库。

出于这些原因,在 v2.0 中,我们引入了调度器,这是一种新的机制,允许用户为每个函数调用选择一个后端。

启用调度器模式后,所有 I/O 函数都接受额外的关键字参数 backend,该参数指定所需的后端。如果指定的后端不可用,则函数调用将失败。

如果没有显式选择后端,则函数将根据优先级顺序和库可用性选择要使用的后端。

下表总结了后端。

优先级

后端

支持的操作系统

说明

1

FFmpeg

Linux、macOS、Windows

使用 get_audio_decoders()get_audio_encoders() 来检索支持的编解码器。

此后端支持各种协议,例如 HTTPS 和 MP4,以及类文件对象。

2

SoX

Linux、macOS

使用 list_read_formats()list_write_formats() 来检索支持的编解码器。

此后端不支持类文件对象。

3

SoundFile

Linux、macOS、Windows

请参考 官方文档 以了解支持的编解码器。

此后端支持类文件对象。

调度器迁移

我们正在迁移 I/O 函数以使用调度器机制,这会带来多项更改,其中一些涉及破坏向后兼容性的更改,并且需要用户更改其函数调用。

计划中的更改如下。有关最新信息,请参考 https://github.com/pytorch/audio/issues/2950

  • 在 2.0 中,引入了音频 I/O 后端调度器。用户可以通过设置环境变量 TORCHAUDIO_USE_BACKEND_DISPATCHER=1 来选择使用调度器。

  • 在 2.1 中,调度器成为 I/O 的默认机制。

  • 在 2.2 中,移除了旧的全局后端机制。实用程序函数 get_audio_backend()set_audio_backend() 成为无操作函数。

此外,我们从 libsox 后端删除了类文件对象支持,因为 FFmpeg 后端更好地支持了这一点,并且使构建过程更简单。因此,从 2.1 开始,FFmpeg 和 Soundfile 是唯一支持类文件对象的两个后端。

文档

获取 PyTorch 的全面开发者文档

查看文档

教程

获取适合初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题的解答

查看资源