Documente Academic
Documente Profesional
Documente Cultură
ECE 5525
Wanfeng Zou
7/3/2014
1
Abstract
Summary
2
A speech enhancement algorithm was developed based on spectral subtraction to
reduce the disturbances of noise on speech communications. The algorithm uses a
Gaussian statistical model to revise the noise spectrum estimate for the speech
enhancement. The algorithm then uses a simple method to compute the presence
probability of speech in each frequency bin to enhance the speech signal.
Experimental Tools
Experimental objects
First we use the WINDOWS recorder software to take recode a clear speech signal in
‘wav’ format. Next add a sine wave noise signal (0.5 amplitude and 1000Hz
frequency) into the previous clear voice to get a new audio document by using
MATLAB.
Code:
clc,clear
[x,fs,bits]=wavread('11.wav');
N=size(x,1);
x1=x(1:N,1);
fn=1000;
t=1:length(x1);
x2=0.5*sin(2*pi*fn/fs*t);
y=x1+x2';
wavwrite(y,fs,'12.wav');
3
4
General Spectral subtraction algorithm
The basic spectral subtraction it is assumed a smooth voice signal and noise is
additive noise. The voice signals and noise are not related to each other. At this noisy
speech signal can be expressed as:
y (t) is the noisy speech signal, s (t) for the clean speech signal, n (t) is the noise
signal. With Y (w), S (w) and N (w) to repentant y (t), s (t) and n (t) of the Fourier
transform the following relationship:
Because s (t) and n (t) independent so S (w) and N (w) is also independent.
=0 and
It is possible to use the "silent frames" before speech to estimating the noise.
5
If the negative results appear in equation, then it is changed to 0 or changes the sign
to positive, because the power spectrum cannot be negative.
Code:
clc,clear
[x,fs,bits]=wavread('12.wav');
y=x(1:350,1);
Y=fft(y);
magY=abs(Y);
b=[];
for i=0:2000;
n=350;
x1=x(1+n*i:n+n*i);
X1=fft(x1);
magX=abs(X1);
S=(magX.^2-magY.^2);
S1=abs(S).^0.5;
s1=ifft(S1);
a=s1';
b=[b a];
end
x2=b';
plot(x2);
sound(x2,fs,bits);
wavwrite(x2,fs,'13.wav')
6
Fig 13.wav
Therefore after using basic spectral subtraction noise elimination, there still exist
some greater power spectrum of the residual components random present in the
spectrum spike. After the inverse Fourier transform the enhanced speech formed a
new rhythmic fluctuation noise (musical noise) and this kind of noise cannot use
7
spectral subtraction to remove.
In addition, there is an improved method, for amend the processing of the power
Combining these two improved process, the enhanced form of spectral subtraction
can be expressed as:
subtraction correction factor, change the value of will further enhance the signal
to noise ratio; as spectral subtraction noise figure, its role is to reduce the noise
power spectrum, modify the coefficient of would serve to reduce noise and
highlight the speech spectrum.
Code:
clc,clear;
[x,fs,bits]=wavread('12.wav');
y=x(1:350,1);
Y=fft(y);
magY=abs(Y);
b1=[];a=0.4;b=0.5;
for i=0:2000;
8
n=350;
x1=x(1+n*i:n+n*i);
X1=fft(x1);
magX=abs(X1);
S=(magX.^a-magY.^a);
S1=abs(S).^(1/b);
s1=ifft(S1);
m=mean(s1)*300;
for j=1:350;
if abs(s1(j))>m;
s1(j)=s1(j)/4;
end
end
a1=s1';
b1=[b1 a1];
end
x2=b1';
plot(x2);
sound(x2,fs,bits);
wavwrite(x2,fs,'14.wav')
Fig 14.wav
9
Conclusion
Compare the figure Fig 13.wav and Fig 14.wav we can obviously find that the speech
waveform has been significantly improved also we can hear less musical noise. But
with eliminates musical noise the voice will be reduced inevitably. Many experiments
shows that modify the will further enhance the signal to noise ratio and change
the coefficient of would serve to reduce noise and highlight the speech spectrum.
However too big value of and will cause the voice distortion. The results show
that the algorithm more effectively eliminates musical noise and improves the signal
to noise rates without significantly impairing the speech intelligibility.
Reference
Jiang Xiao Ping, Yao Tian Ren, Fu Hua. Single channel speech
10
11