code: def analsynthSprModelStreaming(params, signal):
      out = array([0.0])
  
      pool = essentia.Pool()
      # windowing and FFT
      fcut = es.FrameCutter(
          frameSize=params["frameSize"],
          hopSize=params["hopSize"],
          startFromZero=False,
      )
      w = es.Windowing(type="blackmanharris92")
      spec = es.Spectrum(size=params["frameSize"])
  
      smanal = es.SprModelAnal(
          sampleRate=params["sampleRate"],
          hopSize=params["hopSize"],
          maxnSines=params["maxnSines"],
          magnitudeThreshold=params["magnitudeThreshold"],
          freqDevOffset=params["freqDevOffset"],
          freqDevSlope=params["freqDevSlope"],
          minFrequency=params["minFrequency"],
          maxFrequency=params["maxFrequency"],
      )
      synFFTSize = min(
          int(params["frameSize"] / 4), 4 * params["hopSize"]
      )  # make sure the FFT size is appropriate
      smsyn = es.SprModelSynth(
          sampleRate=params["sampleRate"],
          fftSize=synFFTSize,
          hopSize=params["hopSize"],
      )
  
      # add half window of zeros to input signal to reach same ooutput length
      signal = numpy.append(signal, zeros(params["frameSize"] // 2))
      insignal = VectorInput(signal)
  
      # analysis
      insignal.data >> fcut.signal
      fcut.frame >> smanal.frame
  
      # synthesis
      smanal.magnitudes >> smsyn.magnitudes
      smanal.frequencies >> smsyn.frequencies
      smanal.phases >> smsyn.phases
      smanal.res >> smsyn.res
  
      smsyn.frame >> (pool, "frames")
      smsyn.sineframe >> (pool, "sineframes")
      smsyn.resframe >> (pool, "resframes")
  
      essentia.run(insignal)
  
      outaudio = framesToAudio(pool["frames"])
      outaudio = outaudio[2 * params["hopSize"] :]
  
      return outaudio, pool
  
file_path: essentia/test/src/unittests/synthesis/test_sprmodel_streaming.py
imports: from essentia_test import *
  import math
  import essentia
  import essentia.streaming
  import essentia.standard
label_desc: Use image node_id 5 for calling a global function with example usage: analsynthSprModelStreaming(params, signal) and returns: outaudio,  pool