class_docstr: Example audio process pipeline.
  
  This example load waveform from a file then apply effects and save it to a file.
code: def forward(self, input_path: str, output_path: str):
      torchaudio.sox_effects.init_sox_effects()
  
      # 1. load audio
      waveform, sample_rate = torchaudio.load(input_path)
  
      # 2. Add background noise
      alpha = 0.01
      waveform = (
          alpha * torch.randn_like(waveform) + (1 - alpha) * waveform
      )
  
      # 3. Reample the RIR filter to much the audio sample rate
      rir, _ = torchaudio.sox_effects.apply_effects_tensor(
          self.rir,
          self.rir_sample_rate,
          effects=[["rate", str(sample_rate)]],
      )
      rir = rir / torch.linalg.vector_norm(rir, ord=2)
      rir = torch.flip(rir, [1])
  
      # 4. Apply RIR filter
      waveform = torch.nn.functional.pad(
          waveform, (rir.shape[1] - 1, 0)
      )
      waveform = torch.nn.functional.conv1d(
          waveform[None, ...], rir[None, ...]
      )[0]
  
      # Save
      torchaudio.save(output_path, waveform, sample_rate)
  
file_path: audio/examples/libtorchaudio/augmentation/create_jittable_pipeline.py
imports: import argparse
  import os
  import torch
  import torchaudio
label_desc: Use image node_id 2 for calling the Pipeline obj's underlying member method code with example usage: obj.forward(input_path, output_path) without return types