目录

torchaudio.backend

概述

torchaudio.backend模块为音频文件 I/O 功能提供实现,这些功能是 、 和 。torchaudio.infotorchaudio.loadtorchaudio.load_wavtorchaudio.save

目前有四种实现可用。

在 Windows 上,只有后端(具有两个接口)可用。建议使用新接口,因为旧接口已弃用。"soundfile"

在 Linux/macOS 上,请使用 backend。强烈建议不要使用 backend,因为它无法正确处理 16 位整数 WAV 以外的格式。有关详细信息,请参阅 #726"sox_io""sox"

注意

请不要直接调用 函数,而是使用 、 ,并在适当的后端设置下使用 torchaudio.backendtorchaudio.infotorchaudio.loadtorchaudio.load_wavtorchaudio.save

可用性

"sox"后端需要 C++ 扩展模块,该模块包含在 Linux/macOS 二进制发行版中。这些后端在 Windows 上不可用。"sox_io"

"soundfile"backend 需要 .请参阅 SoundFile 文档进行安装。SoundFile

默认后端和弃用的更改

后端模块正在进行一次重大改革。下表总结了更改和弃用的时间线。

后端

0.7.0

0.8.0

0.9.0

"sox"(已弃用)

Linux/macOS 上的默认值

可用

删除

"sox_io"

可用

Linx/macOS 上的默认值

Linux/macOS 上的默认值

"soundfile"(传统接口、 已弃用)

Windows 上的默认值

可用

删除

"soundfile"(新界面)

可用

Windows 上的默认值

Windows 上的默认值

  • Linux/macOS 的默认后端将在版本中更改为 。"sox""sox_io"0.8.0

  • 后端将在发布中删除。"sox"0.9.0

  • 从 0.8.0 版本开始,backend 将使用新接口,该接口与 backend 相同。旧版接口将在发行版中删除。"soundfile""sox_io"0.9.0

通用数据结构

用于报告音频文件元数据的结构体。

AudioMetaData

sample_rate:int,num_frames:int,num_channels:int[来源]torchaudio.backend.common.AudioMetaData

返回函数的类型。torchaudio.info

这个类由 “sox_io” 后端“soundfile” 后端使用,具有新的接口

变量
  • sample_rateint) – 采样率

  • num_framesint) – 帧数

  • num_channelsint) – 通道数

SignalInfo(已弃用)

[来源]torchaudio.backend.common.SignalInfo

函数的返回类型之一。torchaudio.info

此类由具有传统接口(已弃用)的 “sox” 后端 (已弃用) 和 “soundfile” 后端使用。

查看 https://fossies.org/dox/sox-14.4.2/structsox__signalinfo__t.html

变量
  • channelsOptional[int]) – 通道数

  • rateOptional[float]) – 采样率

  • precisionOptional[int]) – 位深度

  • lengthOptional[int]) – 对于 sox 后端,样本数。 (帧 * 通道)。对于 soundfile backend,帧数。

EncodingInfo(已弃用)

[来源]torchaudio.backend.common.EncodingInfo

函数的返回类型之一。torchaudio.info

此类由具有传统接口(已弃用)的 “sox” 后端 (已弃用) 和 “soundfile” 后端使用。

查看 https://fossies.org/dox/sox-14.4.2/structsox__encodinginfo__t.html

变量
  • encodingOptional[int]) – sox_encoding_t

  • bits_per_sampleOptional[int]) – 位深度

  • compressionOptional[float]) – 压缩选项

  • reverse_bytes任意)–

  • reverse_nibbles任何) –

  • reverse_bits任何) –

  • opposite_endian可选[bool]) –

Sox 后端 (已弃用)

后端在 Linux/macOS 上可用,在 Windows 上不可用。此后端目前是默认后端(如果可用),但已弃用,并将在发布中删除。"sox"0.9.0

您可以通过以下方式从另一个后端切换到后端;sox

torchaudio.set_audio_backend("sox")

信息

