class_docstr: Create a tempo histogram with a dynamic Bayesian network (DBN).
  
  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","a","dynamic","Bayesian","network","(","DBN",")",".","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 a DBN using the
  forward algorithm.
  
  Parameters
  ----------
  activations : numpy float
      Beat activation function.
  reset : bool, optional
      Reset DBN 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 a DBN using the
      forward algorithm.
  
      Parameters
      ----------
      activations : numpy float
          Beat activation function.
      reset : bool, optional
          Reset DBN 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()
      # use forward path to get best state
      fwd = self.dbn.hmm.forward(activations, reset=reset)
      # choose the best state for each step
      states = np.argmax(fwd, axis=1)
      intervals = self.dbn.st.state_intervals[states]
      # convert intervals to bins
      bins = np.zeros((len(activations), len(self.intervals)))
      bins[
          np.arange(len(activations)), intervals - self.min_interval
      ] = 1
      # 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 DBNTempoHistogramProcessor obj's underlying member method code with example usage: obj.process_online(activations, reset) and returns: np,  self