import librosa | |
from utils.hparams import hparams | |
import numpy as np | |
def denoise(wav, v=0): | |
spec = librosa.stft(y=wav, n_fft=hparams['fft_size'], hop_length=hparams['hop_size'], | |
win_length=hparams['win_size'], pad_mode='constant') | |
spec_m = np.abs(spec) | |
spec_m = np.clip(spec_m - v, a_min=0, a_max=None) | |
spec_a = np.angle(spec) | |
return librosa.istft(spec_m * np.exp(1j * spec_a), hop_length=hparams['hop_size'], | |
win_length=hparams['win_size']) | |