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 : Sélectionner tout - Visualiser dans une fenêtre à part
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