Anda di halaman 1dari 20

EPITA 14-16 rue Voltaire 94270 Kremlin-Bictre

SCIA PROMO 2005

RECONNAISSANCE AUTOMATIQUE DE LA PAROLE Calculatrice Vocale


Novembre 2004

par: F RANCK B ONNET B ENJAMIN D EVZE M ATHIEU F OUQUIN J ULIEN J EANY

responsable: R EDA D EHAK

TABLE DES MATI ` RES E


1 Introduction 2 Pretraitement 3 Monolocuteur 3.1 DTW . . . . 3.2 LPC . . . . 3.3 MFCC . . . 3.4 Resultats . 1 2 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 4 6 6

4 Multilocuteur 4.1 HMM . . . . . . . . . . . . 4.1.1 Topologie utilisee . 4.1.2 Implementation . . 4.2 Resultats . . . . . . . . . . 4.3 Parole continue . . . . . . ` 4.4 Comparaison a la DTW . . Annexes Bibliographie Glossaire Table des Figures Liste des Tableaux

8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 8 9 9 11 11

a a b c

C HAPITRE 1

I NTRODUCTION
Le but du projet que nous allons dcrire dans ce rapport consiste en la ralisation dune calculatrice vocale, le point intressant tant la reconnaissance de la parole. Nous allons pour cela implmenter plusieurs mthodes, an de les tudier en terme de performance et de qualit de reconnaissance.

C HAPITRE 2

P R TRAITEMENT E
Nous avons dcid de raliser la reconnaissance de la parole directement partir de lentre microphone. Le premier travail eectu a donc consist capturer le signal, puis normaliser celui-ci. Ceci a t implment laide des fonctions fournies par lAPI Win32. Eectuant la reconnaissance sur des mots isols, le deuxime traitement consiste dcouper le signal rcupr en mot. Chaque mot prononc est espac dun silence pour permettre ce dcoupage. Il sagit donc de trouver ces silences an de dlimiter chacun des mots. Pour ce faire nous calculons dans un premier temps lnergie dont dispose un signal reprsentant un silence. E=
xsignal

|x|2

Cette valeur nous sert alors de seuil (celui-ci est ensuite multipli par un coecient lgrement suprieur 1, an de bien direncier les silences). Nous dcoupons grossirement le signal en fentre de 50 ms, puis nous calculons lnergie de chacune de ces portions. Si celle-ci est infrieure au seuil, cela signie quil sagit dun silence, sinon la portion contient un mot (ou une partie dun mot). Ayant rcupr les portions contenant autre chose que du silence, nous recherchons le dbut "rel" du mot (ainsi que sa n) parmi ces portions de signal de la mme manire que prcedemment mais avec des fentres de taille beaucoup plus petite. Le taux de passage par 0 est galement frquemment utilis pour le dcoupage dun signal. En fait notre signal peut avoir quelque fois une nergie infrieure au seuil que lon a x, sans quil sagisse pour autant de silence. Cest donc le taux de passage par 0 qui permet de trancher pour savoir sil sagit ou non de silence. Nous navons pas utilis ce taux dans notre processus de dcoupage, car en pratique le seuil sur lnergie nous fournit des rsultats trs satisfaisants lui tout seul. A la n de ce traitement nous avons une liste de morceaux du signal dorigine, chacun reprsentant un mot prononc.

C HAPITRE 3

M ONOLOCUTEUR
Sommaire
3.1 3.2 3.3 3.4 DTW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MFCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resultats

3 4 6 6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1

DTW

Les systmes de reconnaissance de la parole bass sur lalgorithme de DTW essaient dvaluer la distance entre une observation et une liste de rfrences, ainsi la rfrence pour laquelle cette distance est minimale permet de dire de quel mot il sagit. Cependant un problme se pose pour le calcul de cette distance. Le fait est que lon ne prononce jamais deux fois le mme mot, ce qui est du plusieurs facteurs, telle que la vitesse dlocution. Il sagit de dformation temporelle du signal. Lalgorithme de DTW permet de rsoudre ce problme, il applique un alignement temporel au signal de faon reduire au maximum le cot entre celui-ci et le signal de rfrence considr.

3 Monolocuteur

Reconnaissance automatique de la parole

F. 3.1: Alignement des signaux avec lalgorithme de DTW Lvaluation de la distance entre deux signaux ne seectue pas avec les signaux eux-mmes. Cela ferait beaucoup trop de calculs. Il sagit donc dans un premier temps de trouver une meilleure reprsentation des signaux. Nous allons donc tudier dans les parties suivantes la reprsentation par les coecients LPC, puis par les coecients MFCC.

