Analysis and Processing Speech Signal Based On Matlab
Analysis and Processing Speech Signal Based On Matlab
MATLAB
Yuliang Feng
Xiange Sun*
Jingzhou, China
Email: [email protected]
Jingzhou, China
Email: [email protected]
3.1
,
Matlab,
,
Matlab[4,5,6]
[y,Fs,bits]=wavread('D:\ \mywav1.wav');
y=y( 1:70000 ,1);
sound(y,Fs,bits);
t=1:70000;
u=[sin(2*pi*1200*t)]';
u(15000:70000)=0;
s=u(1:15000);
k=flipud(s);
f=[zeros(1,55000) k'];
d=f'+u;
d(1:7000)=0;
d(63000:70000)=0;
d=d./max(d).*0.005;
a=ifft(abs(d));
a=a./max(a).*0.03;
q=y+a;
wavwrite(q,Fs,'yuan');
sigLength=length(q);
Fs=44100;
d=100;
L=512;
k=L-d;
w=fix(sigLength/k);
frame_length=512;
r=(rectwin(frame_length));
for a1=1:w
n1=(L-d)*(a1-1)+1;
n2=(L-d)*(a1-1)+frame_length;
s=q(n1:n2);
sf=fft(s'.*r',512 );
X1(n1:n2)=sf(1:frame_length);
end
SIZE=8000;
Y=zeros(SIZE,1);
Y=20*log10(abs(X1));
figure,plot(Y(1:4000));title('');
figure,plot(t,q./max(q));title('');
0DWODE
7RROER[
>@
[2]
,
,
, ,
10~30ms10~30ms[3]
555
figure,subplot(2,1,1);plot(abs(fft(a))./max(abs(fft(a))));title('
');
subplot(2,1,2);plot(t,a./max(a));title('');
1
0.5
50
-0.5
-50
-100
500
1000
1500
2000
2500
3000
3500
4000
-1
7
4
x 10
0.5
0
-0.5
-1
7
x 10
0.5
7
x 10
-50
1
0.5
0
-100
0
-0.5
-1
7
x 10
500
1000
1500
2000
2500
3000
3500
4000
2
1
24410Hz
3.2
Matlab
wp=0.116*pi wr=0.20*pi
Ap=0.25Ar=50[7]
MATLAB
MATLAB
REFERENCES
wp=0.116*pi;
wr=0.20*pi;
Ap=0.25;
Ar=50;
[1]
[2]
T=1;Omegap=(2/T)*tan(wp/2);
Omegar=(2/T)*tan(wr/2);
[c,d]=afd_elip(Omegap,Omegar,Ap,Ar);
[b,a]=bilinear(c,d,T);
34
[3]
[4]
[5]
[6]
wavwrite
MATLAB
[7]
556