zxl11180116 发表于 2012-5-24 16:58

求助:我这儿有一个计算一段基音周期的程序,请高手们指点翻译

% 计算一段语音的基音周期
function PT = findpitch(s)
= butter(5, 700/4000)
s = filter(B,A,s);
R = zeros(143,1);
for k=1:143
    R(k) = s(144:223)'*s(144-k:223-k);
end
= max(R(80:143));
T1 = T1 + 79;
R1 = R1/(norm(s(144-T1:223-T1))+1);
= max(R(40:79));
T2 = T2 + 39;
R2 = R2/(norm(s(144-T2:223-T2))+1);
= max(R(20:39));
T3 = T3 + 19;
R3 = R3/(norm(s(144-T3:223-T3))+1);
Top = T1;
Rop = R1;
if R2 >= 0.85*Rop
    Rop = R2;
    Top = T2;
end
if R3 > 0.85*Rop
    Rop = R3;
    Top = T3;
end
PT = Top;
return
页: [1]
查看完整版本: 求助:我这儿有一个计算一段基音周期的程序,请高手们指点翻译