Шумоподавление звука с использованием дискретного вейвлет-преобразования в музыке? - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь сделать следующее: если кто-то дает запись песни, я хочу удалить из нее фоновый шум (гул), чтобы улучшить ее.

Итак, я попытался прочитать об этом и натолкнулся на удалениеГауссов шум.

Поэтому я исследовал и нашел статью: Шумоподавление речевого сигнала с использованием вейвлет-преобразования с измененным универсальным порогом .

Я попытался реализовать его:

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 и улучшения к нему?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...