code: def __init__(self):
      super(RhythmDescriptorsExtractor, self).__init__()
  
      rhythm = RhythmExtractor()
      bpmHist = BPMHistogramDescriptors()
  
      rhythm.bpmIntervals >> bpmHist.bpmIntervals
  
      # define inputs:
      self.inputs["signal"] = rhythm.signal
  
      # define outputs:
      self.outputs["beats_position"] = rhythm.ticks
      self.outputs["bpm"] = rhythm.bpm
      self.outputs["bpm_estimates"] = rhythm.estimates
      self.outputs["bpm_intervals"] = rhythm.bpmIntervals
      self.outputs["first_peak_bpm"] = bpmHist.firstPeakBPM
      self.outputs["first_peak_weight"] = bpmHist.firstPeakWeight
      self.outputs["first_peak_spread"] = bpmHist.firstPeakSpread
      self.outputs["second_peak_bpm"] = bpmHist.secondPeakBPM
      self.outputs["second_peak_weight"] = bpmHist.secondPeakWeight
      self.outputs["second_peak_spread"] = bpmHist.secondPeakSpread
  
imports: import sys, os
  import essentia, essentia.standard, essentia.streaming
  from essentia.streaming import RhythmExtractor2013, BPMHistogramDescriptors
label_desc: Use image node_id 1 to create a new RhythmDescriptorsExtractor object from inherited base classes: essentia.streaming with example: obj = RhythmDescriptorsExtractor()