Bonjour,
Voilà, j'ai des fichiers audio (.wav) qui sont des enregistrements de 13 mots de deux locuteurs : loc1 et loc2.
Maintenant, j'ai fait une fonction de calcul du dtw.
Normalement, si sequence1 égale à sequence2, la fonction renvoie 0.
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 function [D,g]=DTW(sequence1,sequence2) % sequence1 est le mot hypothèse % sequence2 est le mot de référence taille2=length(sequence2)+1; taille1=length(sequence1)+1; % construit une matrice 0 avec 1ère ligne et 1ère colonne à +inf et A(0) = 0 A=matrice_depart(taille1,taille2); for i=2 : taille2 for j=2 : taille1 dist = distance_vect(sequence1,sequence2,i-1,j-1); % calcul la distance entre 2 vecteurs A(i,j) = min([A(i-1, j) + dist, A(i-1, j-1) + dist, A(i, j-1) + dist]); end end g=A; D=A(taille2,taille1)/(taille2-1+taille1-1); end
Jusque là, ça va. Ensuite, pour faire la reconnaissance du mot faut-il construire une matrice de confusion?
J'ai regarder un peu comment faire la matrice de confusion pour calculer le taux de reconnaissance.
https://fr.wikipedia.org/wiki/Matrice_de_confusion
Et donc, en image ce que j'ai compris pour les 3 premiers mots.
L'énoncé dit qu'il doit y avoir une seule erreur entre loc1 et loc2, lorsque je fais la matrice de confusion, j'obtiens une matrice diagonale alors que je devrais avoir une erreur quelque part, je comprends pas.
Est-ce que quelqu'un pourrait m'éclairer?
Merci d'avance.
Partager