find_pmark.m
来自「wav声音文件的通过多脉冲激励编码器」· M 代码 · 共 46 行
M
46 行
function pitch_marks = find_pmark(speech)
N=320;%the lengh of samples in frame
for k=1:N%auto correlation
R(k)=0;
for i=1:N-k
R(k)=R(k)+speech(i)*speech(i+k-1);
end
end
m(1)=1;
t=0;
for k=20:N%归一并计算候选
if(R(k)/R(1)>=0.2)
t=t+1;
m(t)=k;
end
end
dis(1)=0;
for i=1:t-2
dis(i)=0;
for j=i+1:t
dis(i)=dis(i)+near_mod(m(j),m(i))/(t+1-i);
end
end
max_value=dis(1);
max=1;
for i=1:t-2
if(max_value>dis(i))
max_value=dis(i);
max=i;
end
end
pitch_marks=m(max);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?