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] ¶
从源加载音频数据。
默认情况下 (
normalize=True
,channels_first=True
),此函数返回具有float32
数据类型的张量,形状为 [channel, time]。警告
normalize
参数不执行音量归一化。它只将样本类型从本机样本类型转换为 torch.float32。当输入格式为具有整数类型的 WAV 时,例如 32 位有符号整数、16 位有符号整数、24 位有符号整数和 8 位无符号整数,通过提供
normalize=False
,此函数可以返回整数张量,其中样本在相应数据类型的整个范围内表示,即对于 32 位有符号 PCM,为int32
张量,对于 16 位有符号 PCM,为int16
,对于 8 位无符号 PCM,为uint8
。由于 torch 不支持int24
数据类型,因此 24 位有符号 PCM 会转换为int32
张量。normalize
参数对 32 位浮点 WAV 和其他格式(例如flac
和mp3
)没有影响。对于这些格式,此函数始终返回具有值的
float32
张量。- 参数:
uri (路径类对象 或 文件类对象) – 音频数据的来源。
frame_offset (int, 可选) – 开始读取数据之前要跳过的帧数。
num_frames (int, 可选) – 要读取的最大帧数。
-1
读取所有剩余的样本,从frame_offset
开始。如果给定文件中没有足够的帧,此函数可能会返回更少的帧数。normalize (bool, 可选) –
当
True
时,此函数将本机样本类型转换为float32
。默认值:True
。如果输入文件是整数 WAV,则设置
False
将更改结果张量的类型为整数类型。此参数对除整数 WAV 类型以外的格式无效。channels_first (bool, 可选) – 当为 True 时,返回的张量维度为 [通道, 时间]。否则,返回的张量的维度为 [时间, 通道]。
format (str 或 None, 可选) – 如果不为
None
,则解释为提示,这可能允许后端覆盖检测到的格式。(默认值:None
)buffer_size (int, 可选) – 处理类文件对象时使用的缓冲区大小,以字节为单位。(默认值:
4096
)backend (str 或 None, 可选) –
要使用的 I/O 后端。如果为
None
,则函数根据输入和可用的后端选择后端。否则,必须是以下之一:["ffmpeg"
,"sox"
,"soundfile"
],并且相应的后端可用。(默认值:None
)另请参阅
- 返回值:
- 结果张量和采样率。
如果输入文件具有整数 WAV 格式并且归一化关闭,则它具有整数类型,否则为
float32
类型。如果channels_first=True
,则它具有 [通道, 时间],否则为 [时间, 通道]。
- 返回类型:
(torch.Tensor, int)
- 使用
load
的教程 - StreamWriter 高级用法使用 Wav2Vec2 进行语音识别AudioEffector 用法使用 CUDA CTC 解码器进行 ASR 推理StreamWriter 基本用法
Torchaudio-Squim:TorchAudio 中的非侵入式语音评估
Torchaudio-Squim:TorchAudio 中的非侵入式语音评估使用混合 Demucs 进行音乐源分离音频 I/O使用 MVDR 波束形成进行语音增强CTC 强制对齐 API 教程音频特征提取音频数据增强使用 CTC 解码器进行 ASR 推理多语言数据的强制对齐使用 Wav2Vec2 进行强制对齐