torchaudio.save¶
- torchaudio.save(uri: Union[BinaryIO, str, PathLike], src: Tensor, sample_rate: int, channels_first: bool = True, format: Optional[str] = None, encoding: Optional[str] = None, bits_per_sample: Optional[int] = None, buffer_size: int = 4096, backend: Optional[str] = None, compression: Optional[Union[CodecConfig, float, int]] = None)¶
将音频数据保存到文件。
警告
在 2.9 版本中,此函数的实现将更改为在后台使用
save_with_torchcodec()
。某些参数,如 format、encoding、bits_per_sample、buffer_size 和backend
将被忽略。我们建议您将代码移植到直接依赖 TorchCodec 的解码器:https://docs.pytorch.ac.cn/torchcodec/stable/generated/torchcodec.encoders.AudioEncoder- 参数
uri(str 或 pathlib.Path)– 音频文件的路径。
src(torch.Tensor)– 要保存的音频数据。必须是二维张量。
sample_rate(int)– 采样率
channels_first(bool, 可选)– 如果为
True
,则将给定张量解释为 [通道, 时间],否则解释为 [时间, 通道]。format(str 或 None, 可选)–
覆盖音频格式。当
uri
参数是类路径对象时,音频格式将从文件扩展名推断。如果文件扩展名缺失或不匹配,则可以使用此参数指定正确的格式。当
uri
参数是文件类对象时,此参数是必需的。有效值为
"wav"
、"ogg"
和"flac"
。encoding(str 或 None, 可选)–
更改受支持格式的编码。此参数仅对受支持的格式有效,即
"wav"
和""flac"`
。有效值为"PCM_S"
(有符号整数 PCM)"PCM_U"
(无符号整数 PCM)"PCM_F"
(浮点 PCM)"ULAW"
(μ律)"ALAW"
(A 律)
bits_per_sample(int 或 None, 可选)– 更改受支持格式的位深度。当
format
是"wav"
和"flac"
之一时,您可以更改位深度。有效值为8
、16
、24
、32
和64
。buffer_size(int, 可选)– 处理文件类对象时使用的缓冲区大小(以字节为单位)。(默认值:
4096
)backend(str 或 None, 可选)–
使用的 I/O 后端。如果为
None
,则函数根据输入和可用后端选择后端。否则,必须是 ["ffmpeg"
、"sox"
、"soundfile"
] 之一,且对应的后端可用。(默认值:None
)另请参阅
compression(CodecConfig, float, int, 或 None, 可选)–
要应用的压缩配置。
如果选择的后端是 FFmpeg,则必须提供
CodecConfig
的实例。否则,如果选择的后端是 SoX,则必须提供对应于
sox
命令行接口的-C
选项的 float 或 int 值。例如"mp3"
比特率(以
kbps
为单位)和质量因子,例如128.2
,或者具有质量因子的 VBR 编码,例如-4.2
。默认值:-4.5
。"flac"
0 到 8 的整数。默认值为 8,压缩率最高。
"ogg"
、"vorbis"
介于 -1 和 10 之间的数字;-1 是最高压缩和最低质量。默认值:3。
有关更多详细信息,请参阅 http://sox.sourceforge.net/soxformat.html。
- 使用
save
的教程