class_docstr: Class for extracting harmonic pitch class profiles (HPCP) from a
  spectrogram.
  
  Parameters
  ----------
  spectrogram : :class:`.audio.spectrogram.Spectrogram` instance
      :class:`.audio.spectrogram.Spectrogram` instance.
  filterbank : :class:`.audio.filters.Filterbank` class or instance
      Filterbank class or instance.
  num_classes : int, optional
      Number of harmonic pitch classes.
  fmin : float, optional
      Minimum frequency of the HPCP filterbank [Hz].
  fmax : float, optional
      Maximum frequency of the HPCP filterbank [Hz].
  fref : float, optional
      Reference frequency for the first HPCP bin [Hz].
  window : int, optional
      Length of the weighting window [bins].
  kwargs : dict, optional
      If no :class:`.audio.spectrogram.Spectrogram` instance was given,
      one is instantiated with these additional keyword arguments.
  
  Notes
  -----
  If `fref` is 'None', the reference frequency is estimated from the given
  spectrogram.
  
  References
  ----------
  .. [1] Emilia Gómez,
         "Tonal Description of Music Audio Signals",
         PhD thesis, Universitat Pompeu Fabra, Barcelona, Spain, 2006.
class_docstr_tok: ["Class","for","extracting","harmonic","pitch","class","profiles","(","HPCP",")","from","a","spectrogram",".","Parameters","--","--","--","--","--","spectrogram",":",":","class",":","`",".audio.spectrogram.Spectrogram","`","instance",":","class",":","`",".audio.spectrogram.Spectrogram","`","instance",".","filterbank",":",":","class",":","`",".audio.filters.Filterbank","`","class","or","instance","Filterbank","class","or","instance",".","num_classes",":","int",",","optional","Number","of","harmonic","pitch","classes",".","fmin",":","float",",","optional","Minimum","frequency","of","the","HPCP","filterbank","[","Hz","]",".","fmax",":","float",",","optional","Maximum","frequency","of","the","HPCP","filterbank","[","Hz","]",".","fref",":","float",",","optional","Reference","frequency","for","the","first","HPCP","bin","[","Hz","]",".","window",":","int",",","optional","Length","of","the","weighting","window","[","bins","]",".","kwargs",":","dict",",","optional","If","no",":","class",":","`",".audio.spectrogram.Spectrogram","`","instance","was","given",",","one","is","instantiated","with","these","additional","keyword","arguments",".","Notes","--","--","-","If","`","fref","`","is","'None","'",",","the","reference","frequency","is","estimated","from","the","given","spectrogram",".","References","--","--","--","--","--","..","[","1","]","Emilia","G\u00f3mez",",","``","Tonal","Description","of","Music","Audio","Signals","''",",","PhD","thesis",",","Universitat","Pompeu","Fabra",",","Barcelona",",","Spain",",","2006","."]
code: def __init__(
      self,
      spectrogram,
      filterbank=HPCP,
      num_classes=HPCP.CLASSES,
      fmin=HPCP.FMIN,
      fmax=HPCP.FMAX,
      fref=A4,
      window=HPCP.WINDOW,
      **kwargs,
  ):
      # this method is for documentation purposes only
      pass
  
imports: from __future__ import absolute_import, division, print_function
  import warnings
  import numpy
  from madmom.audio.filters import A4, Filterbank, PitchClassProfileFilterbank, HarmonicPitchClassProfileFilterbank
  from madmom.audio.spectrogram import Spectrogram, FilteredSpectrogram, SemitoneBandpassSpectrogram
  from madmom.processors import SequentialProcessor, Processor
label_desc: Use image node_id 1 to create a new HarmonicPitchClassProfile object from inherited base classes: PitchClassProfile with example: obj = HarmonicPitchClassProfile(spectrogram, filterbank, num_classes, fmin, fmax, fref, window)