3.2 LPC
Le codage LPC (Linear Predictive Coding) consiste synthtiser des chantillons partir dun modle de systme de production vocal et dexcitation. Il sagit dune mthode trs frquemment utilise pour lanalyse de la parole, lencodage de la parole, ... Elle tire son nom du fait quelle permet de prdire une valeur future du signal partir dune combinaisons des valeurs prcdentes. Pour calculer les coecients LPC, nous avons eectu les tapes suivantes : Dcoupage du signal en fentre de 30 ms, toutes les 10 ms Application dune fentre de Hamming sur ces portions de 30 ms Calcul des coecients LPC sur ces portions de 30 ms ( laide de la bibliothque it++)

3 Monolocuteur

Reconnaissance automatique de la parole

Lapplication de la fentre de Hamming permet de diminuer la distorsion spectrale. Lors du calcul de la DTW entre 2 signaux on est amen valuer la distance entre 2 vecteurs de coecients LPC. Dans un premier temps, nous eectuions simplement un calcul de distance euclidienne entre ces vecteurs. Nous sommes ensuite pass lutilisation dune autre distance : la distance dItakura-Saito, appele galement distance LLR (Log Likelihood Ratio). Cette formule sappuie sur le calcul de lerreur (au carr) entre le signal et les valeurs dduites par la LPC :
N1 p

E=
n=0

(sn
i=1

ai sni )2

Aprs calcul on a alors : E = at Ra Avec a le vecteur de coecient LPC, et R la matrice dautocorrlation. La distance dItakura se dnit alors par : d(x, y) = log(| xt Rx |) yt Ry

x tant les coecients LPC du signal de rfrence, et y ceux du signal tester. R est la matrice dautocorrlation du signal tester, il sagit en fait de calculer la matrice de Toeplitz. On calcule dans un premier les coecients composant la matrice :
N1k

rk =
i=0

(si si+k )

la matrice est alors : r0 r1 r2 . . . r1 r0 r1 . . . r2 r1 r0 . . . rp1 rp2 rp3 . . . . . . r0

rp1 rp2 rp3

Au niveau de limplmentation il sagit de calculer une matrice R pour chacune des fentres du signal (comme on la vu le signal est dcoup en fentres qui se recoupent). On fait alors appel la matrice R qui va bien, suivant le vecteur de coecients LPC utilis dans le calcul. Le mme travail pourrait tre eectu en travaillant sur la matrice dautocorrlation des signaux de rfrence, ce qui aurait pour avantage de ne pas recalculer les matrices chaque fois, pour des raisons pratiques nous avons gard lutilisation du signal tester pour calculer la matrice dautocorrlation.

3 Monolocuteur

Reconnaissance automatique de la parole

3.3

MFCC

Ltude des coecients MFCC du signal permet dextraire des caractristiques de celui-ci autour de la FFT et de la DCT, convertis sur une chelle de Mel. Il sagit de la mthode la plus utilise pour reprsenter un signal en reconnaissance de la parole, car trs robuste. Son principal avantage est que les coecients obtenus sont dcorrlls. Le calcul des coecients MFCC est ralis de la manire suivante : Praccentuation du signal, il sagit de faire ressortir les hautes frquences avec un ltre passe-haut de la forme H(z) = 1 0.9z1 . Dcoupage du signal en fentre de 30 ms, toutes les 10 ms Application dune fentre de Hamming sur ces portions de 30 ms Application dune transforme de Fourrier sur chacune des portions, on obtient le spectre Cration du banc de ltres, il sagit de plusieurs ltres triangulaires qui vont chacun couvrir une frquence, ils permettent de mieux simuler le fonctionnement de loreille humaine. Conversion en echelle de mel, laide des ltres, de chacune des portions Application dune DCT (Discrete Cosinus Transform) sur les portions, on obtient alors les coecients cepstraux (MFCC). En ce qui concerne lvaluation de la distance entre 2 vecteurs de coecients MFCC pour la DTW, nous utilisons simplement un calcul de distance euclidienne.

3.4

Resultats

Ci-dessous les taux de reconnaissances relevs pour la reconnaissance avec lalgorithme de DTW et reprsentation par coecients LPC et MFCC. Signal reconnatre 0 1 2 3 4 5 6 7 8 9 + / = taux de reconnaissance LPC 90 % 92 % 96 % 97 % 94 % 88 % 100 % 94 % 96 % 100 % 100 % 96 % 98 % 100 % 100 % taux de reconnaissance MFCC 94 % 92 % 98 % 100 % 99 % 95 % 100 % 98 % 100 % 100 % 100 % 92 % 100 % 100 % 100 %

