class_docstr: Static time stretching by a fixed rate
  
  This transformation affects the following attributes:
  
  - Annotations
      - all: time, duration
      - tempo: values
  - metadata
      - duration
  - Audio
  
  
  Attributes
  ----------
  rate : float or list of floats, strictly positive
      The rate at which to speedup the audio.
      - rate > 1 speeds up,
      - rate < 1 slows down.
  
  Examples
  --------
  >>> D = muda.deformers.TimeStretch(rate=2.0)
  >>> out_jams = list(D.transform(jam_in))
  
  See Also
  --------
  LogspaceTimeStretch
  RandomTimeStretch
docstr: Time stretching
docstr_tok: ["Time","stretching"]
code: def __init__(self, rate=1.2):
      """Time stretching"""
      AbstractTimeStretch.__init__(self)
  
      self.rate = np.atleast_1d(rate).flatten()
      if np.any(self.rate <= 0):
          raise ValueError("rate parameter must be strictly positive.")
      self.rate = self.rate.tolist()
  
imports: import pyrubberband
  import numpy
  from ..base import BaseTransformer, _get_rng
label_desc: Use image node_id 1 to create a new TimeStretch object from inherited base classes: AbstractTimeStretch with example: obj = TimeStretch(rate)