快捷方式

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

注意

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

参数
  • uristrpathlib.Path)– 音频文件的路径。

  • srctorch.Tensor)– 要保存的音频数据。必须是二维张量。

  • sample_rateint)– 采样率

  • channels_firstbool, 可选)– 如果为 True,则将给定张量解释为 [通道, 时间],否则解释为 [时间, 通道]

  • formatstrNone, 可选)–

    覆盖音频格式。当 uri 参数是类路径对象时,音频格式将从文件扩展名推断。如果文件扩展名缺失或不匹配,则可以使用此参数指定正确的格式。

    uri 参数是文件类对象时,此参数是必需的。

    有效值为 "wav""ogg""flac"

  • encodingstrNone, 可选)–

    更改受支持格式的编码。此参数仅对受支持的格式有效,即 "wav"""flac"`。有效值为

    • "PCM_S"(有符号整数 PCM)

    • "PCM_U"(无符号整数 PCM)

    • "PCM_F"(浮点 PCM)

    • "ULAW"(μ律)

    • "ALAW"(A 律)

  • bits_per_sampleintNone, 可选)– 更改受支持格式的位深度。当 format"wav""flac" 之一时,您可以更改位深度。有效值为 816243264

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

  • backendstrNone, 可选)–

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

    另请参阅

    后端和调度器

  • compressionCodecConfig, 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 的教程
Audio I/O

音频 I/O

音频 I/O

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

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

查看教程

资源

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

查看资源