torchaudio.backend.sox_backend.info(文件路径:str →元组[torchaudio.backend.common.SignalInfo, torchaudio.backend.common.EncodingInfo] [来源]

从音频文件获取元数据,而不加载信号。

参数

filepath – 音频文件的路径

返回

一个 si (sox_signalinfo_t) 信号

info 作为 Python 对象。ei (sox_encodinginfo_t) 编码信息

返回类型

(sox_signalinfo_t、sox_encodinginfo_t)

>>> si, ei = torchaudio.info('foo.wav')
>>> rate, channels, encoding = si.rate, si.channels, ei.encoding

负荷

torchaudio.backend.sox_backend.load(文件路径: strout: 可选[torch.张量] = 无归一化:bool = True,channels_first:bool = True,num_frames:int = 0偏移量:int = 0,signalinfo:torchaudio.backend.common.SignalInfo = 无编码信息:torchaudio.backend.common.EncodingInfo = 无文件类型:可选[str] = 无→ Tuple[torch.Tensor, int][来源]

将音频文件从磁盘加载到张量中

参数
  • filepath – 音频文件的路径

  • out – 要使用的可选输出张量,而不是创建一个。(默认:None)

  • normalization (规范化) – 可选规范化。 如果布尔值为 True,则输出除以 1 << 31。 假设输入是有符号的 32 位音频,则标准化为 [-1, 1]。 如果为 float,则 output 除以该数字。 如果 Callable,则输出将作为参数传递给给定的函数 然后,输出除以结果。(默认:True)

  • channels_first – 在结果中首先设置通道或首先设置长度。(默认:True)

  • num_frames – 要加载的帧数。0 加载偏移量之后的所有内容。 (默认:0)

  • offset – 从文件开头开始数据加载的帧数。 (默认:0)

  • signalinfo – sox_signalinfo_t类型,如果 无法自动确定音频类型。(默认:None)

  • encodinginfo – sox_encodinginfo_t类型,如果 无法自动确定音频类型。(默认:None)

  • filetype – 如果 sox 无法确定,则要设置的文件类型或扩展名 自然而然。(默认:None)

返回

大小为 [C x L][L x C] 的输出张量,其中

L 是音频帧数, C 是通道数。 一个整数,即音频的采样率(如文件的元数据中所列)

返回类型

(张量、int)

>>> data, sample_rate = torchaudio.load('foo.mp3')
>>> print(data.size())
torch.Size([2, 278756])
>>> print(sample_rate)
44100
>>> data_vol_normalized, _ = torchaudio.load('foo.mp3', normalization=lambda x: torch.abs(x).max())
>>> print(data_vol_normalized.abs().max())
1.
torchaudio.backend.sox_backend.load_wav(filepath**kwargs[来源]

加载波形文件。

它假设 wav 文件每个样本使用 16 位,需要通过以下方式进行规范化 将 input 右移 16 位。

参数

filepath – 音频文件的路径

返回

大小为 [C x L][L x C] 的输出张量,其中 L 是数字

音频帧数,C 是声道数。一个整数,它是 音频(如文件的元数据中所列)

返回类型

(张量、int)

torchaudio.backend.sox_backend.save(文件路径:str,src:torch。张量sample_rate:int精度:int = 16,channels_first:bool = True→无[来源]

将 Tensor on file 保存为音频文件

参数
  • filepath – 音频文件的路径

  • src – 形状为 [C x L][L x C] 的输入 2D 张量,其中 L 为 音频帧数,C 是声道数

  • sample_rate – 一个整数,它是 音频(如文件的元数据中所列)

  • 位精度 (默认precision) –16)

  • channels_firstbooloptional) – 在结果中首先设置通道或首先设置长度。( 违约:True)

别人

torchaudio.backend.sox_backend.get_sox_bool(i: int = 0) → Any[来源]

获取 sox_bool 的 sox encodinginfo 选项的枚举。

参数

iint可选) – 选择类型或获取包含所有可能选项的字典 用于在未指定时查看所有选项。(默认值:或__members__sox_false0)

返回

A sox_bool型

返回类型

sox_bool

torchaudio.backend.sox_backend.get_sox_encoding_t(i: int = None → torchaudio.backend.common.EncodingInfo[来源]

获取 sox_encoding_t 的 sox 编码的枚举。

参数

iint可选) – 选择类型或获取包含所有可能选项的字典 用于在未指定时查看所有选项。(默认:__members__None)

返回

用于输出编码的 sox_encoding_t 类型

返回类型

sox_encoding_t

torchaudio.backend.sox_backend.get_sox_option_t(i: int = 2) → Any[来源]

获取 sox encodinginfo 选项的 sox_option_t 的枚举。

参数

iint可选) – 选择类型或获取包含所有可能选项的字典 用于在未指定时查看所有选项。 (默认值:或__members__sox_option_default2)

