find_pmark.asv

来自「wav声音文件的通过多脉冲激励编码器」· ASV 代码 · 共 46 行

ASV
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

 t=0;
 for k=20:N%归一并计算候选
     if(R(k)/R(1)>=0.2)
         t=t+1;
         m(t)=k;
        
     end
 end

 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

 ma=dis(1);
 max=1;
 for i=1:t-2
     if(m>dis(i))
         m=dis(i);
         max=i;
     end
 end

 pitch_marks=m(max);
 
     
         
     
     
     
     
         
     

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?