code: def save(
      uri: InputType,
      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[torchaudio.io.CodecConfig, float, int]
      ] = None,
  ) -> None:
      if not isinstance(
          compression, (torchaudio.io.CodecConfig, type(None))
      ):
          raise ValueError(
              "FFmpeg backend expects non-`None` value for argument `compression` to be of ",
              f"type `torchaudio.io.CodecConfig`, but received value of type {type(compression)}",
          )
      save_audio(
          uri,
          src,
          sample_rate,
          channels_first,
          format,
          encoding,
          bits_per_sample,
          buffer_size,
          compression,
      )
  
imports: import os
  import re
  import sys
  from typing import BinaryIO, Optional, Tuple, Union
  import torch
  import torchaudio
  from .backend import Backend
  from .common import AudioMetaData
label_desc: Use image node_id 3 for calling the FFmpegBackend 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