@staticmethod
def _np_inverse_stft(stft, fft_length, hop_length, window_length):
    frames = np.fft.irfft(stft, fft_length)
    frames = frames[..., :window_length]
    frames = np.pad(frames, (([[0, 0]] * (frames.ndim - 1)) + [[0, max(0, (window_length - frames.shape[(- 1)]))]]), 'constant')
    window = SpectralOpsTest._np_hann_periodic_window(window_length)
    return SpectralOpsTest._np_overlap_add((frames * window), hop_length)
@staticmethod
def _np_inverse_stft(stft, fft_length, hop_length, window_length):
    frames = np.fft.irfft(stft, fft_length)
    frames = frames[..., :window_length]
    frames = np.pad(frames, (([[0, 0]] * (frames.ndim - 1)) + [[0, max(0, (window_length - frames.shape[(- 1)]))]]), 'constant')
    window = SpectralOpsTest._np_hann_periodic_window(window_length)
    return SpectralOpsTest._np_overlap_add((frames * window), hop_length)