Code source pitch détection
S'il vous plaît, j'ai besoin du code source pitch detection pour un signal audio segmenté par la méthode AMDF, j'ai essayé avec la fonction suivante mais pas de résultat:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| function pm = PitchMarking(x, p, fs)
global config;
global data;
% split voiced / unvoiced segments
[u, v] = UVSplit(p);
% pitch marking for voiced segments
pm = [];
ca = [];
first = 1;
waveOut = [];
for i = 1 : length(v(:,1))
range = (v(i, 1) : v(i, 2));
in = x(range);
[marks, cans] = VoicedSegmentMarking(in, p(range), fs);
pm = [pm (marks + range(1))];
ca = [ca; (cans + range(1))];
ra = first:marks(1)+range(1)-1;
first = marks(length(marks))+range(1)+1;
waveOut = [waveOut UnvoicedMod(x(ra), fs, config.timeScale)'];
waveOut = [waveOut PSOLA(in, fs, marks)];
end
data.waveOut = waveOut;
data.pitchMarks = pm;
data.candidates = ca; |
Merci pour tout aide :oops: