使用深度学习网络对语音进行去噪
1. 引言
语音去噪的目标是从语音信号中去除噪声,同时提高语音的质量和可懂度。本文将展示如何使用深度学习网络去除语音信号中的洗衣机噪声,并比较两种应用于同一任务的网络:全连接网络和卷积网络。
2. 问题概述
首先,我们有一个采样率为 8 kHz 的语音信号:
[cleanAudio,fs] = audioread("SpeechDFT-16-8-mono-5secs.wav");
sound(cleanAudio,fs)
然后,我们向语音信号中添加洗衣机噪声,使信噪比(SNR)为 0 dB:
noise = audioread("WashingMachine-16-8-mono-1000secs.mp3");
% 从噪声文件的随机位置提取一段噪声
ind = randi(numel(noise) - numel(cleanAudio) + 1,1,1);
noiseSegment = noise(ind:ind + numel(cleanAudio) - 1);
speechPower = sum(cleanAudio.^2);
noisePower = sum(noiseSegment.^2);
noisyAudio = cleanAudio + sqrt(speechPower/noisePower)*noiseSegment;
sound(noisyAudio,fs)
接着,我们可视化原始信号和带噪声的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