T. 3.1: Taux de reconnaissance LPC-MFCC.

3 Monolocuteur

Reconnaissance automatique de la parole

Des problmes de reconnaissance peuvent apparatre selon les conditions dans lesquelles le signal tester est enregistr. Si le mot est prononc plus ou moins proche du microphone les taux de reconnaissance peuvent varier grandement, malgr la normalisation du signal visant empcher ce phnomne. Cependant si lutilisateur prononce le mot toujours la mme distance et avec la mme intensit, les taux de reconnaissance sont trs satisfaisants. Il rsulte nanmoins que la reprsentation laide des coecients MFCC fournit de meilleurs rsultats, et supporte mieux les limitations exposes lies au problme de la capture du signal. Les rsultats obtenus par la reprsentation par coecients LPC et par lutilisation de la distance euclidienne sur ceux-ci ne sont pas exposs ici, il est noter que les rsultats ntaient pas si mauvais que a, mais toutefois moins bons quavec lutilisation de la distance dItakura-Saito.

C HAPITRE 4

M ULTILOCUTEUR
Sommaire
4.1 HMM 4.1.1 4.1.2 4.2 4.3 4.4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Topologie utilisee . . . . . . . . . . . . . . . . . . . . . Implementation . . . . . . . . . . . . . . . . . . . . . .

8 8 9 9 11 11

Resultats

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Parole continue . . . . . . . . . . . . . . . . . . . . . . . . . . ` Comparaison a la DTW . . . . . . . . . . . . . . . . . . . . . .

4.1

HMM

Les modles cachs de Markov consistent en une mthode statistique. Ils sont une extension des chanes de Markov auxquelles ont t rajout, en chaque tat, des missions de symboles, ces missions tant soumis des probabilits.

4.1.1

Topologie utilisee

Pour chacun des mots de rfrence nous avons cr un HMM (discret). La topologie que nous utilisons pour ceux-ci est un modle gauche-droite, contenant entre 5 et 10 tats, selon que lon est en mode monolocuteur ou multilocuteur. Il sagit dun modle classique employ pour la reconnaissance de la parole.

4 Multilocuteur

Reconnaissance automatique de la parole

F. 4.1: Topologie du HMM utilis

4.1.2

Implementation

Le premier travail consiste crer le "Codebook", cest--dire la liste des symboles pouvant tre mis, puisque nous voulons passer en cas discret. Pour cela nous ralisons un algorithme des k-means sur les vecteurs de coecients reprsentant chacun des signaux de rfrence. Ce "Codebook" sera alors commun tous les HMM de notre systme. Nous avons x la taille de ce "Codebook" 96 lments (pour 15 signaux de rfrence). Des tailles infrieures nous donnaient des rsultats moins satisfaisants, quand prendre des tailles suprieures, les rsultats taient parfois dgrads et le temps de calcul savraient bien plus long. Pour lapprentissage lui-mme nous utilisons simplement lalgorithme de BaumWelch (Forward-Backward). Limplmentation de base ne nous permettait pas dutiliser un grand nombre dexemple pour lapprentissage, ceci cause du fait que certaines probabilits devenaient trop faibles pour tre codables sur la machine. Pour rsoudre ce problme nous avons implmenter la mthode de normalisation des coecients alpha et beta propose par Rabiner. Pour lvaluation, il sut simplement dutiliser lalgorithme Forward. Lalgorithme de Viterbi a galement t implment, il nous permet dtudier quelle squence dtat est emprunt lors de lvaluation dune observation dans un HMM, et galement de calculer la probabilit de la ralisation de cette observation par celui-ci. Lalgorithme en soit ne nous est pas utile pour la reconnaissance de mots isols, lintrt intervenant pour la reconnaissance en parole continue. Cependant les rsultats fournis par lalgorithme restent cohrents avec ceux fournis par la procdure Forward.

4.2

Resultats

Voici les rsultats obtenus avec la reconnaissance par HMM :

4 Multilocuteur

Reconnaissance automatique de la parole

Signal reconnatre 0 1 2 3 4 5 6 7 8 9 + / =

taux de reconnaissance HMM 100 % 96 % 99 % 100 % 100 % 100 % 100 % 100 % 98 % 100 % 100 % 92 % 96 % 100 % 100 %

T. 4.1: Rsultats monolocuteur.

Signal reconnatre 0 1 2 3 4 5 6 7 8 9 + / =

taux de reconnaissance HMM 75 % 55 % 59 % 72 % 76 % 67 % 82 % 76 % 69 % 57 % 81 % 82 % 54 % 73 % 75 %

T. 4.2: Rsultats multilocuteur. Compar la reconnaissance par DTW, les HMM supportent mieux les problmes lis la capture du signal (problme dintensit avec laquelle est prononc le mot, distance par rapport au microphone, ...). Les rsultats sont en gnral bien meilleurs, cependant lorsquun problme de reconnaissance apparat pour un certain mot, les rsultats sont trs mauvais : soit le mot est bien reconnu soit il ne lest jamais, dans quel cas il faut refaire la base dapprentissage. Ces problmes arrivent le plus frquemment quand deux mots ont une prononciation trs proche : un et moins, toile et gal, ces quatre mots sont ceux qui prsente le plus de problmes, les autres sont en gnral trs bien reconnus. En mode monolocuteur, les rsultats sont excellents.

10

4 Multilocuteur

Reconnaissance automatique de la parole

Pour ce qui est de laspect multi-locuteur les rsultats sont moins satisfaisants, de plus pour des voix vraiment direntes de celles utilises pour la base dapprentissage, les rsultats sont trs bas. Cest pourquoi il faut diversier la base dapprentissage au mieux en terme de dirence de voix pour les signaux de rfrence.

4.3

Parole continue

La reconnaissance en parole continue na pas t entirement implmente, des problmes subsistant au niveau de la modlisation du systme. Le principe tudi consiste relier les HMM utiliss pour reconnatre les mots isols entre eux. On insre en premier lieu deux tats : une source et un collecteur. La source est alors reli chacun des tats initiaux des HMM prcdents, puis chacun des tats naux de ces HMM sont relis au collecteur, qui lui-mme est reli la source. Le problme que nous rencontrons avec limplmentation de cette mthode repose sur le fait que les transitions entrantes et sortantes de la source et du collecteur sont des transitions "nulles". Cela signie quil ny a pas dmission de symbole lorsque ces transitions sont empruntes, on a alors une deuxime matrice qui permet de garder ces transitions A . Cependant le systme doit rpondre la contrainte suivante : Ai j + A
ij

=1

Les algorithmes Forward et Viterbi ncssite galement quelques changements pour prendre en compte ces transitions nulles. Le fait est que lapplication de ces transitions nulles ne nous donnent pas de rsultats.

4.4

` Comparaison a la DTW

