code: def save(
      uri: Union[BinaryIO, str, os.PathLike],
      src: torch.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,
      compression: Optional[Union[CodecConfig, float, int]] = None,
  ) -> None:
      if compression:
          raise ValueError(
              "soundfile backend does not support argument `compression`."
          )
  
      soundfile_backend.save(
          uri,
          src,
          sample_rate,
          channels_first,
          format=format,
          encoding=encoding,
          bits_per_sample=bits_per_sample,
      )
  
file_path: audio/src/torchaudio/_backend/soundfile.py
imports: import os
  from typing import BinaryIO, Optional, Tuple, Union
  import torch
  from torchaudio.io import CodecConfig
  from .None import soundfile_backend
  from .backend import Backend
  from .common import AudioMetaData
label_desc: Use image node_id 3 for calling the SoundfileBackend obj's underlying member method code with example usage: obj.save(uri, src, sample_rate, channels_first, format, encoding, bits_per_sample, buffer_size, compression) without return types