code: def analsynthSineSubtractionStreaming(params, signal):
      out = numpy.array(0)
      pool = essentia.Pool()
      fcut = es.FrameCutter(
          frameSize=params["frameSize"],
          hopSize=params["hopSize"],
          startFromZero=False,
      )
      w = es.Windowing(type="blackmanharris92")
      fft = es.FFT(size=params["frameSize"])
      smanal = es.SineModelAnal(
          sampleRate=params["sampleRate"],
          maxnSines=params["maxnSines"],
          magnitudeThreshold=params["magnitudeThreshold"],
          freqDevOffset=params["freqDevOffset"],
          freqDevSlope=params["freqDevSlope"],
      )
  
      subtrFFTSize = min(
          int(params["frameSize"] / 4), 4 * params["hopSize"]
      )
      smsub = es.SineSubtraction(
          sampleRate=params["sampleRate"],
          fftSize=subtrFFTSize,
          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 >> w.frame
      w.frame >> fft.frame
      fft.fft >> smanal.fft
      smanal.magnitudes >> (pool, "magnitudes")
      smanal.frequencies >> (pool, "frequencies")
      smanal.phases >> (pool, "phases")
      # subtraction
      fcut.frame >> smsub.frame
      smanal.magnitudes >> smsub.magnitudes
      smanal.frequencies >> smsub.frequencies
      smanal.phases >> smsub.phases
      smsub.frame >> (pool, "frames")
  
      essentia.run(insignal)
  
      outaudio = framesToAudio(pool["frames"])
      outaudio = outaudio[2 * params["hopSize"] :]
  
      return outaudio, pool
  
file_path: essentia/test/src/unittests/synthesis/test_sinesubtraction_streaming.py
imports: from essentia_test import *
  import math
  import essentia
  import essentia.streaming
  import essentia.standard
  import numpy
label_desc: Use image node_id 4 for calling a global function with example usage: analsynthSineSubtractionStreaming(params, signal) and returns: outaudio,  pool