On a vu que les rsultats obtenus sont meilleurs avec les HMM, surtout dans le cas o la capture audio est eectue dans des conditions direntes : bruit de fond, distance au microphone, ... Cependant si le signal tait captur dans exactement les mmes conditions, il est probable que les rsultats seraient quivalents entre les 2 mthodes. Cependant en terme de temps de calcul, il est bien plus long pour les HMM, mais reste tout de mme raisonnable. Pour bien faire, il faudrait utiliser un seul HMM pour tous les mots, et utiliser lalgorithme de Viterbi an de trouver la squence la plus probable emprunte par un signal reconnatre dans le HMM, ce qui nous permettrait de dduire quel est de faon la plus probable le mot reconnu. Dans ce cas, il est vident que le temps de calcul serait infrieur mme la DTW.

11

Annexes

B IBLIOGRAPHIE
[Cha02] Maurice Charbit. Reconnaissance de mots isols. 2002. [Rab89] Lawrence R. Rabiner. A tutorial on hidden markov models and selected applications in speech recognition. 1989. [XH01] Hsiao-Wuen Hon Xuedong Huang, Alex Acero. Spoken Language Processing. Prentice Hall, 2001.

G LOSSAIRE
DCT Discrete Cosinus Transform. DTW Dynamic Time Warping, algorithme de programmation dynamique classique qui permet de trouver un alignement temporel de cot minimal. FFT Fast Fourrier Transform. HMM Hidden Markov Model. LPC Linear Predictive Coding. MFCC Mel-Frequency Cepstrum Coecients.

TABLE DES FIGURES


3.1 Alignement des signaux avec lalgorithme de DTW . . . . . . . . . 4.1 Topologie du HMM utilise . . . . . . . . . . . . . . . . . . . . . . . . . 4 9

L ISTE DES TABLEAUX


3.1 Taux de reconnaissance LPC-MFCC. . . . . . . . . . . . . . . . . . . 4.1 Resultats monolocuteur. . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Resultats multilocuteur. . . . . . . . . . . . . . . . . . . . . . . . . . . 6 10 10