class_docstr: Tempo Histogram Processor class.
  
  Parameters
  ----------
  min_bpm : float
      Minimum tempo to detect [bpm].
  max_bpm : float
      Maximum tempo to detect [bpm].
  hist_buffer : float
      Aggregate the tempo histogram over `hist_buffer` seconds.
  fps : float, optional
      Frames per second.
  
  Notes
  -----
  This abstract class provides the basic tempo histogram functionality.
  Please use one of the following implementations:
  
  - :class:`CombFilterTempoHistogramProcessor`,
  - :class:`ACFTempoHistogramProcessor` or
  - :class:`DBNTempoHistogramProcessor`.
class_docstr_tok: ["Tempo","Histogram","Processor","class",".","Parameters","--","--","--","--","--","min_bpm",":","float","Minimum","tempo","to","detect","[","bpm","]",".","max_bpm",":","float","Maximum","tempo","to","detect","[","bpm","]",".","hist_buffer",":","float","Aggregate","the","tempo","histogram","over","`","hist_buffer","`","seconds",".","fps",":","float",",","optional","Frames","per","second",".","Notes","--","--","-","This","abstract","class","provides","the","basic","tempo","histogram","functionality",".","Please","use","one","of","the","following","implementations",":","-",":","class",":","`","CombFilterTempoHistogramProcessor","`",",","-",":","class",":","`","ACFTempoHistogramProcessor","`","or","-",":","class",":","`","DBNTempoHistogramProcessor","`","."]
code: def __init__(
      self,
      min_bpm,
      max_bpm,
      hist_buffer=HIST_BUFFER,
      fps=None,
      online=False,
      **kwargs,
  ):
      # pylint: disable=unused-argument
      super(TempoHistogramProcessor, self).__init__(online=online)
      self.min_bpm = float(min_bpm)
      self.max_bpm = float(max_bpm)
      self.hist_buffer = hist_buffer
      self.fps = fps
      if self.online:
          self._hist_buffer = BufferProcessor(
              (int(hist_buffer * self.fps), len(self.intervals))
          )
  
imports: from __future__ import absolute_import, division, print_function
  import sys
  import warnings
  from operator import itemgetter
  import numpy
  from ..audio.signal import smooth
  from ..processors import BufferProcessor, OnlineProcessor
label_desc: Use image node_id 1 to create a new TempoHistogramProcessor object from inherited base classes: OnlineProcessor with example: obj = TempoHistogramProcessor(min_bpm, max_bpm, hist_buffer, fps, online)