matlab 求基频,matlab语音信号基频参数提取

%aa=wavread('tezhengtiqu1.wav')

[x,fs,bits]=wavread('抢地主0.wav'); % 读入声音文件(*.wav)

data1=x(:,1);

n=0:length(x)-1;

time=n/fs;

% 对采集数据作滤波处理

blocksize =length(data1); % 计算窗函数长度

window = hanning(blocksize); % 计算汉宁窗函数(此函数为MATLAB自带)

data2=window.*data1; % 对数据先作加窗处理

wp=3000*2/fs;

[b,a]=ellip(4,0.1,20,wp); % 构造椭圆滤波器

data=filter(b,a,data2);

%plot(data);% 求加窗处理后的数据经过滤波器的响应

[xmax,index]=max(data1);

timewin=floor(0.015*fs);

xwin=data1(index-timewin:index+timewin);

[y,lags]=xcov(xwin);

ylen=length(y);

halflen=(ylen+1)/2 +30;

yy=y(halflen: ylen);

%画基频图

plot(yy);

[ymax,maxindex] = max(yy);

fmax=fs/(maxindex+30);

%fmaxce2;

fmaxce2=fma


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部