class_docstr: Static pitch shifting by (fractional) semitones
  
  This transformation affects the following attributes:
  
  - Annotations
      - key_mode
      - chord, chord_harte, chord_roman
      - pitch_contour, pitch_hz, pitch_midi, pitch_class
  - Audio
  
  Attributes
  ----------
  n_semitones : float or list of float
      The number of semitones to transpose the signal.
      Can be positive, negative, integral, or fractional.
  
  See Also
  --------
  RandomPitchShift
  LinearPitchShift
  
  Examples
  --------
  >>> # Shift down by a quarter-tone
  >>> D = muda.deformers.PitchShift(n_semitones=-0.5)
class_docstr_tok: ["Static","pitch","shifting","by","(","fractional",")","semitones","This","transformation","affects","the","following","attributes",":","-","Annotations","-","key_mode","-","chord",",","chord_harte",",","chord_roman","-","pitch_contour",",","pitch_hz",",","pitch_midi",",","pitch_class","-","Audio","Attributes","--","--","--","--","--","n_semitones",":","float","or","list","of","float","The","number","of","semitones","to","transpose","the","signal",".","Can","be","positive",",","negative",",","integral",",","or","fractional",".","See","Also","--","--","--","--","RandomPitchShift","LinearPitchShift","Examples","--","--","--","--",">",">",">","#","Shift","down","by","a","quarter-tone",">",">",">","D","=","muda.deformers.PitchShift","(","n_semitones=-0.5",")"]
code: def states(self, jam):
      for state in AbstractPitchShift.states(self, jam):
          for semitones in self.n_semitones:
              state["n_semitones"] = 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 PitchShift obj's underlying member method code with example usage: obj.states(jam) without return types