code: def testBroadbandNoiseCorrection(self):
      from essentia import instantPower
      from essentia import db2amp
  
      frameSize = 512
      hopSize = frameSize // 2
      fs = 44100.0
      time = 1.0  # s
      time_axis = np.arange(0, time, 1 / fs)
      nsamples = len(time_axis)
      noise = np.random.randn(nsamples)
      noise /= np.std(noise)
      noise_only = 0.2
  
      signal = np.sin(2 * pi * 5000 * time_axis)
  
      signal_db = -22.0
      noise_db = -50.0
  
      signal[: int(noise_only * fs)] = np.zeros(int(noise_only * fs))
  
      signal_and_noise = esarr(
          db2amp(signal_db) * signal + db2amp(noise_db) * noise
      )
  
      noiseThreshold = -30
      corrected = SNR(
          frameSize=frameSize, noiseThreshold=noiseThreshold
      )
      notCorrected = SNR(
          frameSize=frameSize,
          noiseThreshold=noiseThreshold,
          useBroadbadNoiseCorrection=False,
      )
  
      for frame in FrameGenerator(
          signal_and_noise, frameSize=frameSize, hopSize=hopSize
      ):
          _, snrCorrected, _ = corrected(frame)
          _, snrNotCorrected, _ = notCorrected(frame)
  
      self.assertAlmostEqual(
          snrCorrected, snrNotCorrected - 10.0 * np.log10(fs / 2), 1e-4
      )
  
file_path: essentia/test/src/unittests/audioproblems/test_snr.py
imports: import numpy
  from math import *
  from essentia_test import *
  from essentia import array
label_desc: Use image node_id 5 for calling the TestClickDetector obj's underlying member method code with example usage: obj.testBroadbandNoiseCorrection() without return types