class_docstr: This class drops portions of the input signal.
  
  Using `DropChunk` as an augmentation strategy helps a models learn to rely
  on all parts of the signal, since it can't expect a given part to be
  present.
  
  Arguments
  ---------
  drop_length_low : int
      The low end of lengths for which to set the
      signal to zero, in samples.
  drop_length_high : int
      The high end of lengths for which to set the
      signal to zero, in samples.
  drop_count_low : int
      The low end of number of times that the signal
      can be dropped to zero.
  drop_count_high : int
      The high end of number of times that the signal
      can be dropped to zero.
  drop_start : int
      The first index for which dropping will be allowed.
  drop_end : int
      The last index for which dropping will be allowed.
  noise_factor : float
      The factor relative to average amplitude of an utterance
      to use for scaling the white noise inserted. 1 keeps
      the average amplitude the same, while 0 inserts all 0's.
  
  Example
  -------
  >>> from speechbrain.dataio.dataio import read_audio
  >>> dropper = DropChunk(drop_start=100, drop_end=200, noise_factor=0.)
  >>> signal = read_audio('tests/samples/single-mic/example1.wav')
  >>> signal = signal.unsqueeze(0) # [batch, time, channels]
  >>> length = torch.ones(1)
  >>> dropped_signal = dropper(signal, length)
  >>> float(dropped_signal[:, 150])
  0.0
class_docstr_tok: ["This","class","drops","portions","of","the","input","signal",".","Using","`","DropChunk","`","as","an","augmentation","strategy","helps","a","models","learn","to","rely","on","all","parts","of","the","signal",",","since","it","ca","n't","expect","a","given","part","to","be","present",".","Arguments","--","--","--","--","-","drop_length_low",":","int","The","low","end","of","lengths","for","which","to","set","the","signal","to","zero",",","in","samples",".","drop_length_high",":","int","The","high","end","of","lengths","for","which","to","set","the","signal","to","zero",",","in","samples",".","drop_count_low",":","int","The","low","end","of","number","of","times","that","the","signal","can","be","dropped","to","zero",".","drop_count_high",":","int","The","high","end","of","number","of","times","that","the","signal","can","be","dropped","to","zero",".","drop_start",":","int","The","first","index","for","which","dropping","will","be","allowed",".","drop_end",":","int","The","last","index","for","which","dropping","will","be","allowed",".","noise_factor",":","float","The","factor","relative","to","average","amplitude","of","an","utterance","to","use","for","scaling","the","white","noise","inserted",".","1","keeps","the","average","amplitude","the","same",",","while","0","inserts","all","0","'s",".","Example","--","--","--","-",">",">",">","from","speechbrain.dataio.dataio","import","read_audio",">",">",">","dropper","=","DropChunk","(","drop_start=100",",","drop_end=200",",","noise_factor=0",".",")",">",">",">","signal","=","read_audio","(","'tests\/samples\/single-mic\/example1.wav","'",")",">",">",">","signal","=","signal.unsqueeze","(","0",")","#","[","batch",",","time",",","channels","]",">",">",">","length","=","torch.ones","(","1",")",">",">",">","dropped_signal","=","dropper","(","signal",",","length",")",">",">",">","float","(","dropped_signal","[",":",",","150","]",")","0.0"]
code: def __init__(
      self,
      drop_length_low=100,
      drop_length_high=1000,
      drop_count_low=1,
      drop_count_high=3,
      drop_start=0,
      drop_end=None,
      noise_factor=0.0,
  ):
      super().__init__()
      self.drop_length_low = drop_length_low
      self.drop_length_high = drop_length_high
      self.drop_count_low = drop_count_low
      self.drop_count_high = drop_count_high
      self.drop_start = drop_start
      self.drop_end = drop_end
      self.noise_factor = noise_factor
  
      # Validate low < high
      if drop_length_low > drop_length_high:
          raise ValueError("Low limit must not be more than high limit")
      if drop_count_low > drop_count_high:
          raise ValueError("Low limit must not be more than high limit")
  
      # Make sure the length doesn't exceed end - start
      if drop_end is not None and drop_end >= 0:
          if drop_start > drop_end:
              raise ValueError(
                  "Low limit must not be more than high limit"
              )
  
          drop_range = drop_end - drop_start
          self.drop_length_low = min(drop_length_low, drop_range)
          self.drop_length_high = min(drop_length_high, drop_range)
  
imports: import math
  import random
  import torch
  import torch.nn.functional
  from speechbrain.dataio.legacy import ExtendedCSVDataset
  from speechbrain.dataio.dataloader import make_dataloader
  from speechbrain.processing.signal_processing import compute_amplitude, dB_to_amplitude, convolve1d, notch_filter, reverberate
label_desc: Use image node_id 1 to create a new DropChunk object from inherited base classes: torch.nn with example: obj = DropChunk(drop_length_low, drop_length_high, drop_count_low, drop_count_high, drop_start, drop_end, noise_factor)