返回

A sox_option_t型

返回类型

sox_option_t

torchaudio.backend.sox_backend.save_encinfo(文件路径:str,src:torch。张量channels_first:bool = True,signalinfo:可选[torchaudio.backend.common.SignalInfo] = None,encodinginfo:可选[torchaudio.backend.common.EncodingInfo] = None文件类型:Optional[str] = None→无[源]

将音频信号的张量作为标准格式(如 mp3、wav 等)保存到磁盘。

参数
  • filepathstr) – 音频文件的路径

  • srcTensor) - 形状为 [C x L][L x C] 的输入 2D 张量,其中 L 为 音频帧数,C 是声道数

  • channels_firstbooloptional) – 在结果中首先设置通道或首先设置长度。(默认:True)

  • signalinfosox_signalinfo_t可选) – sox_signalinfo_t类型,如果 无法自动确定音频类型(默认值:)。None

  • encodinginfosox_encodinginfo_t可选) – sox_encodinginfo_t类型,如果 无法自动确定音频类型(默认值:)。None

  • filetypestroptional) – 如果 sox 无法确定,则要设置的文件类型或扩展名 自然而然。(默认:None)

>>> data, sample_rate = torchaudio.load('foo.mp3')
>>> torchaudio.save('foo.wav', data, sample_rate)
torchaudio.backend.sox_backend.sox_encodinginfo_t()→ torchaudio.backend.common.EncodingInfo[来源]

创建 sox_encodinginfo_t 对象。此对象可用于设置编码 类型、位精度、压缩因子、反向字节、反向半字节、 反向位和字节序。这可以在效果链中用于对 final output 或保存具有特定编码的文件。例如,可以 使用 SOX ULAW 编码进行 8 位 ULAW 编码。张量输出中的注释 结果将是一个 32 位数字,但唯一值的数量将由 位精度。

返回: sox_encodinginfo_t(object)
  • 编码 (sox_encoding_t)、输出编码

  • bits_per_sample (int),位精度,与 sox_signalinfo_t 中的精度相同

  • compression (float),有损格式的压缩,0.0 默认压缩

  • reverse_bytes (sox_option_t),反向字节,使用 sox_option_default

  • reverse_nibbles (sox_option_t), 反向啃食, 使用 sox_option_default

  • reverse_bits (sox_option_t),反向字节,使用 sox_option_default

  • opposite_endian (sox_bool)、更改字节序、使用 sox_false

>>> ei = torchaudio.sox_encodinginfo_t()
>>> ei.encoding = torchaudio.get_sox_encoding_t(1)
>>> ei.bits_per_sample = 16
>>> ei.compression = 0
>>> ei.reverse_bytes = torchaudio.get_sox_option_t(2)
>>> ei.reverse_nibbles = torchaudio.get_sox_option_t(2)
>>> ei.reverse_bits = torchaudio.get_sox_option_t(2)
>>> ei.opposite_endian = torchaudio.get_sox_bool(0)
torchaudio.backend.sox_backend.sox_signalinfo_t()→ torchaudio.backend.common.SignalInfo[来源]

创建 sox_signalinfo_t 对象。此对象可用于设置样本 速率、通道数、长度、位精度和余量乘数 主要用于效果

