Я пытаюсь сделать следующее: если кто-то дает запись песни, я хочу удалить из нее фоновый шум (гул), чтобы улучшить ее.
Итак, я попытался прочитать об этом и натолкнулся на удалениеГауссов шум.
Поэтому я исследовал и нашел статью: Шумоподавление речевого сигнала с использованием вейвлет-преобразования с измененным универсальным порогом .
Я попытался реализовать его:
x , sr = librosa.load(audio_path)
noise = np.random.normal(0, 0.01, x.shape)
mixed_signal = noise + x
from pywt import wavedec
coeffs = wavedec(mixed_signal, 'sym16', level=7)
thres_det = []
for detail_coeff in coeffs:
cdt = pywt.threshold(detail_coeff, 0.8*np.std(detail_coeff)/2, mode='soft')
thres_det.append(cdt)
rec = pywt.waverec(thres_det, 'sym16')
librosa.output.write_wav('recovered_signal.wav', rec, sr)
Он может удалить несколько случайных звуковых сигналов, но также искажает песню до некоторого уровня.
Я пытался convolve
сгладить песню, но она исключает причуду песни.
Теперь, если кто-нибудь может предложить более быстрый или более чистый процесс удаления шума или SNR level of noise in the environment
и улучшения к нему?
Заранее спасибо.