clc; 全部关闭; clear all;
run Set_II; %参数设定
run Part_II; %文件读取、分格、端点检测
lmin=fix(fs/500; %基音周期最小值
lmax=fix(fs/60; %基音周期最大值
Period=Zeros(1,fn ); %基音周期初始化
p=12; 设置%线性预测次数
for k=1:fn
IFSF(k )==1 %是否在通话帧中
u=y(:k ).*Hamming ) Wlen ); 取%1帧的数据窗函数
ar=LPC(u,p ); 计算LPC系数
z=filter ([0- ar ] 2: end ) ],1,u ); %1帧数据LPC逆滤波器输出
E=u - z; %预测误差
xx=FFT(e ); % FFT
a=2*log(ABS ) xx ) eps; 取%模值和对数
b=IFFT(a ); 求%倒谱
[r(k ),LC (k ) ]=max(b ) lmin:lmax ); 在Pmin~Pmax区间寻找最大值
Period(k )=LC (k ) lmin-1; (给出基音周期
结束
结束
T1=pitfilterm1(Period,voiceseg,vosl ); %基音周期平滑处理
%图
subplot 211,plot(time,x,' k '; 语音信号) )。
axis([0max(time )-1 ) ]网格; ylabel (振幅); xlabel (时间/秒);
辅助212; hold on
line(frametime,period,' color ',[.6 .6 .6],' linewidth ',2 );
axis([0max(time )0 150]; title ()基音周期;
ylabel (样品点数); xlabel (时间/秒); 网格;
plot (帧时间,T1,' k ' ); 保持关闭
legend (“初始估计”、“平滑后的值”); 盒打开;
结果如下
索引超出了矩阵维。
错误贤兴建(line 19 )。
[r(k ),LC (k ) ]=max(b ) lmin:lmax ); 在Pmin~Pmax区间寻找最大值
谢谢你的帮助