返回: sox_signalinfo_t(object)
  • rate (float),采样率作为浮点数,实际上很可能是整数浮点数

  • channel (int), 音频通道数

  • 精度 (int)、位精度

  • length (int),样本中的音频长度 * 通道,0 表示未指定,-1 表示未知

  • mult (float, optional), 用于效果和无乘数的 headroom multiplierNone

>>> si = torchaudio.sox_signalinfo_t()
>>> si.channels = 1
>>> si.rate = 16000.
>>> si.precision = 16
>>> si.length = 0

Sox IO 后端

后端在 Linux/macOS 上可用,在 Windows 上不可用。此后端优于后端,并且将成为版本中的默认值。"sox_io""sox"0.8.0

该后端的 I/O 功能支持 TorchScript

您可以通过以下方式从另一个后端切换到后端;sox_io

torchaudio.set_audio_backend("sox_io")

信息

torchaudio.backend.sox_io_backend.info(文件路径:str → torchaudio.backend.common.AudioMetaData[来源]

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

参数

filepathstrpathlib.Path) – 音频文件的路径。此函数还处理对象、 但被注释为 TorchScript 兼容性。pathlib.Pathstr

返回

给定音频的元数据。

返回类型

AudioMetaData

负荷

torchaudio.backend.sox_io_backend.load(文件路径:strframe_offset:int = 0num_frames:int = -1normalize:bool = Truechannels_first:bool = True→ Tuple[torch.Tensor, int][来源]

从文件加载音频数据。

注意

此函数可以处理底层 libsox 可以处理的所有编解码器, 但是,它已在以下格式上进行了测试;

  • WAV

    • 32 位浮点

    • 32 位有符号整数

    • 16 位有符号整数

    • 8 位无符号整数

  • MP3 的

  • FLAC的

  • OGG/VORBIS

  • 作品

加载 、 、 和其他编解码器不会 handle 时,您的安装必须链接到相应的编解码器库,例如 OR 等。MP3FLACOGG/VORBISOPUSlibsoxtorchaudiolibsoxlibmadlibmp3lame

默认情况下 (, ),此函数返回 dtype 和 shape 为 的 Tensor。 样本被归一化以适应 的范围。normalize=Truechannels_first=Truefloat32[channel, time][-1.0, 1.0]

当输入格式为整数类型的 WAV 时,例如 32 位有符号整数、16 位 有符号整数和 8 位无符号整数(不支持 24 位有符号整数), 通过提供 ,该函数可以返回整数 Tensor,其中样本 在相应 dtype 的整个范围内表示,即 Tensor 对于 32 位有符号 PCM、16 位有符号 PCM 和 8 位无符号 PCM。normalize=Falseint32int16uint8

normalize参数对 32 位浮点 WAV 和其他格式(如 和 )没有影响。 对于这些格式,此函数始终返回 Tensor,其值归一化为 。flacmp3float32[-1.0, 1.0]

参数
  • filepathstrpathlib.Path) – 音频文件的路径。此函数也处理对象,但 注解为 TorchScript 编译器兼容性。pathlib.Pathstr

  • frame_offsetint) – 开始读取数据之前要跳过的帧数。

  • num_framesint) – 要读取的最大帧数。 读取所有剩余样本, 从 . 如果没有足够的帧数,此函数可能会返回较少的帧数 帧。-1frame_offset

  • normalizebool) - 当 时,此函数始终返回 ,样本值为 标准化为 . 如果 input file 是整数 WAV,则 give 会将生成的 Tensor 类型更改为 integer 类型。 此参数对整数 WAV 类型以外的格式没有影响。Truefloat32[-1.0, 1.0]False

  • channels_firstbool) – 当为 True 时,返回的 Tensor 具有维度 。 否则,返回的 Tensor 的维度为 。[channel, time][time, channel]

返回

如果输入文件具有整数 wav 格式且标准化处于关闭状态,则它具有 integer 类型,else 类型。如果 ,则它有 else 。float32channels_first=True[channel, time][time, channel]

