class_docstr: An enhanced diffusion implementation with DiffWave-specific inference
  
  Arguments
  ---------
  model: nn.Module
      the underlying model
  timesteps: int
      the total number of timesteps
  noise: str|nn.Module
      the type of noise being used
      "gaussian" will produce standard Gaussian noise
  beta_start: float
      the value of the "beta" parameter at the beginning of the process
      (see DiffWave paper)
  beta_end: float
      the value of the "beta" parameter at the end of the process
  show_progress: bool
      whether to show progress during inference
  
  Example
  -------
  >>> from speechbrain.lobes.models.DiffWave import DiffWave
  >>> diffwave = DiffWave(
  ...     input_channels=80,
  ...     residual_layers=30,
  ...     residual_channels=64,
  ...     dilation_cycle_length=10,
  ...     total_steps=50,
  ... )
  >>> from speechbrain.lobes.models.DiffWave import DiffWaveDiffusion
  >>> from speechbrain.nnet.diffusion import GaussianNoise
  >>> diffusion = DiffWaveDiffusion(
  ...     model=diffwave,
  ...     beta_start=0.0001,
  ...     beta_end=0.05,
  ...     timesteps=50,
  ...     noise=GaussianNoise,
  ... )
  >>> input_mel = torch.rand(1, 80, 100)
  >>> output = diffusion.inference(
  ...     unconditional=False,
  ...     scale=256,
  ...     condition=input_mel,
  ...     fast_sampling=True,
  ...     fast_sampling_noise_schedule=[0.0001, 0.001, 0.01, 0.05, 0.2, 0.5],
  ... )
  >>> output.shape
  torch.Size([1, 25600])
class_docstr_tok: ["An","enhanced","diffusion","implementation","with","DiffWave-specific","inference","Arguments","--","--","--","--","-","model",":","nn.Module","the","underlying","model","timesteps",":","int","the","total","number","of","timesteps","noise",":","str|nn.Module","the","type","of","noise","being","used","``","gaussian","''","will","produce","standard","Gaussian","noise","beta_start",":","float","the","value","of","the","``","beta","''","parameter","at","the","beginning","of","the","process","(","see","DiffWave","paper",")","beta_end",":","float","the","value","of","the","``","beta","''","parameter","at","the","end","of","the","process","show_progress",":","bool","whether","to","show","progress","during","inference","Example","--","--","--","-",">",">",">","from","speechbrain.lobes.models.DiffWave","import","DiffWave",">",">",">","diffwave","=","DiffWave","(","...","input_channels=80",",","...","residual_layers=30",",","...","residual_channels=64",",","...","dilation_cycle_length=10",",","...","total_steps=50",",","...",")",">",">",">","from","speechbrain.lobes.models.DiffWave","import","DiffWaveDiffusion",">",">",">","from","speechbrain.nnet.diffusion","import","GaussianNoise",">",">",">","diffusion","=","DiffWaveDiffusion","(","...","model=diffwave",",","...","beta_start=0.0001",",","...","beta_end=0.05",",","...","timesteps=50",",","...","noise=GaussianNoise",",","...",")",">",">",">","input_mel","=","torch.rand","(","1",",","80",",","100",")",">",">",">","output","=","diffusion.inference","(","...","unconditional=False",",","...","scale=256",",","...","condition=input_mel",",","...","fast_sampling=True",",","...","fast_sampling_noise_schedule=","[","0.0001",",","0.001",",","0.01",",","0.05",",","0.2",",","0.5","]",",","...",")",">",">",">","output.shape","torch.Size","(","[","1",",","25600","]",")"]
code: def __init__(
      self,
      model,
      timesteps=None,
      noise=None,
      beta_start=None,
      beta_end=None,
      sample_min=None,
      sample_max=None,
      show_progress=False,
  ):
      super().__init__(
          model,
          timesteps,
          noise,
          beta_start,
          beta_end,
          sample_min,
          sample_max,
          show_progress,
      )
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from speechbrain.nnet.CNN import Conv1d
  from speechbrain.nnet import linear
  from speechbrain.nnet.diffusion import DenoisingDiffusion
  from math import sqrt
  from torchaudio import transforms
label_desc: Use image node_id 1 to create a new DiffWaveDiffusion object from inherited base classes: DenoisingDiffusion with example: obj = DiffWaveDiffusion(model, timesteps, noise, beta_start, beta_end, sample_min, sample_max, show_progress)