code: def testExtendDetenctionThreshold(self):
      #  Extend Min and Max default values are 50 and 250 cents so
      #  this values  shouldn't be detected.
      fs = 100  # Hz
      f0 = 100  # Hz
      extent = ceil(
          f0 * (2 ** (250 / 1200.0) - 1) / (2 ** (250 / 1200.0) + 1)
      )
      vibrato = 5  # Hz
      x = [f0] * 1024 + extent * sin(
          2 * pi * vibrato * arange(1024) / fs
      )
      vibratoEst, extentEst = Vibrato(sampleRate=fs)(x.astype(float32))
      self.assertEqual(0, vibratoEst.all())
  
      extent = floor(
          f0 * (2 ** (50 / 1200.0) - 1) / (2 ** (50 / 1200.0) + 1)
      )
      x = [f0] * 1024 + extent * sin(
          2 * pi * vibrato * arange(1024) / fs
      )
      vibratoEst, extentEst = Vibrato(sampleRate=fs)(x.astype(float32))
      self.assertEqual(0, vibratoEst.all())
  
file_path: essentia/test/src/unittests/tonal/test_vibrato.py
imports: from essentia_test import *
  from numpy import sin, float32, pi, arange, mean, log2, floor, ceil
label_desc: Use image node_id 8 for calling the TestVibrato obj's underlying member method code with example usage: obj.testExtendDetenctionThreshold() without return types