返回类型

torch.Tensor

torchaudio.backend.sox_io_backend.load_wav(文件路径:strframe_offset:int = 0num_frames:int = -1channels_first:bool = True→ Tuple[torch.Tensor, int][来源]

加载波形文件。

定义此函数只是为了与其他后端兼容 对于简单的使用案例,例如 . 实现方式与 相同。torchaudio.load_wav(filepath)

torchaudio.backend.sox_io_backend.save(文件路径:str,src:torch。张量sample_rate:int,channels_first:bool = True压缩:可选[float] = None[来源]

将音频数据保存到文件。

注意

支持的格式是;

  • WAV

    • 32 位浮点

    • 32 位有符号整数

    • 16 位有符号整数

    • 8 位无符号整数

  • MP3 的

  • FLAC的

  • OGG/VORBIS

保存 、 、 和其他编解码器不会 handle 时,您的安装必须链接到相应的编解码器库,例如 OR 等。MP3FLACOGG/VORBISlibsoxtorchaudiolibsoxlibmadlibmp3lame

参数
  • filepathstrpathlib.Path) – 保存文件的路径。此函数也处理对象,但带有 Comments 至于 TorchScript 编译器兼容性。pathlib.Pathstr

  • 张量Torch.Tensor) – 要保存的音频数据。必须是 2D 张量。

  • sample_rateint) – 采样率

  • channels_firstbool) – 如果 ,则给定的张量被解释为 , 否则。True[channel, time][time, channel]

  • compression可选[float]) –

    用于 WAV 以外的格式。这对应于 command 的 option。-Csox

    • MP3:具有品质因数的比特率 (in),例如 ,或kbps128.2
      具有品质因数的 VBR 编码,例如 .违约:。-4.2-4.5
    • FLAC:压缩级别。整数 from to 。08
      8是默认且最高的压缩率。
    • OGG/VORBIS: 数字 from to ; 是最高的压缩率-110-1
      和最低质量。违约:。3

    有关详细信息,请参阅 http://sox.sourceforge.net/soxformat.html

Soundfile 后端

安装 SoundFile 后,后端可用。此后端是 Windows 上的默认值。"soundfile"

后端有两个接口:legacy 和 new。"soundfile"

  • 在此版本中,切换到后端时默认使用旧接口。0.7.0"soundfile"

  • 在此版本中,新界面将成为默认界面。0.8.0

  • 在此版本中,将删除旧接口。0.9.0

要更改接口,请在切换后端之前设置 flag。torchaudio.USE_SOUNDFILE_LEGACY_INTERFACE

torchaudio.USE_SOUNDFILE_LEGACY_INTERFACE = True
torchaudio.set_audio_backend("soundfile")  # The legacy interface

torchaudio.USE_SOUNDFILE_LEGACY_INTERFACE = False
torchaudio.set_audio_backend("soundfile")  # The new interface

旧版接口(已弃用)

"soundfile"backend with legacy interface 目前是 Windows 上的默认设置,但此接口已弃用,并将在发行版中删除。0.9.0

要切换到此后端/接口,请在切换后端之前设置 flag。torchaudio.USE_SOUNDFILE_LEGACY_INTERFACE

torchaudio.USE_SOUNDFILE_LEGACY_INTERFACE = True
torchaudio.set_audio_backend("soundfile")  # The legacy interface

信息

