class_docstr: Constant Q transform from QMUL vamp plugins
class_docstr_tok: ["Constant","Q","transform","from","QMUL","vamp","plugins"]
code: def post_process(self):
      super(VampConstantQ, self).post_process()  # get remaining results
  
      constant_q = self.new_result(
          data_mode="value", time_mode="framewise"
      )
  
      midi_pitches = np.arange(
          self.minpitch, self.maxpitch, 12.0 / self.bpo
      )
      constant_q.data_object.y_value = [
          midi2freq(midi_number=p, tuningA4=self.tuning)
          for p in midi_pitches
      ]
  
      constant_q.data_object.value = self.vamp_results["matrix"][1]
      self.add_result(constant_q)
  
file_path: TimeSide/timeside/plugins/analyzer/externals/vamp_constantq.py
imports: from timeside.core import implements, interfacedoc
  from timeside.core.api import IAnalyzer
  from timeside.core.tools.parameters import HasTraits
  from timeside.core.tools.parameters import store_parameters
  import vamp
  import vampyhost
  from .vampyhost_wrapper import VampAnalyzer
  import numpy
  from timeside.core.grapher import DisplayAnalyzer
label_desc: Use image node_id 7 for calling the VampConstantQ obj's underlying member method code with example usage: obj.post_process() without return types