class_docstr: Linearly spaced pitch shift generator
  
  This transformation affects the following attributes:
  
  - Annotations
      - key_mode
      - chord, chord_harte, chord_roman
      - pitch_hz, pitch_midi, pitch_class
  - Audio
  
  Attributes
  ----------
  n_samples : int > 0
      The number of samples to generate per input
  
  lower : float
  upper : float
      The lower and upper bounds for the shift sampling
  
  See Also
  --------
  PitchShift
  RandomPitchShift
  
  Examples
  --------
  >>> # 5 shifts spaced between -2 and +2 semitones
  >>> D = muda.deformers.LinearPitchShift(n_samples=5, lower=-2, upper=2)
class_docstr_tok: ["Linearly","spaced","pitch","shift","generator","This","transformation","affects","the","following","attributes",":","-","Annotations","-","key_mode","-","chord",",","chord_harte",",","chord_roman","-","pitch_hz",",","pitch_midi",",","pitch_class","-","Audio","Attributes","--","--","--","--","--","n_samples",":","int",">","0","The","number","of","samples","to","generate","per","input","lower",":","float","upper",":","float","The","lower","and","upper","bounds","for","the","shift","sampling","See","Also","--","--","--","--","PitchShift","RandomPitchShift","Examples","--","--","--","--",">",">",">","#","5","shifts","spaced","between","-2","and","+2","semitones",">",">",">","D","=","muda.deformers.LinearPitchShift","(","n_samples=5",",","lower=-2",",","upper=2",")"]
code: def states(self, jam):
      shifts = np.linspace(
          self.lower, self.upper, num=self.n_samples, endpoint=True
      )
  
      for state in AbstractPitchShift.states(self, jam):
          for n_semitones in shifts:
              state["n_semitones"] = n_semitones
              yield state
  
imports: import librosa
  import pyrubberband
  import re
  import numpy
  import six
  from copy import deepcopy
  from ..base import BaseTransformer, _get_rng
label_desc: Use image node_id 2 for calling the LinearPitchShift obj's underlying member method code with example usage: obj.states(jam) without return types