@staticmethod
def _np_overlap_add(stft, hop_length):
    (num_frames, window_length) = np.shape(stft)
    output_length = (window_length + ((num_frames - 1) * hop_length))
    output = np.zeros(output_length)
    for i in range(num_frames):
        output[(i * hop_length):((i * hop_length) + window_length)] += stft[(i,)]
    return output
@staticmethod
def _np_overlap_add(stft, hop_length):
    (num_frames, window_length) = np.shape(stft)
    output_length = (window_length + ((num_frames - 1) * hop_length))
    output = np.zeros(output_length)
    for i in range(num_frames):
        output[(i * hop_length):((i * hop_length) + window_length)] += stft[(i,)]
    return output