code: def compute_PSD_matrix(audio, window_size):
      """
      First, perform STFT.
      Then, compute the PSD.
      Last, normalize PSD.
      """
  
      win = np.sqrt(8.0 / 3.0) * librosa.core.stft(audio, center=False)
      z = abs(win / window_size)
      psd_max = np.max(z * z)
      psd = 10 * np.log10(z * z + 0.0000000000000000001)
      PSD = 96 - np.max(psd) + psd
      return PSD, psd_max
  
file_path: cleverhans/cleverhans_v3.1.0/examples/adversarial_asr/generate_masking_threshold.py
imports: import scipy.io.wavfile
  import numpy
  from scipy.fftpack import fft
  from scipy.fftpack import ifft
  from scipy import signal
  import scipy
  import librosa
label_desc: Use image node_id 1 for calling a global function with example usage: compute_PSD_matrix(audio, window_size) and returns: PSD,  psd_max