class_docstr: Dissonance from Essentia
class_docstr_tok: ["Dissonance","from","Essentia"]
code: def setup(
      self,
      channels=None,
      samplerate=None,
      blocksize=None,
      totalframes=None,
  ):
      super(Essentia_Dissonance, self).setup(
          channels, samplerate, blocksize, totalframes
      )
      self.spec_alg = Spectrum(size=self.input_blocksize)
      self.spec_peaks_alg = SpectralPeaks(
          sampleRate=self.input_samplerate,
          maxFrequency=self.input_samplerate / 2,
          minFrequency=0,
          orderBy="frequency",
      )
  
imports: from timeside.core import implements, interfacedoc
  from timeside.core.analyzer import Analyzer
  from timeside.core.api import IAnalyzer
  from timeside.core.tools.parameters import HasTraits, Int
  from timeside.core.preprocessors import downmix_to_mono, frames_adapter
  import numpy
  from timeside.core.tools.parameters import store_parameters
  import essentia
  import essentia.standard
  from essentia.standard import Spectrum
  from essentia.standard import SpectralPeaks
  from essentia.standard import Dissonance
  from essentia.standard import Windowing
  from timeside.core.grapher import DisplayAnalyzer
label_desc: Use image node_id 2 for calling the Essentia_Dissonance obj's underlying member method code with example usage: obj.setup(channels, samplerate, blocksize, totalframes) without return types