torchaudio.backend.soundfile_backend.info(文件路径:str →元组[torchaudio.backend.common.SignalInfo, torchaudio.backend.common.EncodingInfo] [来源]

从音频文件获取元数据,而不加载信号。

参数

filepath – 音频文件的路径

返回

一个 si (sox_signalinfo_t) 信号

info 作为 Python 对象。ei (sox_encodinginfo_t) 编码信息

返回类型

(sox_signalinfo_t、sox_encodinginfo_t)

>>> si, ei = torchaudio.info('foo.wav')
>>> rate, channels, encoding = si.rate, si.channels, ei.encoding

负荷

torchaudio.backend.soundfile_backend.load(文件路径: strout: 可选[torch.张量] = 无归一化:可选[bool] = True,channels_first:可选[bool] = True,num_frames:int = 0偏移量:int = 0,signalinfo:torchaudio.backend.common.SignalInfo = 无编码信息:torchaudio.backend.common.EncodingInfo = 无文件类型:可选[str] = None → Tuple[torch.Tensor, int][来源]

将音频文件从磁盘加载到张量中

参数
  • filepath – 音频文件的路径

  • out – 要使用的可选输出张量,而不是创建一个。(默认:None)

  • normalization (规范化) – 可选规范化。 如果布尔值为 True,则输出除以 1 << 31。 假设输入是有符号的 32 位音频,则标准化为 [-1, 1]。 如果为 float,则 output 除以该数字。 如果 Callable,则输出将作为参数传递给给定的函数 然后,输出除以结果。(默认:True)

  • channels_first – 在结果中首先设置通道或首先设置长度。(默认:True)

  • num_frames – 要加载的帧数。0 加载偏移量之后的所有内容。 (默认:0)

  • offset – 从文件开头开始数据加载的帧数。 (默认:0)

  • signalinfo – sox_signalinfo_t类型,如果 无法自动确定音频类型。(默认:None)

  • encodinginfo – sox_encodinginfo_t类型,如果 无法自动确定音频类型。(默认:None)

  • filetype – 如果 sox 无法确定,则要设置的文件类型或扩展名 自然而然。(默认:None)

返回

大小为 [C x L][L x C] 的输出张量,其中

L 是音频帧数, C 是通道数。 一个整数,即音频的采样率(如文件的元数据中所列)

返回类型

(张量、int)

>>> data, sample_rate = torchaudio.load('foo.mp3')
>>> print(data.size())
torch.Size([2, 278756])
>>> print(sample_rate)
44100
>>> data_vol_normalized, _ = torchaudio.load('foo.mp3', normalization=lambda x: torch.abs(x).max())
>>> print(data_vol_normalized.abs().max())
1.
torchaudio.backend.soundfile_backend.load_wav(filepath**kwargs[来源]

加载波形文件。

它假设 wav 文件每个样本使用 16 位,需要通过以下方式进行规范化 将 input 右移 16 位。

参数

filepath – 音频文件的路径

返回

大小为 [C x L][L x C] 的输出张量,其中 L 是数字

音频帧数,C 是声道数。一个整数,它是 音频(如文件的元数据中所列)

返回类型

(张量、int)

torchaudio.backend.soundfile_backend.save(文件路径:str,src:torch。张量sample_rate:int精度:int = 16,channels_first:bool = True→无[来源]

将 Tensor on file 保存为音频文件

参数
  • filepath – 音频文件的路径

  • src – 形状为 [C x L][L x C] 的输入 2D 张量,其中 L 为 音频帧数,C 是声道数

  • sample_rate – 一个整数,它是 音频(如文件的元数据中所列)

  • 位精度 (默认precision) –16)

  • channels_firstbooloptional) – 在结果中首先设置通道或首先设置长度。( 违约:True)

新界面

具有新接口的后端将成为版本中的默认值。"soundfile"0.8.0

要切换到此后端/接口,请在切换后端之前设置 flag。torchaudio.USE_SOUNDFILE_LEGACY_INTERFACE

torchaudio.USE_SOUNDFILE_LEGACY_INTERFACE = False
torchaudio.set_audio_backend("soundfile")  # The new interface

信息

torchaudio.backend._soundfile_backend.info(文件路径:str → torchaudio.backend.common.AudioMetaData[来源]

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

参数

filepathstrpathlib.Path) – 音频文件的路径。 此函数还处理对象,但为了与 “sox_io” 后端保持一致,对类型注释有限制 用于 TorchScript 编译器兼容性。pathlib.Pathstr

返回

给定音频的元数据。

返回类型

AudioMetaData

负荷

torchaudio.backend._soundfile_backend.load(文件路径:strframe_offset:int = 0num_frames:int = -1normalize:bool = Truechannels_first:bool = True→ Tuple[torch.Tensor, int][来源]

从文件加载音频数据。

注意

此函数可以处理的格式取决于 soundfile 安装。 此函数在以下格式上进行了测试;

  • WAV

    • 32 位浮点

    • 32 位有符号整数

    • 16 位有符号整数

    • 8 位无符号整数

  • FLAC的

  • OGG/VORBIS

默认情况下 (, ),此函数返回 dtype 和 shape 为 的 Tensor。 样本被归一化以适应 的范围。normalize=Truechannels_first=Truefloat32[channel, time][-1.0, 1.0]

当输入格式为整数类型的 WAV 时,例如 32 位有符号整数、16 位 有符号整数和 8 位无符号整数(不支持 24 位有符号整数), 通过提供 ,该函数可以返回整数 Tensor,其中样本 在相应 dtype 的整个范围内表示,即 Tensor 对于 32 位有符号 PCM、16 位有符号 PCM 和 8 位无符号 PCM。normalize=Falseint32int16uint8

normalize参数对 32 位浮点 WAV 和其他格式(如 和 )没有影响。 对于这些格式,此函数始终返回 Tensor,其值归一化为 。flacmp3float32[-1.0, 1.0]

参数
  • filepathstrpathlib.Path) – 音频文件的路径。 此函数还处理对象,但为了与 “sox_io” 后端保持一致,对类型注释有限制 用于 TorchScript 编译器兼容性。pathlib.Pathstr

  • frame_offsetint) – 开始读取数据之前要跳过的帧数。

  • num_framesint) – 要读取的最大帧数。 读取所有剩余样本, 从 . 如果没有足够的帧数,此函数可能会返回较少的帧数 帧。-1frame_offset

  • normalizebool) - 当 时,此函数始终返回 ,样本值为 标准化为 . 如果 input file 是整数 WAV,则 give 会将生成的 Tensor 类型更改为 integer 类型。 此参数对整数 WAV 类型以外的格式没有影响。Truefloat32[-1.0, 1.0]False

  • channels_firstbool) – 当为 True 时,返回的 Tensor 具有维度 。 否则,返回的 Tensor 的维度为 。[channel, time][time, channel]

