class_docstr: Aubio MFCC analyzer
class_docstr_tok: ["Aubio","MFCC","analyzer"]
code: def process(self, frames, eod=False):
      # WARNING : All Aubio analyzer process functions manages frames reconstruction by themself
      #           from small stepsize input blocksize
      #           i.e. Aubio process functions should receive non overlapping input blocksize
      #           of length stepsize.
      #           This is achieve through  @frames_adapter that handles Aubio Analyzer specifically (blocksize=stepsize).
  
      fftgrain = self.pvoc(frames)
      coeffs = self.mfcc(fftgrain)
      self.mfcc_results = np.nan_to_num(
          np.vstack((self.mfcc_results, coeffs))
      )
      self.block_read += 1
      return frames, eod
  
file_path: TimeSide/timeside/plugins/analyzer/externals/aubio_mfcc.py
imports: from __future__ import absolute_import
  from timeside.core import implements, interfacedoc
  from timeside.core.analyzer import Analyzer
  from timeside.core.api import IAnalyzer
  from timeside.core.preprocessors import downmix_to_mono, frames_adapter
  import numpy
  from aubio import mfcc, pvoc
label_desc: Use image node_id 7 for calling the AubioMfcc obj's underlying member method code with example usage: obj.process(frames, eod) and returns: frames,  eod