?? double_ck.m
字號:
%Pitch Double Check--Using a kind of signal
%Input:
% sig_in(input signal)
% p(fractal pitch)
% Dth(threshold)
%Output:
% pc(pitch after double_chk)
% cor_pc(corresponding correlation)
function [pc,cor_pc]=double_ck(sig_in,p,Dth)
pmin=20; %minimum pitch
[pc,cor_pc]=fpr(sig_in,round(p)); %fractal pitch refine
for n=1:7 %Search the very pitch
k=9-n;
temp_pit=round(pc/k);
if temp_pit>=pmin
[temp_pit,temp_cor]=FPR(sig_in,temp_pit);
if temp_pit<30
temp_cor=double_ver(sig_in,temp_pit,temp_cor);
end
if temp_cor>Dth*cor_pc
[pc,cor_pc]=fpr(sig_in,round(temp_pit));
break;
end
end
end
if pc<30
cor_pc=double_ver(sig_in,pc,cor_pc); %Remove furious short pitch
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -