?? 語(yǔ)音程序.txt
字號(hào):
sf=1000;
nfft=1000;
x=0:1/sf:1;
y=5*cos(2*pi*5*x).^2+3*cos(2*pi*100*x)+randn(size(x));
t=0:1/sf:(nfft-1)/sf;
nn=1:nfft/4;
subplot(3,1,1)
z=rceps(y);
plot(t(nn),abs(z(nn)));
title('z=rceps(y)')
ylabel('幅值');
grid on;
subplot(3,1,2)
yy= real(ifft(log(abs(fft(y)))));
plot(t(nn),abs(yy(nn)));
title('real(ifft(log(abs(fft(x)))))')
xlabel('時(shí)間(s)');
ylabel('幅值');
grid on;
subplot(3,1,3)
w=hanning(nfft);
zw=psd(y,nfft,sf,w,nfft/2);
zzw= real(ifft(log(abs(zw))));
plot(t(nn),zzw(nn));
grid on
% MFCC,即倒譜系數(shù),也是語(yǔ)音的一個(gè)特征之一,能夠充分利用人耳的特性
% 具體的求法就是預(yù)處理,然后加窗,進(jìn)行傅立葉變換,再求出功率普
% 然后得出其自然對(duì)數(shù),最后進(jìn)行dct變換
% 代碼是用matlab寫(xiě)的,用到的一個(gè)語(yǔ)音工具箱,可以從網(wǎng)絡(luò)上下載。
function mfcoef=mfcccoef(filename);
x=wavread(filename);
%歸一化mel filter cof
bank=melbankm(24,256,8000,0,0.5,'m');
bank=full(bank);
bank=bank/max(bank(:));
% dct 系數(shù)
for k=1:12
n=0:23;
dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24));
end
%歸一化倒普窗口
w=1+6*sin(pi*[1:12]./12);
w=w/max(w);
% 一階高通濾波器 1-0.9375z(-1)
xx=double(x);
xx=filter([1 -0.9375],1,xx);
% 分幀
y=enframe(xx,256,80);
[NumFrame,FrameLen]=size(y);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -