class_docstr: Create a tempo histogram with autocorrelation.
  
  Parameters
  ----------
  min_bpm : float, optional
      Minimum tempo to detect [bpm].
  max_bpm : float, optional
      Maximum tempo to detect [bpm].
  hist_buffer : float
      Aggregate the tempo histogram over `hist_buffer` seconds.
  fps : float, optional
      Frames per second.
  online : bool, optional
      Operate in online (i.e. causal) mode.
class_docstr_tok: ["Create","a","tempo","histogram","with","autocorrelation",".","Parameters","--","--","--","--","--","min_bpm",":","float",",","optional","Minimum","tempo","to","detect","[","bpm","]",".","max_bpm",":","float",",","optional","Maximum","tempo","to","detect","[","bpm","]",".","hist_buffer",":","float","Aggregate","the","tempo","histogram","over","`","hist_buffer","`","seconds",".","fps",":","float",",","optional","Frames","per","second",".","online",":","bool",",","optional","Operate","in","online","(","i.e",".","causal",")","mode","."]
docstr: Compute the histogram of the beat intervals with the autocorrelation
  function in online mode.
  
  Parameters
  ----------
  activations : numpy float
      Beat activation function.
  reset : bool, optional
      Reset to initial state before processing.
  
  Returns
  -------
  histogram_bins : numpy array
      Bins of the tempo histogram.
  histogram_delays : numpy array
      Corresponding delays [frames].
code: def process_online(self, activations, reset=True, **kwargs):
      """
      Compute the histogram of the beat intervals with the autocorrelation
      function in online mode.
  
      Parameters
      ----------
      activations : numpy float
          Beat activation function.
      reset : bool, optional
          Reset to initial state before processing.
  
      Returns
      -------
      histogram_bins : numpy array
          Bins of the tempo histogram.
      histogram_delays : numpy array
          Corresponding delays [frames].
  
      """
      # reset to initial state
      if reset:
          self.reset()
      # iterate over all activations
      # TODO: speed this up!
      for act in activations:
          # online ACF (y[n] = x[n] * x[n - τ])
          bins = act * self._act_buffer[-self.intervals].T
          # shift activation buffer with new value
          self._act_buffer(act)
          # use a buffer to only keep a certain number of bins
          # shift buffer and put new bins at end of buffer
          bins = self._hist_buffer(bins)
      # build a histogram together with the intervals and return it
      return np.sum(bins, axis=0), 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 4 for calling the ACFTempoHistogramProcessor obj's underlying member method code with example usage: obj.process_online(activations, reset) and returns: np,  self