code: def testRegression(self):
      filename = join(testdata.audio_dir, "recorded", "vignesh.wav")
      audio = MonoLoader(filename=filename, sampleRate=44100)()
      frameSize = 2048
      sampleRate = 44100
      guessUnvoiced = True
      hopSize = 512
  
      # 1. Truncate the audio to take 0.5 sec (keep npy file size low)
      audio = audio[:22050]
  
      run_windowing = Windowing(
          type="hann", zeroPadding=3 * frameSize
      )  # Hann window with x4 zero padding
      run_spectrum = Spectrum(size=frameSize * 4)
      run_spectral_peaks = SpectralPeaks(
          minFrequency=1,
          maxFrequency=20000,
          maxPeaks=100,
          sampleRate=sampleRate,
          magnitudeThreshold=0,
          orderBy="magnitude",
      )
      run_pitch_salience_function = PitchSalienceFunction()
  
      # Now we are ready to start processing.
      # 2. pass it through the equal-loudness filter
      audio = EqualLoudness()(audio)
      calculatedPitchSalience = []
  
      # 3. Cut audio into frames and compute for each frame:
      #    spectrum -> spectral peaks -> pitch salience function -> pitch salience function peaks
      for frame in FrameGenerator(
          audio, frameSize=frameSize, hopSize=hopSize
      ):
          frame = run_windowing(frame)
          spectrum = run_spectrum(frame)
          peak_frequencies, peak_magnitudes = run_spectral_peaks(
              spectrum
          )
          salience = run_pitch_salience_function(
              peak_frequencies, peak_magnitudes
          )
          calculatedPitchSalience.append(salience)
  
      # Save operation is commented out. Uncomment to tweak parameters orinput to genrate new referencesw when required.
      # save('calculatedPitchSalience_vignesh.npy', calculatedPitchSalience)
      expectedPitchSalience = load(
          join(
              filedir(),
              "pitchsalience/calculatedPitchSalience_vignesh.npy",
          )
      )
      expectedPitchSalienceList = expectedPitchSalience.tolist()
  
      for i in range(len(calculatedPitchSalience)):
          # Tolerance check to 6 decimal palces (for Linux Subsyst. compatibility.
          self.assertAlmostEqualVectorFixedPrecision(
              expectedPitchSalienceList[i],
              calculatedPitchSalience[i],
              8,
          )
  
imports: from essentia_test import *
  from numpy import *
label_desc: Use image node_id 18 for calling the TestPitchSalienceFunction obj's underlying member method code with example usage: obj.testRegression() without return types