返回

如果输入文件具有整数 wav 格式且标准化处于关闭状态,则它具有 integer 类型,else 类型。如果 ,则它有 else 。float32channels_first=True[channel, time][time, channel]

返回类型

torch.Tensor

torchaudio.backend._soundfile_backend.load_wav(文件路径:strframe_offset:int = 0num_frames:int = -1channels_first:bool = True→ Tuple[torch.Tensor, int][来源]

加载波形文件。

定义此函数只是为了与其他后端兼容 对于简单的使用案例,例如 . 实现方式与 相同。torchaudio.load_wav(filepath)

torchaudio.backend._soundfile_backend.save(文件路径:str,src:torch。张量sample_rate:int,channels_first:bool = True压缩:可选[float] = None[来源]

将音频数据保存到文件。

注意

此函数可以处理的格式取决于 soundfile 安装。 此函数在以下格式上进行了测试;

  • WAV

    • 32 位浮点

    • 32 位有符号整数

    • 16 位有符号整数

    • 8 位无符号整数

  • FLAC的

  • OGG/VORBIS

参数
  • filepathstrpathlib.Path) – 音频文件的路径。 此函数还处理对象,但为了与 “sox_io” 后端保持一致,对类型注释有限制 用于 TorchScript 编译器兼容性。pathlib.Pathstr

  • 张量Torch.Tensor) – 要保存的音频数据。必须是 2D 张量。

  • sample_rateint) – 采样率

  • channels_firstbool) – 如果 ,则给定的张量被解释为 , 否则。True[channel, time][time, channel]

  • compressionOptional[float]) – 未使用。它仅用于与 “sox_io” 后端的接口兼容性。

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源