快捷方式

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]

从源加载音频数据。

警告

在 2.9 版本中,此函数的实现将改为在后台使用 load_with_torchcodec()。一些参数,如 normalizeformatbuffer_sizebackend 将被忽略。我们建议您将代码迁移到直接依赖 TorchCodec 的解码器:https://docs.pytorch.ac.cn/torchcodec/stable/generated/torchcodec.decoders.AudioDecoder.html#torchcodec.decoders.AudioDecoder

默认情况下(normalize=Truechannels_first=True),此函数返回 float32 类型的 Tensor,形状为 [channel, time]

注意

此函数可以处理的格式取决于后端。请使用以下函数获取支持的格式。

警告

normalize 参数不执行音量归一化。它仅将采样类型从原生采样类型转换为 torch.float32

当输入格式为具有整数类型的 WAV(例如 32 位有符号整数、16 位有符号整数、24 位有符号整数和 8 位无符号整数)时,通过提供 normalize=False,此函数可以返回整数 Tensor,其中采样表示在相应数据类型的整个范围内,即 32 位有符号 PCM 返回 int32 Tensor,16 位有符号 PCM 返回 int16 Tensor,8 位无符号 PCM 返回 uint8 Tensor。由于 torch 不支持 int24 数据类型,24 位有符号 PCM 将被转换为 int32 Tensor。

normalize 参数对 32 位浮点 WAV 和其他格式(如 flacmp3)没有影响。

对于这些格式,此函数始终返回带有值的 float32 Tensor。

参数
  • uri (类路径对象类文件对象) – 音频数据源。

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

  • num_frames (int, 可选) – 要读取的最大帧数。-1 表示读取从 frame_offset 开始的所有剩余样本。如果给定文件中没有足够的帧,此函数可能会返回比指定数量少的帧数。

  • normalize (bool, 可选) –

    如果为 True,此函数会将原生采样类型转换为 float32。默认为 True

    如果输入文件是整数 WAV,提供 False 将会把结果 Tensor 类型更改为整数类型。此参数对非整数 WAV 类型以外的格式无效。

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

  • format (strNone, 可选) – 如果不为 None,则被解释为一种提示,可能允许后端覆盖检测到的格式。(默认:None

  • buffer_size (int, 可选) – 处理类文件对象时使用的缓冲区大小(以字节为单位)。(默认:4096

  • backend (strNone, 可选) –

    要使用的 I/O 后端。如果为 None,则函数根据输入和可用后端选择后端。否则,必须是 ["ffmpeg""sox""soundfile"] 中的一个,并且相应的后端必须可用。(默认:None

    另请参阅

    后端和调度器

返回

结果 Tensor 和采样率。

如果输入文件是整数 WAV 格式且归一化关闭,则其类型为整数;否则为 float32 类型。如果 channels_first=True,则维度为 [channel, time],否则为 [time, channel]

返回类型

(torch.Tensor, int)

使用 load 的教程
StreamWriter Advanced Usage

StreamWriter 高级用法

StreamWriter 高级用法
Speech Recognition with Wav2Vec2

使用 Wav2Vec2 进行语音识别

使用 Wav2Vec2 进行语音识别
AudioEffector Usages

AudioEffector 用法

AudioEffector 用法
ASR Inference with CUDA CTC Decoder

使用 CUDA CTC 解码器进行 ASR 推理

使用 CUDA CTC 解码器进行 ASR 推理
StreamWriter Basic Usage

StreamWriter 基本用法

StreamWriter 基本用法
Torchaudio-Squim: Non-intrusive Speech Assessment in TorchAudio

Torchaudio-Squim:TorchAudio 中的非侵入式语音评估

Torchaudio-Squim:TorchAudio 中的非侵入式语音评估
Music Source Separation with Hybrid Demucs

使用 Hybrid Demucs 进行音乐源分离

使用 Hybrid Demucs 进行音乐源分离
Audio I/O

音频 I/O

音频 I/O
Speech Enhancement with MVDR Beamforming

使用 MVDR 波束成形进行语音增强

使用 MVDR 波束成形进行语音增强
CTC forced alignment API tutorial

CTC 强制对齐 API 教程

CTC 强制对齐 API 教程
Audio Feature Extractions

音频特征提取

音频特征提取
Audio Data Augmentation

音频数据增强

音频数据增强
ASR Inference with CTC Decoder

使用 CTC 解码器进行 ASR 推理

使用 CTC 解码器进行 ASR 推理
Forced alignment for multilingual data

多语言数据的强制对齐

多语言数据的强制对齐
Forced Alignment with Wav2Vec2

使用 Wav2Vec2 进行强制对齐

使用 Wav2Vec2 进行强制对齐

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源