UNIVERSITÉ DE NEUCHÂTEL INSTITUT DE MICROTECHNIQUE ANALYSE DE LA PAROLE: RECONNAISSANCE MULTILOCUTEUR DE MOTS ISOLÉS POUR LES SYSTÈMES MINIATURISÉS THÈSE PRÉSENTÉE À LA FACULTÉ DES SCIENCES POUR OBTENIR LE GRADE DE DOCTEUR ES SCIENCES PAR Abdelatif Mokeddem IMPRIMERIE CENTRALE NEUCHATEL 1985 IMPRIMATUR POUR LA THÈSE . fina.1 y se.. .de. I a.. paroi e:.. reçonna i ssançe....................... multilocuteur de mots isolés pour les systèmes miniaturisés de M pnsieur^A^deiatiZ^Wpteddem......................................... UNIVERSITÉ DE NEUCHATEL FACULTÉ DES SCIENCES La Faculté des sciences de l'Université de Neuchâtel, sur le rapport des membres du jury, ..Messieurs.,F...Pellandini, ...H... Hügli...et........................ M. Kunt (EPF-Lausanne) autorise l'impression de la présente thèse. Neuchâtel, le.....Il ..août/1985............................................ Le doyen: #.(&j> H. Beck -iii- TABLE DES MATIERES INTRODUCTION ........................... 1 0. MODELISATION 0.1 Domaines de la communication parlée homme-machine ..... 6 0.2 Approche......................... 6 0.3 Reconnaissance monolocuteur et multi locuteur....... 8 0.4 Taille du système de reconnaissance ............ 10 0.5 Décisions, taux d'erreur et de rejection......... 11 1. L'ANALYSE SPECTRALE A COURT-TERME 1.1 Introduction....................... 12 1.2 Transformée de Fourier à court-terme (TFCT) ........ 13 1.3 Interprétation de la TFCT en termes de filtrage linéaire . 14 1.4 Mesure du module de la TFCT................ 15 1.5 Principe de réalisation pour l'analyse de la parole .... 18 1.6 Choix........................... 19 2. LE TRAITEMENT NUMERIQUE 2.1 Détection des limites d'un mot.............. 23 2.2 Normalisation temporelle ................. 28 2.2.1 Normalisation linéaire à longueur fixe ....... 28 2.2.2 Normalisation curviligne .............. 29 2.3 Normalisation en amplitude ................ 33 . 2.3.1 Normalisation en amplitude globale ......... 33 2.3.2 Normalisation en amplitude par zone......... 33 2.4 Quantification...................... 38 2.4.1 Quantification linéaire ............... 38 2.4.2 Quantification logarithmique ............ 41 2.5 Evaluation expérimentale des paramètres du traitement numérique......................... 42 2.5.1 Tests en reconnaissance monolocuteur ........ 42 2.5.2 Tests en reconnaissance multilocuteur ........ 57 2.6 Discussion........................ 64 -iv- 3. CALCUL DE LA DISTANCE ENTRE MOTS 3.1 Distance entre deux vecteurs-fréquences .......... 66 3.2 Distance linéaire entre deux matrices ........... 66 3.2.1 Distance simple................... 66 3.2.2 Distance avec déplacement global .......... 67 3.3 Distance dynamique entre deux matrices .......... 67 3.4 Comparaison expérimentale des distances linéaires et dynamiques........................ 74 3.5 A propos du rejet..................... 76 3.6 Algorithme sans contrainte sur le début et la fin ..... 77 4. RECONNAISSANCE MULTILOCUTEUR PAR RECALAGE FREQUENTIEL 4.1 Motivation........................ 82 4.2 Recalage frequentici linéaire constant en fonction du temps 85 4.3 Recalage fréquentiel linéaire variable en fonction du temps 86 4.4 Recalage fréquentiel dynamique .............. 87 4.5 Evaluation expérimentale ................. 88 4.6 Conclusion........................ 90 5. ADAPTATION AU LOCUTEUR 5.1 Adaptation au locuteur par transformation ......... 92 5.2 adapataion au locuteur par auto-apprentissage ....... 92 5.3 Discussion........................ 95 6. ANALYSE FACTORIELLE APPLIQUEE AUX ECHANTILLONS MULTILOCUTEUR DE LA PAROLE 6.1 Introduction....................... 98 6.2 Formulation du problème..................99 6.3 Préliminaires.......................100 6.4 Analyse des échantillons multilocuteur d'après les distances mutuelles .................... 103 6.5 Résumé des étapes pour arriver à une représentation dans le plan..........................110 6.6 Analyse des échantillons de parole............111 -V- 7. TECHNIQUES DE CLASSIFICATION AUTOMATIQUE APPLIQUEES A LA RECONNAISSANCE MULTILOCUTEUR 7.1 Introduction....................... 119 7.2 Formulation générale de l'apprentissage multilocuteur . . . 120 7.3 Principes des méthodes de classification automatique . . . 122 7.4 Définitions........................ 125 7.4.1 Définition de la métrique Lq(X11Ci4)........ 125 7.4.2 Définitions de fonctions d'homogénéité d'une classe . 126 7.4.3 Définition du centre de gravité (ou représentant) d'une classe.................... 127 7.5 Partitionnement par l'algorithme d'échange basé sur une fonction-critère (AEC) .................. 127 7.5.1 Introduction.................... 127 7.5.2 Description de l'algorithme AEC........... 128 7.5.3 Choix et étude des fonctions-critères ........ 129 7-5.4 Analyse des différentes fonctions-critères ..... 130 7.5.5 Tests de reconnaissance multilocuteur ........ 137 7.5.6 Comparaison des choix du représentant d'une classe . 140 7.5.7 Comparaison entre l'algorithme AEC et l'algorithme B. Isodata...................... 141 7.5.8 Le point sur l'algorithme AEC............ 144 7.6 Partitionnement par l'algorithme séquentiel base sur une fonction-critère (ASC)................... 145 7.6.1 Principe...................... 145 7.6.2 Description de l'algorithme ASC........... 146 7.6.3 Choix et étude de fonctions-critères pour l'algorithme ASC.................. 147 7.6.4 Comparaison de l'algorithme ASC avec l'algorithme UWA 150 7.6.5 Tests de reconnaissance multilocuteur ........ 152 7.7 Elimination des isolés.................. 154 7.8 Nombre variable de références par mot........... 157 7.9 Conclusion........................ 160 CONCLUSION GENERALE ....................... 161 ANNEXE A : Paramètres du traitement numérique et du calcul de distance....................... 163 -Vi- ANNEXE B : Glossaire.......................165 BIBLIOGRAPHIE .......................... 167 REMERCIEMENTS .......................... 175 Introduction La parole est un moyen naturel de communication entre les hommes. Les efforts entrepris depuis une trentaine d'années pour mettre au point des systèmes de reconnaissance automatique de la parole ont obtenu un succès limité et ont surtout montre la nature complexe de la communication parlée. L'auditeur humain utilise plusieurs niveaux de traitement pour la reconnaissance de la parole. Le premier niveau est la détermination des caractéristiques du signal de parole lui-même, c'est-a-dire l'analyse acoustique. Viennent ensuite les niveaux phonétique, lexical, syntaxique, sémantique, etc. C'est dire combien chez l'homme la reconnaissance et la compréhension de la parole sont intimement liées. Avec l'arrivée des ordinateurs rapides vers les années 1960 et surtout depuis 1970, permettant en particulier le traitement en temps réel, de gros efforts ont été déployés. Le lancement du projet ARPA aux Etats-Unis en 1971 a été décisif en ce qui concerne l'évolution du traitement de la parole /31/. Les avantages de la reconnaissance automatique de la parole sont tellement importants que l'on trouve déjà sur le marché des dispositifs d'utilisation limitée, mais néanmoins efficaces. Citons certaines applications qui ont déjà vu le jour : saisie vocale de données, aide aux handicapés, chambre d'hôpital avec possibilités de commandes vocales pour le malade, commande vocale de robot, commande vocale d'une montre portable, etc. La mise au point d'un système de reconnaissance automatique de la parole rencontre deux types de difficulté : les variations intra-locuteur et les variations inter-locuteur. De telles variations sont dues a la complexité physique de l'appareil vocal qui présente une soixantaine de muscles pouvant participer a la phonation /49/. Les variations intra-locuteur concerne un même locuteur, qui tout en prononçant un même mot peut parler de différentes façons d'une fois à l'autre. Ces variations ont pour causes : le soin apporté a l'articulation, la vitesse d'élocution, le niveau sonore, etc. Les variations inter-locuteur sont dues aux dimensions et proportions de -2- 1•appareil vocal variables selon l'âge, le sexe et la taille, aux manières de réaliser tel ou tel son liées à l'anatomie et aux habitudes artlculatoires de chaque individu. Les systèmes qui existent actuellement peuvent reconnaître un ensemble de mots isolés, un ensemble de mots enchaînés et même de la parole continue, mais avec d'importantes limitations {vocabulaire limité, syntaxe rigide, locuteur consciencieux). Les techniques utilisées sont celles de la reconnaissance des formes /17/,/24/,/82/. La plupart des systèmes existants utilisent l'une des deux méthodes d'analyse du signal de parole suivantes : IJ méthode fréquentielle : la transformée de Fourier a court terme du signal de parole est obtenue par un banc de filtres passe-bandes suivis de détecteurs d'enveloppe /22/; 2) méthode temporelle : le signal de parole est représenté par des coefficients de prédiction linéaire (LPC) calculés a des intervalles de temps réguliers /55/. L'alignement temporel entre la forme inconnue et la forme de référence constitue le problème majeur dans un système de reconnaissance de mots Isolés ou enchaînés. Pour le résoudre, la technique de programmation dynamique est appliquée avec succès /36/,/78/,/84/. La plupart des systèmes.existants sont monolocuteur, c'est-a-dire qu'ils reconnaissent "bien" la voix d'un seul locuteur. Il y a pourtant des applications typiquement multllocuteur (par exemple : réservation ou renseignement par téléphone). C'est pourquoi différents travaux sont menés pour résoudre le problême de la reconnaissance multilocuteur. Les méthodes utilisées sont basées sur l'un des principes suivants /32/ : 1) définition, pour chaque mot, d'un ensemble de caractéristiques Indépendantes du locuteur /79/; 2) adaptation au locuteur /9/,/26/,/38/,/51/; 3) caractérlsation statistique de la variation Interlocuteur par une technique de regroupement /23/,/67/,/74/,/75/. Un point important qu'il faut prendre en considération lors de la mise au point d'un système est sa taille, en particulier ses besoins en mémoire. On peut classer les systèmes de reconnaissance automatique de la parole d'après leur taille comme suit : 1) système miniature avec une ou quelques puces; 2) système sur une ou plusieurs cartes à microprocesseur; 3) gros système. -3- Dans ce travail Le but du présent travail est l'étude et la mise au point de systèmes miniaturisables de reconnaissance multilocuteur de mots Isolés en temps réel. a) compression de données Les algorithmes développés pour extraire les caractéristiques d'une locution sont décrits comme une suite d'opérations a effectuer : compression temporelle, normalisation en amplitude par zone et quantification. Chaque. opération peut être ajustée par l'intermédiaire d'un ou plusieurs paramètres. L'évaluation du taux d'erreur en fonction des divers paramètres dans un environnement monolocuteur et multilocuteur nous permet d'effectuer un choix optimal des paramètres selon le degré de miniaturisation souhaité. b) reconnaissance multilocuteur Nous avons abordé l'aspect multilocuteur selon plusieurs approches. La première approche envisagée concerne le recalage frequentici. Il s'agit d'éliminer le plus possible les différences entre les locuteurs (hommes, femmes et enfants) par un recalage des motifs spectraux des locutions. La deuxième approche testée est l'auto-adaptation du système de reconnaissance à un nouveau locuteur. L'adaptation s'opère par modification des références pendant l'utilisation. La troisième approche, le point le plus Important de ce travail, consiste dans la création de références multilocuteur. On y décrit de manière statistique les variations înter-locuteur : Il s'agit de trouver, pour l'ensemble des formes différentes (les diverses prononciations) d'un même mot telles qu'elles sont rencontrées dans une large population, un nombre réduit de références qui les décrivent au mieux. La méthode suppose l'existence d'un certain nombre de classes de prononciations au sein d'une population. La question qui se pose est de savoir s'il existe réellement des classes de prononciation au sein d'une population. L'application de l'analyse factorlelle permet de répondre a cette question. Avec cette méthode, on peut représenter les prononciations d'un ou plusieurs mots par plusieurs locuteurs dans un espace de dimension réduite, ce qui permet d'analyser visuellement la distribution des prononciations. -4- Par la suite, nous développons et appliquons à la reconnaissance multilocuteur des mots isolés deux algorithmes de classification basés respectivement sur une fonction-critère. Il s'agit de l'algorithme d'échange basé sur une fonction-critère (AEC) et de l'agorithme séquentiel basé sur une fonction-critère (ASC). Une comparaison par rapport à d'autres algorithmes appliqués à la reconnaissance multilocuteur des mots isolés est effectuée. D'autres aspects du problème, tels que le choix du représentant, l'élimination des isolés, le nombre variable de classes par mot sont également étudiés, et des solutions sont proposées. Contenu Dans le chapitre 0, nous commençons par modéliser le système de reconnaissance automatique de la parole et nous définissons les termes qui seront utilisés. Nous situerons également ce travail dans le domaine de la communication parlée homme-machine. L'analyse par 'banc de filtres passe-bandes' correspond au calcul de la transformée de Fourier à court terme. Ceci est rappelé dans le chapitre 1. Dans le chapitre 2 nous présentons les algorithmes de traitement numérique, dont le but consiste à standardiser et a dégager les caractéristiques essentielles du signal de parole. L'aspect compression de données est une tâche importante du traitement numérique dans la perspective de réalisation des systèmes miniaturisables. Dans le chapitre 3, nous présentons et comparons les différentes méthodes de comparaison entre deux mots, mis sous leur forme matricielle. Le chapitre 4 est consacré aux méthodes de recalage fréquentiel. Le chapitre 5 aborde le problème de l'auto-adaptation du système de reconnaissance au locuteur. Dans le chapitre 6, nous développons une méthode de représentation des échantillons multilocuteur. Elle est basée sur l'analyse factorielle. Elle permet de voir dans un espace familier la répartition des échantillons, et de mettre en évidence l'existence éventuelle de classes de locuteurs typiques au sein d'une population. Dans le chapitre 7, nous étudions et appliquons divers algorithmes de classification automatique pour 'faire sortir' les classes de locuteurs au -5- sein d'une population, ainsi que leurs représentants. D'autres aspects du problème y sont également traités. O. Modélisation 0.1 Domaine de la communication parlée homme-machine Le domaine de la communication parlée homme-machine peut être subdivise selon la figure 0.1. Dans la communication parlée homme-machine, le système de synthèse est prévu pour répondre vocalement a l'homme : c'est la machine qui "parle". La reconnaissance du locuteur consiste a déterminer ou à vérifier l'identité d'un locuteur. Dans la reconnaissance»automatique de la parole, la machine "écoute" et "comprend". Nous avons divisé le domaine de la reconnaissance automatique de la parole (RAP) en quatre sous-domaines : la reconnaissance des mots isolés, la reconnaissance de mots enchaînés, la reconnaissance et compréhension de la parole continue avec un vocabulaire et une syntaxe limités et enfinola reconnaissance et la compréhension du langage naturel. Seuls les trois premiers sous-domaines sont envisageables aujourd'hui. La reconnaissance et la compréhension du langage naturel par une machine est encore un rêve dans l'état actuel des connaissances /48/. Il y a une grande dégradation des performances quand un système de RAP entraîné par un locuteur particulier est utilisé par d'autres locuteurs. Ainsi, nous avons divisé chacun des sous-domaines en partie monolocuteur et multilocuteur. 0.2 Approche Il existe deux approches permettant d'aborder la reconnaissance de la parole : l'approche globale et l'approche analytique /31/. Dans l'approche globale, l'unité de base est le mot : le mot est considéré comme une entité indivisible. Une petite phrase, de très courte durée, peut aussi être considérée comme un mot. Dans l'approche analytique, on tente de détecter et d'identifier les -7- composantes élémentaires de la parole que sont les phonèmes. L'approche analytique permet de traiter de gros vocabulaires, alors que dans l'approche globale on est limité a des vocabulaires de petite ou moyenne taille. Mais la méthode analytique a un grand inconvénient : l'extrême variabilité du phonème en fonction du contexte (effets de la coarticulation). C'est pourquoi la méthode globale a été choisie dans ce travail. Synthèse de la parole HotS isolés Coranunication parlée Homme-Machine Analyse de la parole Ree. de la parole Ree. du locuteur Mots enchaînés Mono. Multi, Parole continue avec restrictions Mono. Multi. langage naturel Mono. Multi. Fig.0.1 Domaine de la communication parlée homme-machine -8- 0.3 Reconnaissance monolocuteur et multilocuteur a) système de reconnaissance Le principe utilisé est illustré dans la figure 0.2. Il comprend deux phases : - la phase d'apprentissage : on crée pour chacun des mots une ou plusieurs formes de référence qui sont rangées dans un dictionnaire (mots de référence) - la phase de reconnaissance : on identifie un mot inconnu à l'un des mots de référence rangés dans le dictionnaire. Il y a deux opérations communes a la phase de reconnaissance et d'apprentissage : 1) analyse du signal acoustique, par exemple l'analyse spectrale par banc de filtres; 2) traitement numérique {détection des limites du mot, compression temporelle, normalisation en amplitude et quantification) Le rôle du classifieur consiste à choisir le mot de référence le plus semblable au mot inconnu. Le choix est basé sur le calcul de la distance entre le mot inconnu et tous les mots de référence. b) Création de références Soit A1nIy la v-ième prononciation par le.locuteur 1 du mot m et An^ le résultat obtenu après l'analyse spectrale et le traitement numérique. La création de référence consiste a déterminer, à partir d'un ensemble de prononciations (An^J , un ensemble de références (j^l . Considérons le cas de la création de références pour chaque mot de manière séparée. En supprimant l'indice m, la création de références devient : {Aw} -------* {Alv} -------* (Rx) c) Approches de reconnaissance multilocuteur Dans ce travail, trois approches sont envisagées pour la reconnaissance multilocuteur : 1) recalage fréquentiel : on modifie le classifieur pour qu'il tienne -9- OJ L. U Ol l+- Vl O VU w- IO s: s- LJ C O 4-> (0 • •Ol it- i. XD (_ Ct /T—' l'i ! r—O O-. i ¦*- - Ol 3 er «J (- «1 L. 3 1- C ** *. OJ 41 "D Ul i- >l*J •— LJ ™ a C O. « Ul -r- , e Û S t t O 4J — -ID- compte des variations inter-locuteur (chapitre 4). 2) Auto-adaptation au locuteur : un apprentissage initial est effectué sur un locuteur quelconque. Les références sont modifiées pendant la phase de reconnaissance pour être adaptées au nouveau locuteur {chapitre 5). 3) Apprentissage multi locuteur (Fig.0.2) : partant d'un grand nombre de prononciations A-|v pour chacun des mots, on détermine, d'après une technique de classification, un nombre limité de classes Ck, puis un représentant Rk pour chaque classe; les R^ constituent alors la référence multiple pour le mot donné (chapitre 7). 0.4 Taille du système de reconnaissance Nous pouvons classer les systèmes de reconnaissance d'après leur taille comme suit : 1) systèmes miniatures : il s'agit des systèmes intégrés sur une ou quelques puces possédant une taille mémoire de quelques Kbytes /9/. Z) systèmes moyens : Il s'agit des systèmes réalisés sur une ou deux cartes à microprocesseur avec une taille mémoire d'environ 128 Kbytes. 3) gros systèmes (par exemple : DPlOO de NEC, M1800 de VERBEX, etc.) L'unité d'analyse spectrale utilisée dans ce travail (Fig.0.2) délivre 8400 bits pour un mot d'une durée moyenne de 500 ms. Il faut disposer donc d'une capacité mémoire d'environ 1 Kbyte par mot. Comme notre travail va dans le sens de systèmes miniaturisables, il est nécessaire de réduire cette quantité de données. Nous montrons au chapitre 2 que celle-ci peut être fortement réduite, sans détérioration des performances. A titre d'exemple, dans la figure 0.2, après l'analyse spectrale (prétraitement analogique) et le traitement numérique, le nombre de bits par mot est ramené à 280 bits. -11- 0.5 Décisions, taux d'erreur et taux de rejection Soit A111 la forme finale de la prononciation du m-ème mot et Rn,,^ la k'-eme forme de référence du m'-ième mot la plus proche de ^n, c'est-à-dire : D(VVk') * D(A111 ,Rij) Y m'=l,...,Met k'=l,...,K où DUnpRj-j) est la distance entre ^n et R^j. Il y a : - rejection si la distance D(A^1R111.^.) dépasse un certain seuil. - reconnaissance juste si m = m' (An, et Bn,^' représentent le mène mot; la distance D(Wk') étant inférieure au seuil de rejection - erreur de reconnaissance si m * m' (A1n et JJn,• ^ ne représentent pas le même mot; la distance D(Wk' ) étant inférieure au seuil de rejection} Soit Nt le nombre total de tests, Er le nombre total d'erreurs de reconnaissance et Rj le nombre total de rejections. On définit : taux d'erreur = (Er/Nt).100* taux de rejection = (Rj/Nt).100% -12- 1. L'analyse spectrale à court-terme 1.1 Introduction Beaucoup de systèmes de traitement de la parole sont bases sur le concept de l'analyse fréquentielle a court-terme qui est une représentation de la parole dans le domaine frequentici et temporel. Son succès est lié fondamentalement au fait que cette méthode d'analyse est proche de la nature du signal acoustique et de l'appareil auditif. Le signal acoustique de la parole est un signal quasi-stationnaire. En conséquence, son spectre de fréquence a court-terme n'évolue que relativement lentement dans le temps. Ce spectre est donc une caractéristique propice à l'analyse de la parole puisqu'il contient l'essentiel de l'information acoustique et qu'il ne change que relativement lentement. L'analyse fréquentielle pratiquée exploite l'insensibilité de l'ouïe aux variations de phase et ne retient en conséquence que l'information relevante pour l'oreille, c'est-à-dire le spectre a court-terme du signal acoustique. Le calcul de la transformée de Fourier complexe classique X(w) de tout le signal x(t) d'un mot serait inadéquat pour de multiples raisons. D'abord, ce calcul exige la connaissance de tout le signal acoustique et rend pratiquement impossible tout traitement en temps réel. Ensuite, comme c'est Tévolutivité de la parole dans le temps qui est recherchée, ni X(w), ni |X{w)| ne sont utiles; en effet, le spectre complexe X(w) ne contient Tévolutivité que sous une forme implicite et quant au spectre d'amplitude |X(w)|, celle-ci manque complètement. La notion de transformée de Fourier à court-terme s'impose donc. Dans ce chapitre, on montrera clairement le lien entre la définition théorique de la transformée de Fourier à court-terme (TFCT) et sa réalisation par un circuit pratique. -13- 1.2 Transformée de Fourier à court-terme (TFCT) D'une part, le signal x(t) est transformé de telle façon que l'intégration à un instant donné s'effectue seulement sur les valeurs du passé; d'autre part, pour mettre en évidence le phénomène d'évolutivité, on ne tient compte que du passé récent du signal x(t). On remplit ces exigences en multipliant le signal x(t) par une fenêtre temporelle h(t-t') (voir Fig.1.1) M l\ ! x(t') 1 / IaA V*J VWv V ^J \J\i V t' h(t-t') t \ h(t') t' t'=0 t' Fig.1.1 Illustration de la définition de la TFCT Soit donc une fenêtre temporelle h(t-t') telle que : h(t-t') =0 si t' > t (1.1) La définition de la transformée de Fourier a court-terme est la suivante: xtw.1) " Cx(f)h(t-t')exp(-jwt')df (1.2) -14- On suppose naturellement que le choix de h(t-t') est fait de telle façon que cette intégrale existe. On peut montrer (voir Flanagan /22/) que l'on peut retrouver le signal temporel x(t) à partir de la TFCT X(w,t). Ainsi, puisque la transformée inverse existe, l'information contenue dans le signal x(t) est entièrement véhiculée dans X(w,t}. 1.3 Interprétation de la TFCT en termes de filtrage linéaire La fenêtre temporelle h(t') peut être vue comme étant la réponse impulsionnelle d'un système physiquement réalisable, puisque h(t') = 0 pour t' <0. Plus précisément, h(t') peut être interprétée comme étant la réponse impulsionnelle d'un filtre passe-bas. En faisant un changement de variable t" = t - t' dans la relation (1.2) il vient : X(w,t) =;0 x{t-t")h(t")exp(-jw(t-t")) (-dt") CP = -exp(-jwt) / x(t-t")h(t")exp(jwt") dt" CO = exp(-jwt) r x(t-t')h(t')exp{jwt') dt' (1.3) O En introduisant le produit de convolution x(t)*h(t)exp{jwt), la relation {1.3} qui exprime la transformée de Fourier à court-terme peut être réécrite comme suit : (1.3) — X(w,t) = exp(-jwt) (x(t) * h(t)exp{jwt}) (1.4) à laquelle correspond le schéma fonctionnel de la figure 1.2. -15 h(t)ejwt O x(t) VJV X(w,t) e-jwt Fig.1.2 Schéma fonctionnel de la TFCT selon (1.4) 1.4 Mesure du module de la TFCT . Dans l'analyse de la parole, seul le module la TFCT nous intéresse. Naturellement, il peut être entièrement calculé si l'on définit la fenêtre h(t). Toutefois le temps de calcul est tellement important, qu'on ne peut envisager cette solution dans un système en temps réel. La détermination du module de la TFCT a l'aide d'un système physique tel qu'il est décrit dans ce qui suit est plus avantageuse. D'après la figure 1.2 ou d'après la relation (1.4) on a : |X(w,t)| = |e*p(-jwt)|.|x(t) * h(t)exp(jwt)| = |x(t) * h(t)exp(jwt)| (1.5) car |exp(-jwt)| = 1. Le schéma fonctionnel en notation complexe pour la mesure du module de la TFCT a en conséquence la forme simple de la figure 1.3. -16- x(t) Jh(t)eJ'wt I I I t X(w,t I |X(w,t)| Fig. 1.3 Schema fonctionnel pour la mesure du module de la TFCT La réalisation physique correspondante apparait en développant (1.4) : X(w,t) = exp(-jwt) (/~x(t-t')h(t' Jcoswt'dt' - /!"«(t-t* }h(t' Jsinwt' dt' = exp(-jwt) (a(w,t) + j.bW.t)) (1.6) r 11 vient : |X(w,t)| = (a2(w,t) + b2(w,t))1/2 (1.7) avec : alw.t) = x(t) * h(t)cos(wt) t)(w,t) = x(t) * h(t)sin{wtj (î.s; (1.9! Ce qui conduit a la méthode de mesure du spectre d'amplitude de la figure 1.4. -17- a(w,t) MOcoswt ! ( )2 A ,,1/2 x(0 ^ lX(w,t)l MOsinwt ( )2 t I b(w,t) Fig.1.4 Realisation physique du module de la TFCT La realisation physique selon la figure 1.4 conduit à un circuit relativement lourd. En introduisant la définition du détecteur d'enveloppe, on peut la simplifier. On va montrer /22/ que, dans certaines conditions, l'amplitude (a*(w,t) + b2(w,t))*'2 peut s'obtenir, à l'aide d'un détecteur d'enveloppe, à partir de a(w,t) tout seul ou de b(w,t) tout seul. La transformée de Hilbert x(t) d'un signal x(t) est définie par le produit de convolution suivant : x(0 = x(t) * — (1.10) TTt On va montrer que b{w,t) est la transformée de Hilbert de a(w,t). En utilisant la propriété d'associativité du produit de convolution, on a â(w,t) = H( x(t) * h(t)coswt ) = x(t) * H( h(t)coswt) ) Si les spectres de h(t) et coswt ne se chevauchent pas /6/, /22/ â(w,t) = x(t) * MO H( coswt ) = x(t) * h(t)sinwt = b(w,t) (1.11) -18- Alnsl : (a2(w,t} + I)2Kt))1'2 = (a2(w,t) + â2(w,t))l'2 {1.12) Donc, le module de la transformée de Fourier a court-terme X(w,t) s'obtient à partir de a(w,t) seul, en déterminant l'enveloppe de a(w,t). 1.5 Principe de réalisation pour l'analyse de la parole En faisant varier w dans la figure 1.4, on obtient un banc de filtres passe-bande; chacun des filtres passe-bande est suivi par un détecteur d'enveloppe. Ainsi, la mesure du module de de la TFCT conduit au schéma pratique d'analyse de la parole de la figure 1.5. Le signal électrique obtenu à la sortie du microphone (après avoir été amplifié et préaccentué) passe à travers un banc de filtres passe-bande. Le signal à la sortie de ces filtres passent ensuite a travers un circuit détecteur d'enveloppe qui peut être approché soit par un redresseur suivi d'un passe-bas, sdt par un circuit RMS. On obtient, ainsi, une approximation du module de la TFCT à court terme. Ces signaux analogiques sont convertis en signaux numériques et transmis. '" I [ Micro. ilexeur I' A/D Ampli. Préacen et t. »e; x; F pas il tre e-ban [ de c étect 'enve eur loppe Fig.1.5 Schéma de principe du processeur analogique -19- 1.6 Choix En plus des considérations des paragraphes précédents, le traitement analogique exploite le modèle simplifié de l'appareil auditif. Ce dernier est supposé sensible au logarithme de l'énergie dans une bande fréquentielle, la taille de ces bandes étant proportionnelle à leur fréquence centrale. Par ailleurs, l'appareil vocal ayant une certaine inertie, on a un phénomène de quasi-stationnarité. C'est pour cela qu'on se contente de 100 échantillons par seconde et par canal. Le traitement analogique choisi {figure 1.6) est décrit dans ce qui suit. Le signal à la sortie du microphone est préamplifié et passe ensuite a travers un filtre de préaccentuation, dont le rôle est de renforcer l'énergie des hautes fréquences. Ce filtre a un réponse en amplitude constante jusqu'à 0.33 kHz, une pente positive de 6dB/octave de 0.33 kHz à 4.8 kHz, une amplitude constante de 4.8 à 10 kHz, et une pente négative de 6dB/octave au delà de 10 kHz. Ensuite, le signal passe a travers une série de filtres passe-bas de deuxième ordre (filtres d1'antialising'), suivie d'un banc de quatorze filtres passe-bande. Les filtres passe-bande sont des filtres à capacité commutée. Leurs largeurs de bande sont réparties logaritttniquement selon l'axe fréquentiel (voir table ci-dessous) Le choix des filtres a capacité commutée a été motivé par la faible surface d'intégration qu'ils exigent par rapport à d'autres types de filtres. Les signaux de sortie des filtres passe-bande passent ensuite à travers les circuits RMS. Les quatorzes signaux obtenus sont appliqués séquentiellement à un convertisseur A/D de 12 bits. Chaque canal est échantilloné a une fréquence de 100 Hz (globalement 1400 échantillons de la TFCT à la seconde). Le processeur analogique livre donc 100x14x12 = 16800 bits/seconde. -20- No du filtre Fréquences a 3 dB en Hz 1 75 - 150 2 150 - 300 3 300 - '378 4 378 - 475 5 475 - 600 " 6 600 - 756 7 756 - 952 8 952 - 1200 9 1200 - 1512 10 1512 - 1905 11 1905 - 2400 12 2400 - 3024 13 3024 - 3810 14 3810 - 4800 Table 1.1 Fréquences à 3 dB des filtres passe-bandes -21- \ St l\ It if it It it St St it it it I I I I r A Ir B t r i -22- -23- 2. Le traitement numérique Le traitement numérique tel qu'il est défini ici comprend les étapes successives suivantes : 1} la détection des limites d'un mot 2) la compression temporelle 3) la normalisation d'amplitude 4) la quantification. L'objectif de la compression temporelle, de la normalisation d'amplitude et de la quantification est de transformer les données relatives a un mot a la sortie de l'analyseur spectral en un petit ensemble de caractéristiques, par exemple sous la forme d'une matrice décrivant encore fidèlement les propriétés utiles a la reconnaissance du mot. Chacune de ces opérations peut être ajustée par l'intermédiaire d'un ou de plusieurs paramètres- L'évaluation du taux d'erreur en fonction des divers paramètres dans un environnement monolocuteur et multilocuteur nous permet d'effectuer un choix optimal des paramètres selon le degré de miniaturisation souhaité. 2.1 détection des limites d'un mot Il existe un grand nombre de variantes d'algorithmes de détection des limites d'un mot /42/, /71/. L'algorithme utilisé ici est décrit par les trois points suivants : 1. Nous avons un début de mot dès que l'amplitude moyenne K est supérieure à un certain seuil s; a^k} est le signal à la sortie du -24- k-ième canal, échantilloné à l'instant m. 2. Nous avons une fin de mot, si on a déjà détecté un début de mot, et si l'amplitude moyenne ^ reste inférieure au seuil s pendant une durée supérieure à T5^ (typiquement 200ms). 3. La durée d'un mot doit être au moins égale a Tn^n (typiquement 200ms) et au plus égale à Tmax (typiquement 2000ms). Le paramètre T11^n permet de rejeter un bruit pour autant qu'il dure moins que Tn^n. Le paramètre T5^ permet d'avoir des silences au sein d'un mot, si leurs durées sont inférieures a Tsij (par exemple, silence avant les plosives). Adaptation du seuil au bruit ambiant Le seuil s doit être adapté au bruit ambiant. Pendant une certaine durée (typiquement 10.Te, où Te est la période d'échantillonnage par canal ; T£ = 10 ms), on mesure la moyenne du niveau de l'amplitude du signal du bruit ambiant : Iz= Smo " m0 m=l ^ où m0 est choisi égal à 10 (cela correspond a 100 ms). Le seuil est ensuite déterminé à l'aide de la relation de récurrence suivante : sm " Q*sm-1 + d -°)-¾ ce qui correspond à un filtrage numérique passe-bas dont la fonction de transfert en z est : H(I). -L^1 1 - a.z *¦ Pratiquement, a est choisi égal à 0.9, ce qui correspond à un temps de montée d'environ 10.T6. En outre, on fixe la valeur minimale de sm à une valeur smin : -25- sm = M« (sm, S011n) Nous avons alors un début de mot dès que : \ > (1+ 6)sm avec 6= 0.5 Jusqu'à la fin du mot, le seuil reste celui pour lequel cette dernière inégalité a été vérifiée pour la première fois. L'organigramme de la figure 2.2 décrit complètement cet algorithme. Cas d'une préaccentuation insuffisante Dans le cas d'une préaccentuation insuffisante des hautes fréquences {leur niveau d'amplitude à la sortie du microphone est beaucoup plus petit que celui des basses fréquences), on effectue un traitement séparé des canaux basses fréquences et hautes fréquences. Dans ce cas, il faut déterminer deux seuils : slm pour les canaux basses fréquences et s^ pour les canaux hautes fréquences. La détermination des seuils slm et s^ est effectuée de la même façon que dans le cas ou il n'y a pas de séparation de traitement entre les basses fréquences et les hautes fréquences. Soit 31m et I2m, respectivement la moyenne dans les canaux basses fréquences et hautes fréquences. Les conditions de début de mot et de fin de mot deviennent 1. Nous avons un début de mot dès que : 31m > slm SU 52m > s2m 2. Nous avons une fin de mot si on a déjà détecté un début de mot, et si les deux relations suivantes sont verifées pendant T5^ 51m < slm et â2m < s^ -26- ^ueiqwe ;tnjq sjnsaui ! i i I f T I I I r T—I—I-----1—r [tnss § auuaXom apn^iiduie -27- Initi alisation du seuil pendant 100 ms • m = m + 1 non m' = m Tc =0 - m - m * 1 Tc =0 non Fig.2.2 Algorithme de détection de début et de fin de mot -28- 2.2 NormaUsation temporelle La durée des mots prononcés étant en général variable, les matrices brutes MK,M) = {a^k), k = I1 ..., K ; m = l, ..., M } auront un nombre variable d'échantillons temporels. Si le nombre des canaux K est fixe d'une matrice à l'autre, la durée temporelle M est variable. La normalisation temporelle, telle que nous l'entendons dans ce paragraphe consiste dans la transformation de la matrice ^(K,M) où H est variable d'une prononciation à l'autre, en une une nouvelle matrice J^(K,N) où N est fixe et généralement plus petit que M. Deux types de transformation sont étudiés ici : 1) la normalisation linéaire 2) la normalisation curviligne. La normalisation linéaire a pour but de : - standardiser et comprimer les mots en durée. La normalisation curviligne /20/, /28/, /60/, /87/ a un second but : - réduire systématiquement la durée des zones stables, mettant ainsi en évidence les zones de transition. Lorsque la comparaison, ou calcul de distance, entre deux matrices est effectuée de façon linéaire, une normalisation temporelle est nécessaire. Par contre, elle n'est pas nécessaire dans le cas d'une comparaison dynamique {Chapitre 3). 2.2.1 normalisation linéaire a longueur fixe Elle consiste à comprimer linéairement la durée'M d'un mot en une durée N fixe et généralement plus petite que H. Soit : Jjn, m = 1, ..., M une suite temporelle de M vecteurs à normaliser Jin n = 1, .... N une suite temporelle de N vecteurs désirés Les conditions aux limites sont fixées ainsi : A l'indice n du vecteur Jin correspond un indice réel : -29- a= (n-l)(M-l)/(N-l) + 1 Par Ia suite, différentes variantes peuvent être envisagées. Nous avons opté pour la variante du voisin le plus proche : Soit m' l'entier le plus proche de et. Nous avons alors : ^i =im' Ceci revient à rendre variable le rythme d'échantillonnage des canaux. 2.2.2 Normalisation curviligne Le signal de parole peut être considéré comme une fonction du temps m dans l'espace EK (K est le nombre de canaux) : H(m) = ( 3,,,(1), 3,,(2).....On(K) ) Il y aura une faible variation de H{m) lorsqu'il y a des sons stables (généralement les voyelles, silence avant les plosives), et une forte variation lors des transitions entre des sons stables. La normalisation curviligne se base sur le' fait que les transitions dans un mot sont plus caractéristiques du mot que les états stationnaires. Soit dy(m\ la distance entre deux valeurs successives de W(m), c'est-à-dire entre les deux vecteurs-fréquences successifs Jin, et Jn,^ dW(m) = d(im»àn-l) et Dy(mj la distance cumulée a l'instant m m °W(in) = m dW(i) La valeur finale IWMî représente la variation totale de la fonction W(m). La normalisation curviligne peut alors se faire selon l'illustration de la figure 2.3. Soit N le nombre de vecteurs-fréquences à déterminer. On place sur l'axe ^H(m) (f^9*2.3c) N points espacés uniformément avec un pas ÛD = (W^i/N. A chacun de ces points sur l'axe IW1nI est ensuite associé un point m' sur -30- l'axe m. Au point m' nous associons alors le vecteur Jjn, dont l'Indice m est le plus proche de m1. Diverses variantes peuvent être alors envisagées pour la définition du vecteur ^n. Dans 1'organigramme de la FIg.2-4, c'est la variante du successeur qui est indiquée : ^n = ^n, Jjn, étant le vecteur pour lequel Dw/mj dépasse (n-1) AD. (ai W(ml a.s< (b) temps (indice m S s s- /* ' * 111 . S S ^*- s* ^ __* s* f J y __* " +s A :o temps (indice ml Fig.2.3. illustration de la normalisation temporelle curviligne (a) spectrogramme du mot "cinq" (b) distance entre vecteurs-fréquences successifs dw> . (c) distance cumulée D11, s échantillonnée avec un pas -32- Algon'thme Jn, , m = 1,...,M les vecteurs d'entrée J)n , n =1,...,N les vecteurs de sortie calculer Dy/Hj calculer le pas ÛD = DW(Mj/n m =1 ; n =1 ; b± =_aj ; DyM) a ® m = m + 1 DW(m) =DW(m-l) + dW(m) non n = n + 1 oui -K n < Fig.2.4 Algorithme de normalisation curviligne -33- 2.3 Normalisation en amplitude En général, le niveau d'amplitude d'un même mot varie d'une fois à l'autre. Il y a plusieurs raisons à cela : voix plus ou moins haute, distance locuteur-microphone plus ou moins longue, gain de l'amplification plus ou moins grand, etc. Pour compenser ces variations, il convient de normaliser en amplitude les éléments de la matrice brute. La normalisation en amplitude consiste à diviser chaque élément a(k,m) de la matrice brute A par une valeur de normalisation f(k,m,A) : a'{k,m) = a(k,m) / f{k,m,A.) f(k,m,A) dépend des éléments de la matrice brute £. Nous allons définir plusieurs méthodes pour choisir f(k,m,A). Ces méthodes seront testées plus loin (§2.5) en reconnaissance monolucteur et en reconnaissance multilocuteur. 2.3.1 Normalisation en amplitude globale Ici, la valeur de normalisation est la valeur moyenne de tous les éléments a(k,m) de la matrice. K M f(k,m,A) = ( HC a(k,m) ) / K.M — k=l m=l 2.3.2 normalisation en amplitude par zone Dans certains cas, la normalisation en amplitude du paragraphe précédent est insuffisante. Prenons par exemple un même mot, prononcé de deux façons différentes, une fois en accentuant le début du mot et l'autre, en accentuant la fin. Une normalisation en amplitude selon le paragraphe précédent serait insuffisante, car elle ne tient pas compte des variations d'accentuation en fonction du temps, intervenant lors d'une prononciation d'un mot. C'est pourquoi nous utilisons une normalisation en amplitude qui tient compte des variations globales et locales d'un mot d'une fois à l'autre. Ainsi, nous définissons la normalisation en amplitude par zone comme suit : -34- l chaque élément a(k,m) de la matrice _A est associée une zone (ou voisinage) Z (Fig.2.5). La matrice l correspondant a une zone est une sous-matrice de A : Z. = (a(k,m) / k = kl,...,k2 , m = ml,...,m2} La normalisation est effectuée ainsi : à chaque élément a(k,m) de la matrice brute correspond un nouvel élément a'(k.m) tel que : a'(k.m) = a(k,l) / f(k,m,Z) avec k2 m2 f(k,[Ti1-Z) = ( fZ ZZ a(k,m) ) / (k2-kl+l).(m2-ml+l) La quantité f(k,m,Zj est la valeur moyenne de la zone Z. Si f(k,m,Z_) = 0 (c'est le cas où tous les éléments de Z^ sont nuls), nous posons a'(k,m) = 0. Fig.2.5 Illustration de la normalisation en amplitude par zone -35- Exemples de zones a) toute la matrice (ZO) : c'est le cas de la normalisation en amplitude globale (§2.3.1) b) ligne (Zl) : a(k,m) —? { Zl = a(k,m) / m = 1,...,M) La valeur de normalisation f(k,m^ZlJ pour un k donné, représente la valeur moyenne de l'amplitude de la TFCT obtenue sur le k-1ème canal (Remarquons que f(k,m,Z_l) ne varie pas lorsque l'indice temporel m varie). e) demi-colonne (Z2) : {a(k,m) / k = l,...,K/2 } si 1 < k < K/2 a(k — " U(k,m) / k = K/2+l,...,K } si K/2 < k < K d) colonne (Z3) : a(k,m) —? _Z3 = {a(k,m) / k = 1.....K) Les valeurs de normalisation f(k,m,Z3h m = 1,...,M représentent les valeurs moyennes des amplitudes de la TFCT obtenues à la sortie des K canaux à l'instant m. e) fenêtre rectangulaire de centre a(k,m), de longueur LF selon l'axe fréquentiel, et de longueur LT selon l'axe temporel (24) : a(k,m) —*¦ _Z4 = { a(k.m) / k = kl,...,k2 , m = ml,...,m2 } Les relations qui lient (kl, k2, ml, m2) à (k, m, LF , LT) sont : kl = Max ( 1 , k-LF/2 ) k2 = Min ( k+LF/2 ,K) ml = Max ( 1 , m-LT/2 ) m2 = Min ( m+LT/2 , M ) -36- Ces relations définissent la fenêtre rectangulaire a l'intérieur et au bord de la matrice. m ml m m2 LF LT Fig.2.6 Limites de Z 4 - si LF > 2K et LT>2M , on retrouve la normalisation en amplitude globale (c'est ZO ) - si LF = 1 et LT>2M , on normalise d'après la ligne (c'est Zl) - si LF > 2K et LT = 1 ,on normalise d'après la colonne (c'est Z3). kl ... k k2 -37- globale colonne zone rectangulaire (e) (f! Fig.2.7 Illustration de la normalisation en amplitude (a) spectrogramme du mot 'cinq' prononcé par une femme (b) après Zu (c) " Zl (d) " Z2 (ej " Z3 (fï " Z4 (LF=28,LT=5) i -38- 2.4 Quantification Le but de la quantification est de réduire la quantité de données sans détériorer les performances de reconnaissance. Elle revient à effectuer un choix optimal de paramètres qui serviront a définir la fonction de quantification. La fonction de quantification (linéaire ou logarithmique) peut être exprimée ainsi : a chaque élément a(k,m) (noté ci-après a) de la matrice £ est associé un nouvel élément a'(k,m). Dans notre cas, l'élément a(k,m) est l'élément de la matrice obtenue après les normalisations temporelle et en amplitude. q - f(a) 0 a < rO rO < a s ri a > ri Cette dernière relation est indépendante du niveau d'amplitude des éléments de la matrice à la sortie de l'analyseur spectral. En effet les grandeurs a, rO et ri sont des valeurs rapportées "a la valeur moyenne des éléments de la matrice d'entrée qui est égale à l'unité dans notre cas. Les paramètres à étudier sont donc ri , rO et Nb. 1 3.5 a' 1 ---- ~7* i i 2 a 1 2 a Fig.2.9 Exemple de quantification à 1 bit. (Nb = 1 ; ri » 2 ; rO = 0) Lorsque Nb = 1 {quantification à 1 bit), toutes les droites de quantification qui se croisent en un point qui a pour ordonnée q = 0.5 sont équivalentes. Ainsi, parmi toutes les droites qui se croisent en un même point, il suffit de considérer celle dont le paramètre rO est nulle. Par conséquent, lorsque Nb = 1, il suffit d'étudier le paramètre ri, rO étant fixé à zéro. -40- Fig.2.10 1..... 1...... 1..... ...1... ...1.1. ...1.1. .....1 ii.-i Ì hin. îi.i . n.i . ni. . î.i. . inli.,1-..... î 1.11...1.. i î ni—i.. ï Î11....1.. i ni....... 1 ?î-:;;:h: i h........ a i.......... i...........i "zéro" 11: 111 111 111 111 .11 111. U.. 1.. !iiili 111. 111. Ii:: 11.. 1 1. 1 . . 1. .1. .1. :!iil :iì Ì ,.11 1 ::::::::::::11 ...........111 ........... 11 :ii::::::l: 1: .11........ I. .11......1. 1. Hh::::::: 11 ........... 11 ............11 :::::::::::ill ............11 III cinq six Fig.2.11 Exemples de matrices binaires obtenues, après la compression temporelle linéaire, la normalisation en amplitude (Z3) et la quantification linéaire (Nb = Ì, rO = 0, ri = 2). -41- 2.4.2 La quantification logarithmique Les grandeurs qmax, rO et ri ont la même définition que dans le paragraphe précédent. Par contre, la fonction f (q=f(a)) est logarithmique. Fig.2.12 Quantification logarithmique La fonction logarithmique est déterminée en choisissant deux points, par exemple les deux points (r0,0) et (i"l,qmax). q = 0 2Nb . ! In(rl/r0) ' ln * rO ' 2Nb-I a s rO rO < a £ ri a > ri Le rapport rl/rO définit la dynamique que l'on peut couvrir. -42- 2.5 Evaluation expérimentale des paramètres du traitement numérique Nos expériences ont pour but d'évaluer l'effet des différents paramètres du traitement numérique sur les performances de reconnaissance en monolocuteur et multilocuteur. Nous avons une reconnaissance monolocuteur si le locuteur-référence est le même que le locuteur-test, et une reconnaissance multilocuteur si le locuteur-référence est différent du locuteur-test. La distance entre deux mots est déterminée par l'algorithme de programmation dynamique (DTW) décrit dans le prochain chapitre. Les paramètres à tester sont indiqués dans le tableau 2.1 Afin de rendre l'expérience aussi proche que possible de la réalité, aucune correction sur les mots enregistrés n'est effectuée. En effet, il arrive souvent qu'en raison d'une mauvaise prononciation par le locuteur, le début ou la fin d'un mot soit tronqué {par exemple 'quatre' qui devient 'atre' ou 'quat'). De même, aucune mesure n'a été prise contre le bruit provenant de l'environnement, sauf au niveau de la détection (§2.1). 2.5.1 Tests en reconnaissance monolocuteur Soit 1'expérience : TST A : Le vocabulaire de test est composé de 13 mots comprenant les chiffres et trois mots de commande : zéro en-avant un en-arrière deux terminer trois quatre cinq six sept huit neuf Le test de reconnaissance est effectué sur 5 locuteurs et 5 locutrices. Pour chacun des locuteurs, l'ensemble des mots inconnus est constitué de 3 prononciations de chaque mot du vocabulaire. D'autre part, pour chacun des locuteurs, l'ensemble des mots de référence est constitué de la moyenne de 3 autres prononciations de chaque mot du -43- vocabulaire. Nous obtenons ainsi un total de 390 essais de reconnaissance. Paramètres du traitement numérique NTMP : Normalisation temporelle NTMP = 1 Normalisation linéaire 2 Normalisation curviligne N Longueur de normalisation NAMP : Normalisation en amplitude NAMP = ZO Norm, en amplitude globale Zl Norm, en amplitude par ligne Z2 Norm, en amplitude par demi-colonne Z3 Norm en amplitude par colonne Z4 Norm, en amplitude par zone de longueur fréquentielle LF et de longueur temporelle LT QUANT : Quantification QUANT = 1 Quantification linéaire = 2 Quantification logarithmique Nb Nombre de bits rO Valeur, dans la matrice non quantifiée, à laquelle correspond la valeur quantifiée nulle. rO est rapporté à la valeur moyenne de la matrice non quantifiée. ri Valeur, dans la matrice non quantifiée, à laquelle correspond la valeur quantifiée maximale. rQ est rapporté à la valeur moyenne de la matrice non quantifiée. Tableau 2.1 -44- Normalisation temporelle Les conditions des tests de reconnaissance sont celles décrites dans TST A. Les figures 2.13a, 2.13b et 2.13c donnent une évaluation expérimentale des normalisations temporelles linéaire (NTHP = 1) et curviligne (NTMP = 2}, en fonction de différentes longueurs de normalisation. Nous donnons les résultats obtenus pour trois types de normalisation en amplitude : a) ZO, b) Z2 et c) Z3. Dans les trois figures 2.13a, 2.13b et 2.13c, nous observons clairement la supériorité de la normalisation curviligne par rapport à la normalisation linéaire quelle que soit la normalisation en amplitude (rappelons que la distance entre les mots est déterminée d'après l'algorithme de programmation dynamique DTW). Ce résultat est caractéristique de la reconnaissance monolocuteur. En effet, nous verrons plus loin que, dans la reconnaissance multilocuteur, la normalisation curviligne n'est pas supérieure à la normalisation linéaire. Nous observons également que le taux d'erreur diminue très peu lorsque la longueur de compression temporelle est supérieure à vingt (il s'agit de vingt vecteurs-fréquences). Si l'objectif est de comprimer au maximum la quantité de données par mot, une longueur de compression égale à vingt (N = 20) est donc suffisante. En conclusion, la reconnaissance monolocuteur des mots utilise avantageusement la compression temporelle curviligne. En outre» si l'on admet que la durée moyenne d'un mot est de 500 ms (cela donne 50 vecteurs-fréquences), nous pouvons comprimer la quantité de données d'un facteur 2.5 sans détérioration des performances. -45- 10.0- 7.5.1. 5.8- a) NORN. TEdPORaLE LINEAIRE ET CURVILIGNE (NBKP = 20) -©^ linéaire "*©¦-------------------------------- -©- _ NTHP = 1 _ NTHP = 2 ___________•<) X \ 2.5- \ \ \,---------- curviligne 0.0- 10 15 20 LONB. TDP. NORNRLISEE 25 Fig.2.13a 30 10.0- b) NORH. TEMPORELLE LINEAIRE ET CURVILIGNE WfiMP = Î2> 7.5- _ NTHP = 1 _ NTHP = 2 5.0£>----___ ©- O. '\ X 2.5- X \ "V. linéaire curviligne ¦—e------------------------©- ~o —O 0.8- 10 15 20 25 LONG. TEHP. NORMALISEE Fig.2.13b 30 -46- 18.e 7.5- 2.5- a. e e) NORM. TEMPORELLE LINERIRE ET CURVILIGNE --~_ ~€>-^ linéaire e---------------------®------------------ curviligne 10 15 28 LONS. TEMP. NORMALISEE 25 Fig 38 Fig.2.13 Normalisation temporelle linéaire et curviligne : taux d'erreur reconnaissance monolocuteur en fonction de la longueur de normalisation (TST A). a) avec Z = 20 ; b) avec Z = 11 ; c) avec 2 = Z3 Choix des paramètres (Annexe A) : NTMP = Sf N = #" NAMP = 20.Z2.Z3 LF = - LT - - QUANT = - Nb * - rO = - ri » - DHAT = 3 OVEC = 2 RANGE - N/5 CDF = 1 NB : Sf : paramètre à l'étude - : paramètre non considéré -47- Hormallsation en amplitude Les conditions des tests sont celles décrites dans TST A Les résultats de l'évaluation expérimentale des différentes méthodes de normalisation en amplitude sont donnés dans les figures 2.14a et 2.14b. La figure 2.14a compare les performances de reconnaissance des 4 cas de normalisation en amplitude suivants : 1) normalisation en amplitude globale (ZO) 2) normalisation en amplitude d'après la ligne (Zl) 3) normalisation en amplitude d'après la demi-colonne (Z2) 4) normalisation en amplitude d'après la colonne (Z3) Parmi les quatre méthodes testées (Fig.2.14a), la normalisation en amplitude d'après la ligne (Zl) donne les plus mauvais résultats. La normalisation en amplitude globale (ZO) est moins favorable que la normalisation en amplitude d'après la demi-colonne (Z2) ou d'après la colonne (Z3). La normalisation en amplitude d'après la demi-colonne (Z2) qui consiste a effectuer un traitement séparé des canaux basses fréquences et hautes fréquences pour éviter un étouffement des motifs hautes fréquences donne des résultats similaires a Z3. La normalisation d'après Z2 est intéressante surtout si la préaccentuation des hautes fréquences s'avère insuffisante (en effet le niveau d'énergie des composantes hautes fréquences du signal de parole à la sortie du microphone est très faible). La figure 2.14b donne le taux d'erreur en % obtenu pour la normalisation en amplitude d'après la zone Z4. Les dimensions LF et LT de ]A_ (qui est une sous-matrice de h) sont les paramètres à tester. Nous observons que les meilleurs résultats sont obtenus quand la longueur fréquentielle LF est grande : LF doît être supérieure à 7 (LF>K/2). Dans ce cas là (LF> K/2), les meilleurs résultats sont obtenus quand la longueur temporelle LT est petite (LT = 1, 3, 5). En résumé, dans une normalisation en amplitude d'après la zone rectangulaire (Z4), les meilleurs résultats sont obtenus pour une longueur fréquentielle grande et pour une longueur temporelle relativement petite. Par ailleurs, les résultats obtenus par la normalisation en amplitude d'après Z4(LF,LT), lorsque les dimensions LF et LT sont judicieusement choisies, sont meilleurs par rapport à une simple normalisation en amplitude globale. -48- 25.0-- 22.5- 20.0- 17.5- g 15.0- UJ § 12.5- g 10.0- œ 7.5- 5.0- 2.5- 0.0-— a) (P NOfWUSflTION EN RWT-ITUDE COMPflRPI5Q4 OE ZONES ? Z0 - curviligne ¦—e>. <^-~, —©. 20- 10- 10 15 28 LONS, TEHP. NORHflLISEE 25 ^j- __ linéaire -a»--------------------------&----------------------- Fig.2.17a 38 50- 49- 30 20- 10- : b) NORM. TEHPORaLE LINEAIRE ET CURVILIGNE NflMP = Z2 NTHP = 1 NTMP = 2 •—¦€>. curviligne ¦—-e>—----------------©- linéaire 18 IS 20 LONG. TEKP. NOfWPLJSEE 25 -----O -O--------------------©-l-^'Il._____&_____________(() Fig.2.17b 38 -59- 58 40- 30- 20: 10- c) NORN. TEMPORELLE LINEPIRE ET CURVILIGNE NflNP = Z3 —©¦ _ NTNP = 1 _ NTNP = 2 *'-----------—-•-------------------• - —_____ —€> curviligne linéaire ------©- -O- 15 2e LONS. TEMP. NORMALISEE 25 -----------------------H) Fig.2.17c 30 Kig.2.17 Normalisation temporelle linéaire et curviligne : taux d'erreur en reconnaissance multi locuteur en fonction de 1 a longueur de normalisation (JSl B). a) avec Z = ZO ; avec Z = Z2 ; c) avec Z = Z3 Onoix des paramètres : NTMP =0 H 'jf NAMP =ZO,22,Z3 LF = - LT = - IjUANT = - Nb = - rO = - ri = - OMAT = 3 DVEC = 1 RANGE = 4 CDF = 1 -60- Normalisation en amplitude Les conditions des tests sont celles décrites dans TST B La figure 2.18a donne les résultats de l'évaluation de la normalisation en amplitude d'après 20, Zl 12, et Z3; la figure 2.18b donne les résultats de l'évaluation d'après Z4(LF,LT) Les performances obtenues par la normalisation en amplitude globale (ZO) sont supérieures à celles obtenues par Zl et 12, et ils sont pratiquemment les mêmes que ceux obtenus par Z3. Dans le cas de la normalisation en amplitude d'après Z4 (fig.2.18b), nous - observons que les différents choix de la longueur fréquentielle (LF) tendent aux mêmes comportements qu'en reconnaissance monolocuteur. Par contre, contrairement au cas monolocuteur, une zone plus large de la longueur temporelle (LT) donne des résultats plus favorables. C'est pourquoi les résultats obtenus par la normalisation en amplitude globale sont comparables aux meilleurs résultats obtenus par la normalisation d'après Z4. 58.8 45.8- 40.0- 35.0- 30.0- 25.8- 20.B- 15.0- 10.0- 5.0- 0.8- NORMALISATION EN AMPLITUDE COMPARAISON OE ZONES H Z8 O Zl & Z2 -*¦ Z3 E Fig.2.18a 2QNE -6T- NORMALISATION EN AMPLITUDE TEST SUR 24(LF,LTl LT = 1 LT = 3 LT = S LT = IS LT = 30 LT = BB 13 5 7 Fig.2.18b LÛN6. FRED. K LA ZONE (LF) Fig.2.18 Normalisation en amplitude : taux d'erreur en reconnaissance multilocuteur en fonction du choix de la zone (TST B). a) ZO, Zl, Z2 et Z3 ; D) ZI(LT1LF) Choix des paramètres NTMP =1 N = 30 NAMP =$f LF =jf LT = jf IjUANT = - Nb = - rO = - ri = - UMAT = 3 DVEC = 2 RANGE =6 COF = 1 -62- quantification Les figures 2.19a et 2.19b donnent le taux d'erreur en fonction du nombre de bits Nb pour différentes valeurs du facteur ri. Le facteur rO est fixé à zéro. Dans la fig.2.19a c'est la compression temporelle linéaire (NTHP = 1) qui est appliquée, alors que dans la Fig.2.19b c'est la compression temporelle curviligne (NTMP = Z) qui est appliquée. Comme dans le cas monolocuteur, nous observons que le taux d'erreur est indépendant du nombre de bits lorsque celui-ci est supérieur à trois. Si le nombre de bits est petit (Nb S 3), le taux d'erreur dépend fortement du choix de ri. Ainsi, comme dans le cas monolocuteur, si l'on choisit judicieusement le facteur ri, le taux d'erreur obtenu pour un nombre faible de bits est comparable au taux d'erreur obtenu pour un plus grand nombre de bits. En résumé, le comportement des paramètres de la quantification linéaire tendent aux mêmes comportements en reconnaissance monolocuteur et multi locuteur. CJB-85- OURNTIFICATION LINEPIRE 80- NTMP = 1 75- _______ Rl = 1.2 70- _______Rl = 2. RS- _______ Rl = 4. 60- \ \ _______Rl .......... Rl = 9. = IG. SS- 59-45- \ 40-35-30-25-28- \ ___-* =_--.—.- - -~~ _ ~T~~ _. IS- 18- S- 0- Fig.2.19a 4 5 NOTCRE DE BITS -63- Fig.2.19b 3 4 5 NOMBRE DE BITS Fig.2.19 Quantification linéaire : taux d'erreur en reconnaissance multilocuteur en fonction du nombre de bits Nb et du facteur r.l. Le facteur rO est fixé a zéro (TST ß). a) NTHP = 1 ; b) NTMP = 2 Choix des paramètres NTMP =1,2 N = 20 NAMP = Z3 LF * - LT = - QUANT =1 Nb = & rO = 0 ri = if DMAT = 3 DVEC = 2 RANGE = 4 CDF = 1 -64- 2.6 Discussion Pour un système de reconnaissance miniaturisé, l'un des facteurs critiques est la capacité en mémoire. La capacité en mémoire exigé est proportionnelle au nombre de références et au nombre total de bits par mot de référence K.N.Nb. Le nombre K de canaux n'a pas fait l'objet d'une étude particulière dans ce travail. Le facteur N a pu être ramené d'une valeur moyenne de 50 vecteurs-fréquences (durée moyenne d'un mot égale a 500 ms) à 20 vecteurs-fréquences grâce à la compression temporelle linéaire ou curviligne; et ceci sans dégradation des performances. Quant au facteur Nb, grâce a une combinaison judicieuse de la normalisation en amplitude et de la quantification, il a pu être ramené d'une valeur de 12 bits à 1 bit; et ceci sans détérioration des performances. Ainsi, par un traitement approprié, nous pouvons diminuer de façon considérable la quantité de données obtenue a la sortie de l'analyseur spectral. La taille en mémoire exigée diminuant de façon similaire, la miniaturisation devient plus aisée. ^. -65- 3. Calcul de la distance entre mots Le but du classifieur est d'identifier un mot inconnu à l'un des mots du dictionnaire. La décision est prise a la suite du calcul de la dissimilitude - ou distance - entre le mot inconnu et chacun de mots du dictionnaire. La prononciation d'un mot donné est, en général, composée de plusieurs événements vocaux (phonèmes, transitions entre phonèmes, silence avant les plosives, etc). La durée d'un même événement vocal varie d'une prononciation a l'autre. Lors du calcul de la distance entre deux matrices, l'une représentant le mot inconnu et l'autre un mot de référence, il faudrait obtenir une petite distance (idéalement une distance nulle) lorsqu'il s'agit du même mot. Ceci n'est possible que si l'on arrive à faire coïncider les mêmes événements vocaux, représentés dans les deux matrices. Nous présentons dans ce chapitre les différentes méthodes utilisées pour effectuer le calcul de distance entre deux mots. Les méthodes diffèrent essentiellement par leur capacité à faire coïncider les mêmes événements vocaux des différentes prononciations d'un mot donné. Soit _A(K,M) et Ji(K,N) deux matrices représentant deux mots à comparer. /\ et £ sont représentées comme suit : A(K,M) - ( Ji1, ^2, ..., ^n, ..., a^ ) 1 = -TT ^T N alors : an = Q et bn = 0 (3.7) Par exemple, un déplacement global de r= +2 consisterait à sommer les distances entre les vecteurs-fréquences suivants : £ 1 li Ì2 ••¦ In-i H h h h h •¦¦ o o 3.3 Distance dynamique entre deux matrices /7/, /36/, /57/, /78/, /84/ Les deux méthodes de calcul de distance des paragraphes 3.2.1 et 3.2.2 effectuent un alignement temporel linéaire, et sont donc insuffisantes dans -68- Ie cas de fortes distorsions entre les événements vocaux de deux prononciations différentes d'un mot donné. C'est pourquoi, on utilise un alignement temporel non-linéaire : on établit une correspondance entre la séquence des O1n et des ^n, de manière a faire correspondre à chaque fols un ^n et un J)n les plus semblables possible. L'algorithme utilisé pour réaliser cet alignement temporel non-linéaire est basé sur le principe de la programmation dynamique exposé brièvement ci-après. Le modèle mathématique de la programmation dynamique doit être complété par des contraintes liées aux structures linguistiques de la parole. Alignement dynamique Considérons le plan constitué par les deux axes temporels m et n. Les vecteurs J1n et Jin sont représentés par leurs indices le long des axes m et n {Fig.3,1), Soit p(i) un couple de deux vecteurs-fréquences Jn,/,-\ et Jw^, i étant la i-ème correspondance : P(I) = MiKn(i)) (3.8) L'alignement temporel non-linéaire - ou dynamique - est décrit par la séquence de couples suivante : P = p(l),p(2),p(3).....p(i).....P(I) (3.9) La séquence P est la fonction d'alignement (ou chemin d'alignement) qui réalise une correspondance entre les éléments Jn, du mot A et b^ du mot B, I est le nombre de couples mis en correspondance. S'il n'y a pas de distorsion temporelle entre les événements vocaux de deux prononciations d'un mot donné, cette fonction coïncide avec la diagonale m(i) = n(i) (Fig.3.1). -69- n 2.R + 1 Fig.3.1 Alignement temporel dynamique Soit d(p{1)ï = d(m(1),n(D) = (Kin(I^bn(I)) (3.10) la distance entre le couple de vecteurs-fréquences Jn, et Jin (voir §3.1), et soit E(P) la somme pondérée de ces distances le long du chemin P : I E(P) = I= d(p(1)) . w(i) (3.11) où w(i) est une fonction de pondération que l'on précisera plus loin. E(P) atteint sa valeur minimale quand l'alignement temporel est réalisé de façon optimale. Ainsi, on définit la distance entre les mots A et B par la relation suivante : -70- I £j d(p(i)).w(i) D(A,B) = MJn -^-j--------------------- (3.12) ?= w(i) où £— w(1) est utilisé pour compenser l'effet du nombre de points le long du chemin d'alignement temporel P. Le problème posé par la relation (3.12) peut se ramener à un problème de programmation dynamique. Application du théorème d'optimalité de la programmation dynamique La programmation dynamique est une méthode d'optimisation applicable a de nombreux problèmes avec ou sans contraintes possédant une propriété de décomposabilité /57/. Le point de départ de cette méthode est le théorème d"optimalité. Ce théorème peut être énoncé comme suit : "Tout chemin optimal est constitué de sous-chemins optimaux". Ce théorème d'optimalité s'applique aisément au problème d'alignement temporel. Supposons que le dénominateur de la relation (3.12) est indépendant du chemin P. La fonction D(A1B) des I couples p(l), p(2), ..., p(I) devient une fonction decomposable /57/. Ainsi : I Min ^ d(p(i)).w(i) P(D.....P(D i=l Min ( d(p(l)).w(l) + ... +d(p(I)).w(I) ) P(D....,P(D Min ( d(p(l)).w(l) + ... + d(p(I-l)).w(I-i; P(I),....P(I-I) + Min d(p(I)).w(I) (3.13) P(D Le théorème d'optimalité est ensuite appliqué a : -71- Min ( d(p(l)).w(l) + ... + d(p0 (3.17) R définît une fenêtre d'ajustement temporelle tenant compte du fait que les fluctuations de durée et de rythme entre deux mots restent limitées. D'autres variantes des contraintes peuvent être adoptées. Par exemple, Itakura /36/ propose les contraintes locales suivantes : 1\ Fig.3.4 Contraintes locales selon Itakura Okochi et Sakai proposent des contraintes locales qui rendent la fonction d'alignement temporel réversible dans le temps /69/. Fonction de pondération w(i) Plusieurs types de fonctions de pondération w(i) peuvent être utilisés. Le choix doit être effectué de telle façon que l'on puisse appliquer la technique de programmation dynamique. Pour cela, 11 suffit de rendre le dénominateur t-r- w(i) de la relation (3.12) indépendant de la fonction d'alignement P. 11 existe deux choix typiques /78/ : -73- 1} forme symétrique W(D = {n(D-nd-l)) + (m(i)-m(i-l)) (3.18} il suit : 2^ w(i) = N + M (3.19) i 2) forme assymétrique : w S où S est un seuil de rejet unique déterminé empiriquement. 2) il y a rejet si la plus petite distance D1 et la "seconde plus petite" O2 sont très proches : ID1 - D2| > S' S' est également un seuil de rejet déterminé empiriquement (ici, on suppose qu'il y a une seule référence par mot). 3) il y a rejet si : O1 >Sl où S1 est le seuil de rejet associé au mot de la référence R1. Ici, à chaque mot de la référence est associé un seuil de rejet différent. i -77- 3.6 Algorithme sans contrainte sur le début et la fin La méthode d'alignement temporel dynamique décrite dans le paragraphe 3.3 force l'alignement des extrémités du mot inconnu avec ceux de la référence (relation 3.15). S'il y a des erreurs ou des imprécisions dans la détection du début ou de la fin de mot, l'alignement temporel ne sera pas effectué de façon optimale. Il en est de même dans le cas d'un bruit qui s'additionne au début ou à la fin du mot. Exemple de problème : - erreur courante de détection rencontrée avec des mots qui ont une plosive finale ( 'stop' qui devient 'sto' ) - lorsque la prononciation commence ou finit par un petit claquement de lèvres La méthode utilisée ici, consiste a étendre le domaine d'application de l'alignement temporel dynamique entre le mot inconnu et le mot de la référence au delà des extrémités. Cela revient à introduire un début et une fin virtuels. La figure 3.6 montre l'ensemble des couples de vecteurs qui participent a la détermination du chemin d'alignement. n N + R —/¦ -7 fin /JT ( \/ i y A Z* I ! \y hz y Z Z AL début N Soient les déf "nitions : Gn (O = g(n,n+r) r = -R, . ¦ -, R Gn-I (r) = g(n-l,n-l+r) r = -R, . .., R Vz (O = g(n-2,n-2+r) r = -R, . .., R ^nC) = d(n,n+r) r = -R, . .., R ^n-I (O = d(n-l,n-l+r) r = -R, . .., R Où g(n,n) est défini par (3.22). Remarquons qu'en ce qui concerne la mémoire, on a besoin de 5 tableaux de dimension 2.(R+1) + 1 : G1 ^-2» Fn> Fn-1- n« bn-l< La figure 3.8 donne un exemple de chemin obtenu par l'algorithme de programmation dynamique avec la contrainte : les débuts et les fins des mots à comparer se correspondent respectivement. Les matrices de test représentent deux versions du mot 'quatre' prononcés par un même locuteur. La figure 3.9 donne, dans le même cas, le chemin obtenu par l'algorithme de programmation dynamique sans contrainte sur les débuts et les fins des mots à comparer. L'avantage de l'algorithme sans contrainte sur les débuts et fins de mots apparaît clairement dans cette illustration. -79- Entrée : matrices £(K,N) et jì(K,N), décalage maximum R Sortie : distance D(A1B) Initia isation : Fn-1 (O » 0 r = -R.....R V2 (r) = 0 r = -R.....R Gn-1 (r) = 0 r = -R, ..., R Fn-1 ( + (R+I)) = ce Fn (±(R+D) = » Gn-2 (t(R+D) -» Gn-1 (+(R+I)) =co Calcul i de la distance : DO for n = -R + 1 to N + R DO for r = -R to R Déterminer Fn (r) 'Gn-I y / / / / e ; / / / / / / / 7 7 / n Fig.3.9 Exemple de chemin obtenu par l'algorithme de programmation dynamique sans contrainte sur les débuts et les fins des mots a comparer. (Même versions que dans Fig.3.8). -82- 4. Reconnaissance multilocuteur par recalage fréquentiel 4.1 Motivation Les méthodes de traitement vues jusqu'à maintenant s'avèrent insuffisantes dans un environnement multilocuteur. 11 est nécessaire de tenir compte des différences entre locuteurs. Nous considérons ici le cas où l'on a une référence par mot. Jusqu'à présent, les études effectuées pour trouver les paramètres qui différencient les individus sont essentiellement basées sur la fréquence fondamentale et la répartition des formants /49/. On sait que la fréquence fondamentale d'une femme est environ ie double de celle d'un nomme. Les écarts par rapport à la valeur moyenne de la fréquence fondamentale sont très variables selon l'individu. D'autre part, en ce qui concerne les formants on a pu établir, en première approximation, que les fréquences des formants (d'un son donné) d'un individu se déplacent de façon multiplicative par rapport à celles des formants d'un autre individu. Soit Fl, F2, F3 les fréquences des trois premiers formants du premier individu, et Fl1, F2' , F3', celles du deuxième; on a : Fl = a.Fl' , F2 = b.F2' , F3 = C.F3' avec a, b, c égaux et compris entre 0.8 et 1.2. Mais ceci est très approximatif, et il peut y avoir également des cas où de grandes différences entre a, b et c apparaissent /49/. La répartition des largeurs de bande de nos filtres passes-bandes le long de Taxe frequentici est logarithmique : les deux premiers filtres couvrent chacun une octave, les suivants chacun un tiers d'octave. -83- tamplitude temps m n Hs « Fig.4.1 Spectrogrammes du mot "zéro" prononcé par trois hommes (Hl, Wl, H3) et trois fermes (Fl, F2, F3). -84- Fig.4.2 Spectrogrammes du mot "cinq" prononcé par trois hommes (Hl, H2, H3) et trois femmes (Fl, F2, F3). -85- La fréquence centrale du deuxième filtre est donc le double de celle du premier (environ 100 Hz). En admettant que la fréquence fondamentale de l'homme est d'environ 100 Hz, et celle de la femme d'environ 200 Hz, nous pouvons dire que la fréquence fondamentale d'un individu inconnu, homme ou femme, tombera dans le premier ou le deuxième canal (voir les exemples donnés dans les figures 4.1 et 4.2). Il y donc a un décalage possible d'un canal. Pour les autres filtres, le rapport entre deux fréquences centrales successives est de 1.26. Une valeur de a comprise entre 0.8 et 1.2 a pour conséquence de faire tomber les fréquences des formants Fl et Fl' dans deux canaux voisins. Comme pour la fréquence fondamentale, 11 y a donc aussi un décalage possible d'un canal. Il en est de même pour les deux autres formants. Venons en aux méthodes de recalage frequentici proposées dans notre travail et testées. La première méthode admet qu'il peut y avoir un décalage frequentici linéaire, constant en fonction du temps, d'un vecteur-fréquence par rapport à un autre; les deux vecteurs-fréquences appartiennent à deux prononciations d'un même mot par deux locuteurs différents. La deuxième méthode admet qu'il peut y avoir un décalage fréquentiel linéaire, variable en fonction du temps,d'un vecteur-fréquence par rapport a un autre. Ceci tient compte du fait que, d'un individu à l'autre, il existe un décalage des vecteurs-fréquences dans le cas des sons voi ses (par exemple canal 1 et 2), mais qu'il n'existe pas forcément de décalage pour les sons non-voisés. La troisième méthode admet qu'il peut y avoir un décalage fréquentiel non-linéaire, variable en fonction du temps, d'un vecteur-fréquence par rapport à un autre. 4.2 Recalage fréquentiel linéaire constant en fonction du temps (RFLC) Dans ce paragraphe, nous nous basons sur l'hypothèse que la variation qui peut exister entre deux locuteurs ou locutrlces différents est due essentiellement à un décalage linéaire du vecteur-fréquence de l'un par rapport a l'autre (les deux vecteurs-fréquences appartenant a deux prononciations d'un même mot par deux locuteurs différents). Les variations qui existent selon l'axe temporel sont traitées par -86- 1'algorithme d'alignement temporel dynamique. Le traitement propose est donc la combinaison d'un alignement dynamique selon l'axe temporel et d'un recalage fréquentiel linéaire, constant en fonction du temps. Reprenons la relation : I D(M) = Min EZ d(p(i)).w(i) qui décrit l'alignement temporel dynamique. Si on introduit le recalage fréquentiel, on obtient : I K D(A1B) - Min Min TZ ( ZT d( ^j(Ic) , bn(i)(k+6) > . „(1) 6 (4.1) avec : 5=-1,0,+1 Nous nous sommes limité dans le choix des valeurs de recalage à celles données ci-dessus. L'introduction de valeurs plus grandes seraient Inutiles, car nous disposons de 14 canaux seulement. 4.3 Recalage fréquentiel linéaire variable en fonction du temps (RFLV) La méthode de recalage fréquentiel du paragraphe précédent était basée sur l'hypothèse d'un décalage fréquentiel linéaire, constant en fonction du temps, d'un locuteur a l'autre. Ici, l'hypothèse est légèrement différente : le décalage est toujours linéaire selon l'axe fréquentiel, mais la valeur de décalage peut varier en fonction du temps. Ainsi : I K 0(A1B) = Min TZ Min( *= d( ^(1)(k) , bn(i)(k+6) ) . w( i ) (4.2) avec : 0=-1,0,+1 -87- 4.4 Recalage frequentici dynamique (RFD) Dans ce paragraphe, en plus de l'alignement dynamique selon l'axe temporel, nous utilisons également la programmation dynamique pour aligner les vecteurs-fréquences, c'est-à-dire qu'on effectue également un alignement dynamique selon l'axe fréquentiel. Donc, on a : I D(A,D - Min 5= d(p(i)).w(i) ------ P 1=1 avec : I' d(p(i)) - Min ?= d{p'(i')).w'(i'} (4.3) P' r=l Soient 2 vecteurs-fréquences représentés par leurs K valeurs binaires correspondant aux K canaux. Par exemple : Jn, = 10001000000011 On = 01001000000111 L'introduction du recalage dynamique entre ces deux vecteurs-fréquences devrait donner une distance d(p(i)) = d (Jn^b111 ) nulle. Soient les deux vecteurs-fréquences ^n et ^n représentés par leurs composantes: Sn =(a(l) a(2) ... a(k) ... a(K)) On =(b(l) b(2) ... b(l) ... b(K)) La fonction de recalage F' entre ces deux vecteurs est exprimée par la séquence des couples : P'(i') = ( a(k(i')) , b(j(i')) ) (4.4) c'est-a-dire : P' -= p'(l), p'(2).....p'(I') (4.5) La distance d(p'(i')) entre a(k{i'}) et b(j(i')) est par exemple : d(p'(1')) = |a(lt(1')) - b(j(i'))| Les contraintes utilisées lors du recalage dynamique selon l'axe fréquentiel sont les mêmes que celles utilisées selon l'axe temporel, sauf la largeur de la fenêtre qui est plus petite. Nous utilisons par ailleurs l'algorithme sans contraintes sur le début et la fin des mots pour la détermination du chemin F'. 4.5 Evaluation expérimentale Dans les tests qui suivent, nous évaluons les performances en reconnaissance multilocuteur des différentes méthodes de recalage fréquentiel que nous venons de décrire. Les performances en reconnaissance monolocuteur sont également mesurées. Rappelons qu'en reconnaissance mpnolocuteur (R.mono), le locuteur-référence est le même que le locuteur-test; par contre en reconnaissance multilocuteur (R.multi), le locuteur-référence est différent du locuteur-test. Soit les 4 cas suivants : Cas SRF : reconnaissance Sans Recalage Fréquentiel (même méthode qu'en reconnaissance monolocuteur) Cas RFLC : reconnaissance avec Recalage Fréquentiel Linéaire Constant (paragraphe 4.2) Cas RFLV : reconnaissance avec Recalage Fréquentiel Linéaire Variable (paragraphe 4.3) Cas RFD : reconnaissance avec Recalage Fréquentiel Dynamique (paragraphe 4.4) Dans tous les cas nous utilisons l'alignement temporel dynamique. Conditions des tests : -89- TST C : Les tests de reconnaissance sont effectués sur la base du même vocabulaire décrit dans §2.5. 6 locuteurs (3 hommes : Hl, H2, H3 et 3 femmes : Fl, F2, F3) participent aux tests de reconnaissance. 5 versions du vocabulaire par locuteur sont utilisées, les trois dernières servent à créer la référence de chaque locuteur. Les tests de reconnaissance sont effectués avec les paramètres de traitement suivants (voir annexe A): NAMP = 22 NTMP =1 N = 20 QUANT =1 Nb = 1 rO = 0 ri = 2 DMAT = 3 DVEC = 1 RANGE =4 COF = 0 Les paramètres du recalage fréquentiel sont choisis comme suit : Cas RFLC : ô » -1, O, +1 Cas RFLV : ô = -I1 0, +1 Cas RFD : * Largeur de la fenêtre pour la comparaison des vecteurs-fréquences égale à 2. * Début et fin libres selon Taxe fréquentiel Résultats Les tableaux de la figure 4.3 donnent les taux d'erreur de reconnaissance (en %) pour les quatre cas indiqués plus haut (SRF, RFLC, RFLV et RFD) dans un environnement multilocuteur (R.multi) et monolocuteur (R.mono). Des résultats obtenus, il sort les faits suivants : 1) très faible détérioration de la reconnaissance monolocuteur lorsqu'on effectue un recalage fréquentiel 2) peu de différences entre les performances obtenues par les méthodes de recalage fréquentiel RFLC, RFLV et RFD 3) Globalement la reconnaissance multilocuteur passe d'un taux d'erreur de 25.5 % sans recalage fréquentiel "a 16 % avec recalage fréquentiel. -90- 4.6 Conclusion L'objectif du recalage fréquentiel était le suivant : sur la base d'une référence créée avec un seul locuteur, faire une reconnaissance multi locuteur en effectuant selon l'axe temporel un alignement dynamique et selon l'axe fréquentiel un recalage RFLC, RFLV ou RFD. Les résultats montrent que le recaiage fréquentiel produit une diminution substantielle du taux d'erreur lors d'essai de reconnaissance inter-genre (le locuteur-référence est un homme et le locuteur-test une femme, ou vice-versa). Par contre, aucune amélioration significative n'est obtenue dans le cas de la reconnaissance intra-genre. Ainsi, le recalage fréquentiel pourrait servir à compenser les différences inter-genre. Toutefois, cette méthode ne pourrait se suffire à elle même, car les taux d'erreur restent relativement élevés. Par contre, elle pourrait compléter d'autres méthodes exposées dans les chapitres suivants. -91- R.multi R.mono Cas SRF Cas RFLC : Cas RFLV : Cas RFO H 6.5 40.56 F 40.11 15.17 R.multi H F H 7.8 19.0 F 23.0 15.2 R.multi H F H 8.7 14.7 F 22.7 18. R.multi H F H 7.3 18.1 F 25.3 17.2 H F O. O. R.mono H F 0.0 0.0 R.mono H F 0.0 1.3 R.mono H F 0.0 1.3 Fig.4.3 Resultats des tests de reconnaissance sans et avec recalage fréquentiel -92- 5. Adaptation automatique au locuteur L'adaptation automatique au locuteur consiste a changer les références obtenues lors de l'apprentissage d'un locuteur quelconque en des références valables pour un nouveau locuteur sans apprentissage de ce dernier- Deux approches peuvent être envisagées : l'adaptation par transformation et l'auto-adaptation par détection automatique d'erreurs. 5.1 Adaptation au locuteur par transformation Le principe de l'adaptation par transformation est le suivant. Soit Rn, m = 1,...,M l'ensemble des références pour les M mots prononcés par un locuteur L. L'adaptation a un nouveau locuteur L* consiste à déterminer une transformation T qui permet de trouver, a partir des références Rn, du locuteur L, des nouvelles références R'm valables pour le locuteur L' : Rm ----— R'm La transformation T doit être déterminée sur la base des prononciations faites par les locuteurs L et L* d'une seule locution type. Bien que séduisante, cette approche est limitée par la difficulté de choisir une transformation adéquate. Pour plus de détails voir /26/. 5.2 Auto-adaptation au locuteur par détection automatique d'erreurs Cette deuxième approche est plus intéressante d * un point de vue pratique /9/. Au départ, on dispose dans le système de reconnaissance d'un ensemble de M mots de référence obtenu lors de l'apprentissage d'un locuteur quelconque. On suppose que l'utilisateur du système de reconnaissance dispose d'un moyen qui lui permet de contrôler si le système a reconnu correctement le mot ou non; par exemple : affichage du mot reconnu, réponse vocale par synthèse, -93- etc. Le principe est le suivant : Toute répétition d'un mot par le locuteur est interprétée par le système de reconnaissance comme une erreur de reconnaissance (sauf dans certains cas) qu'il faut corriger. Si la réponse donnée par le système est effectivement fausse, il suffit à l'utilisateur de répéter le mot qui a été mal reconnu, jusqu'à ce que le système donne la bonne réponse (nous verrons plus loin comment le système arrive à donner la bonne répone). Dès que la réponse du système et le mot prononcé concordent, celui-ci est pris par le système comme nouvelle référence pour ce mot (nous verrons plus loin comment le système arrive a savoir que mot prononcé et réponse concordent). Nous allons détailler la procédure d'auto-adaptation en considérant d'abord que le système "conclut" a l'erreur dès qu'une répétition est détectée (la répétition n'est alors pas permise s'il n'y a pas d'erreur de reconnaissance). Soit - A le mot d'entrée actuel (il s'agit du dernier mot prononcé), - A0 le mot d'entrée précédent, - D(A,Rm) la distance entre le mot d'entrée actuel A et le mot de référence Rm- - D(A,A0) la distance entre le mot d'entrée actuel A et le mot d'entrée précédent A0 - i(n) le "n-ième plus proche" mot de la référence de A : D(A,Ri(1}) £ D(A,Ri(2)) S D(A,R1(3)) .... (5.1) - i0(n) le "n-ième plus proche" mot de la référence de A0 : D(Mt0(I)) * D D(A1An ) aller a 6. 12- «i0m -*o 13. A0= A i0(n) = i(n) , n=l,...,M 14. REPONSE : i(l) et aller a 1. Fig.5.2 Algorithme d'auto-adaptation au locuteur -98- 6. Analyse factorielle appliquée aux échantillons multllocuteurs de la parole 6.1 Introduction La reconnaissance multilocuteur de la parole peut être envisagée par la méthode des références multiples. Dans cette dernière, on cherche a décrire, par un nombre limité de classes, une même locution prononcée par une large population. Les méthodes de classification automatique traitées dans le prochain chapitre permettent de générer ces classes. Avant de chercher des classes au sein d'un ensemble de prononciations, on fait implicitement l'hypothèse que ces classes existent. Le but poursuivi ici est de représenter et d'analyser la répartition des prononciations d'un {ou plusieurs) mot(s) par plusieurs locuteurs pour voir si l'hypothèse de l'existence de ces classes se justifie. L'analyse est effectuée visuellement. Une prononciation, appelée échantillon par la suite, est caractérisée par un grand nombre de composantes, en !'occurence les éléments de la matrice-spectrogramme. La visualisation dans l'espace défini par l'ensemble des composantes n'étant pas possible, on cherche à obtenir une représentation dans un sous-espace telle que l'information la plus essentielle sur la répartition de ces échantillons ne soit pas perdue. Si par exemple, la dimension du sous-espace retenu est 2, une simple inspection visuelle apporte des renseignements concernant la séparation entre d'éventuels groupes d'échantillons, le repérage d'échantillons isolés, etc. Soit le nuage des I échantillons représentés dans l'espace des composantes. Le problème consiste à trouver un sous-espace ayant un petit nombre de dimensions (par exemple le plan) dans lequel on puisse faire une représentation des échantillons sans trop modifier les distances initiales entre les échantillons. En projetant les échantillons sur ce sous-espace, -99- 1es distances entre les échantillons projetés sont inférieures aux distances initiales. Le meilleur sous-espace est celui pour lequel les distances entre les projections sont les plus proches possibles des distances initiales. Ainsi, l'objectif principal de l'analyse factorielle est de résumer l'information apportée par un grand nombre de composantes, par un petit nombre plus restreint de nouvelles composantes. Les nouvelles composantes obtenues ne sont pas une simple sélection parmi les composantes de départ : ce sont de nouvelles composantes, appelées composantes principales, réalisant la synthèse de plusieurs composantes initiales /8/,/10/,/15/,/46/. 6.2 Formulation du problème de visualisation des échantillons de parole Un échantillon (prononciation d'un mot par un locuteur) est caractérisé en dernier lieu par une matrice. Nous pouvons alors calculer la distance entre deux échantillons comme étant la distance dynamique (voir chapitre 3.) entre les deux matrices correspondantes. Soient I échantillons obtenus par la prononciation d'un (ou plusieurs) mot(s) par I locuteurs. La distance D(i,j) entre les échantillons 1 et j est donc connue pour taut i et j. Sous certaines conditions /86/, on peut représenter les I échantillons dans un espace euclidien Eq de dimension q (q Sl-I) de telle façon que les distances entre les échantillons soient exactement respectées. Chaque échantillon 1 sera représenté dans l'espace E^ par un vecteur _x ^. Une représentation dans l'espace E^ n'est évidemment ni praticable ni propice à une analyse visuelle. On cherche alors une représentation de tous les échantillons dans un sous-espace F"1 dont la dimension m est beaucoup plus petite que q (pour une analyse visuelle, m doit être plus petit ou égal a 3). La distance D'(i,j) dans le sous-espace F"1 doit être la plus proche possible de 0(i,j). La formulation du problème est donc la suivante : étant donné I échantillons et les distances D(i,j) entre-eux, il s'agit de les représenter par I vecteurs x^, x^t ..., ^j de F"1, par exemple m = 2, de telle façon que les distances D'(1,j) dans Fm soient les plus proches possibles des distances réelles D(i,j). Notons bien que Ton cherche une représentation des échantillons à partir de leurs distances mutuelles. -100- 6.3 Préliminaires /15/ Dans ce paragraphe, on rappelle brièvement quelques aspects mathématiques concernant l'analyse en composantes principales qui est considérée comme la méthode de base des méthodes factorlelles. SoIt £.j, 1 = 1, ..., I l'ensemble des vecteurs dans un espace Eq de dimension q. Le vecteur ^1 contient les q composantes mesurées pour l'échantillon 1. Une observation du nuage dans l'espace Eq est impraticable si q est supérieure à 3. On cherche alors un sous-espace de projection de dimension Inférieure (par exemple le plan) de telle façon que la déformation du nuage en projection soit minimale. Soit £ le centre de gravité défini par : I i'j^i (6.1) Faisons un changement d'origine en ^. Chaque échantillon sera alors représenté par : Ii '*A -1 (6-2) Soit v^, V2, .... V1n, ..., V^, une base orthonormée de Eq, F1" le sous-espace engendré par _v^, ..., Vn, et F"1 le sous-espace engendré par V1n+I, ..., vv Fm et F™ étant orthogonaux on a pour tout i : q O O O O \i\\ e j^ l<*.ik>l » Kzi.^H + lFm'>| (6.3) est ^a projection de ^ sur v^, <^,Fm> est la projection de ^ sur Fm. <^i,Fm'> est la projection de ^1 sur Fm'. En sommant sur i, on a : *= llil 2= 2= l<^i.Fm>|2 + 2= \\2 (6.4) Le membre de gauche de la relation (6.4) est une caractéristique de l'ensemble des échantillons et ne dépend pas du choix des sous-espaces F"1 et -101- Fm'. Comme l'origine des vecteurs ^i se confond avec leur centre de gravité, le membre de gauche de la relation (6.4) est égal, par définition, a l'inertie du nuage par rapport au centre de gravité £. Il est aussi directement proportionnel a la somme des carrés des distances entre les échantillons /10/. Comme l'opération de projection raccourcit toujours les distances, il faut choisir le sous-espace de projection F1" dans lequel les distances seront en moyenne les plus grandes {c'est-à-dire les mieux conservées). On se fixe alors comme critère de rendre maximale la somme des carrés des distances entre les projections. Ce critère est équivalent a rendre maximale l'inertie du nuage projeté par rapport a £. Donc, on doit rendre la somme î ||2 (6.5) maximale. En d'autre termes, il s'agit de trouver v^, v^, .... Vn, tels que m l 2 I__ TZ || est maximum (6.6) k=l i=l ' -"• Soit ^ la matrice unicolonne contenant les q composantes de v^ et i_ la matrice à I lignes et q colonnes dans laquelle la i-ème ligne contient les q composantes du vecteur ^ Le terme *-t- l<^ii^>l Peut être écrit sous la forme matricielle suivante : l'k-l'-l-ïk (6-7) _Y' et V sont les transposées respectives de _Y et V_. Donc (6.6) équivaut à -102- m maximiser ^Z VV.Y'.Y.Vl. V^ sont les inconnus avec V/i-Xj = ' 1 si i=j 0 si Uj (6.8) La solution du problème (6.8) est bien connue /16/,/46/ : si Aj, *2. .... ^m- •**» Aq sont ^es valeurs propres par ordre décroissant de _V' ._Y_ et Vj, ^2, ...,Vn,, ...,^, les vecteurs propres associés, alors les m premiers vecteurs propres normes constituent la solution du problème. Ainsi, le meilleur sous-espace de dimension m pour la représentation des I échantillons est celui formé par les m vecteurs propres^, ^, ..., ^n. La composante de l'échantillon 1 sur le vecteur v^ est : <2i>.yj<> t6-9) Propriétés - Si l est symétrique (I = X') : l-h'^k-h (6-10) I - *k ^ kJti.vjol2 - Äk (6-11) I q - trace (Y-Y) . C ^ = JT A k (6.12) (trace : somme des éléments de la diagonale) La relation (6.11) mesure l'inertie du nuage d'échantillons projeté sur l'axe factoriel v^. La relation (6.12) mesure l'Inertie du nuage d'échantillons dans Eq. Ces deux dernières relations permettent, suivant le nombre d'axes factoriels choisi (le nombre m de ^), de mesurer la quantité d'Information conservée par le facteur ^ suivant : Al +A2 + ••• +Xm ^---------;--------------------- to < I1nSi) (6.13) -103- Remarquons que si pour un m donné, t^ = 1, il n' y a aucune perte d'information en passant de E^ à F"1. 6.4 Analyse des échantillons multilocuteurs d'après les distances mutuelles Les échantillons multilocuteurs sont l'ensemble des prononciations d'un {ou plusieurs) mot(s) par plusieurs locuteurs. Comme cela a été indiqué précédemment, l'information de départ est donnée par les distances entre les échantillons multilocuteurs. Supposons que les distances vérifient les propriétés suivantes : (1) D(I,1) =0 Vi (2) 0(1 ,j) - D(J,i) Vi et j (6.14) (3) D X12)} I* k 1 I2 k I^ -1 Finalement, on obtient : Y1-V1 =--------D(i,j)2 + — ^= D(i,k)2 + — 2= D(Ic1J)2-------- 5= J= D(k,l)2 ii AJ 2 i .J/ 21 k v ' 21 k W k 1 (6.16) La solution exacte quand elle existe Supposons que les I échantillons existent, c'est-à-dire peuvent être représentés dans un espace, la matrice ^ des produits scalaires ^1-Y1 obtenus selon la relation (6.16) est symétrique (à cause de la commutativité -1 05- du produit scalaire). De plus, elle est égale au produit Jf' .Jf_ de la matrice des coordonnées de ces échantillons Jf par sa transposée Jf1, donc ^ est semi-définie positive. Inversement, si _S est symétrique semi-définie positive, la matrice Jf des coordonnées des échantillons existent. En effet, la matrice symétrique semi-définie positive jî peut s'écrire sous la forme : ^ = Q' .A2.£ (6.17) où fir est une matrice diagonale a valeurs propres positives et JJ une matrice orthogonale. Il suffit alors de prendre commme solution pour Jf : Jf/ = £' .£ (6.18) En résumé, la condition nécessaire et suffisante pour que I échantillons donnés par leur distance mutuelle puissent être représentés dans un espace E^ (qs 1-1} est que la matrice ^ formée selon (6.16) soit symétrique semi-définie positive. ' La solution donnée par (6.18) donne une représentation des échantillons dans E^. Notre objectif est de les placer au mieux dans un espace de dimension m petit. D'après le paragraphe précédent (§6.3), on peut déterminer les projections des échantillons représentés dans E^ sur le meilleur sous-espace F"1 de dimension m donnée. Les échantillons i (i = 1, ..-,I) sont alors représentés par les composantes des vecteurs : /T1 .V1 , /T2-V2 . ... , /¾ (6.19) où Xj1 et v^ sont les valeurs propres (par ordre décroissant) et vecteurs propres correspondants de ^. En résumé, si la matrice ^ est symétrique et semi-définie positive, ses valeurs propres sont positives ou nulles. Dans l'espace E^ (q étant le nombre de valeurs propres de ^ non nulles) nous avons une représentation qui respecte exactement les distances entre les échantillons, mais q est généralement trop grand. Pour pouvoir effectuer une analyse visuelle sur les échantillons, il faut se contenter du sous-espace formé par les deux (éventuellement trois) premiers vecteurs propres associés aux deux plus -106- grandes valeurs propres. Ce sous-espace est le meilleur espace de dimension deux (ou trois) pour représenter les échantillons. Dans le plan F% le i-ème échantillon est représenté par les i-èmes composantes des deux vecteurs suivants : La quantité d'Information retenue par les deux premiers vecteurs propres, est mesurée par le facteur t% : A, + Aj t2 = -------------- (6.20) trace {$) Solution approchée En général, la matrice ^ n'est pas semi-définie positive, même si les trois propriétés (6.14) sont vérifiées. Nous pouvons alors obtenir des valeurs propres négatives, dont les racines carrées donneraient des valeurs imaginaires. Par conséquent, il n'existe pas d'espace euclidien E^ de telle façon que les distances entre tous les échantillons soient exactement respectées. Comme on s'intéresse seulement aux m (m égal a 2 ou 3) plus importants axes factorlaux, la question qui se pose est la suivante : quelle est la validité de la solution approchée qui consiste a choisir les m plus grandes valeurs propres positives et vecteurs propres associés de la matrice _S, dans le cas général où ^ n'est pas forcément semi-définie positive? La réponse a cette question est donnée par ce qui suit. Cherchons une matrice ]_ de rang m telle que c'est-à-dire une matrice 2 telle que ll'Il 2 " ?—. (s(1,j) - t(i,j))2 est minimum ' » J D'après la décomposition d'Eckart-Young /19/, la matrice J admet comme valeurs propres A1, A2, .... xm et ^1, V2, ..., Vn, comme vecteurs propres; -107- Figure 6.1 : Comparaison des t,„ calculés d'après (6.20) et (6.21) a) Mot "zéro" par 25 locuteurs et 25 locutrices .20) tjj, d'après (6.21) 0.25 0.36 0.43 0,49 0.54 0.58 0.62 0.66 0.69 0.71 ixe (m) Valeur propre tfn d'aprè: 1 291814.00 0.27 2 117362.05 0.38 3 86470.68 0.47 4 64921.58 0.53 5 54887.86 0.58 6 53712.87 0.63 7 43016.70 0.67 8 39846.72 0.71 9 32803.37 0.74 10 30764.01 0.77 26 -7748.93 0.99 0.93 b) Mot "deux" par 25 locuteurs et 25 locutrices Axe Valeur propre tjj, d'aprè: 1 420344.06 0.35 2 156584.16 0.48 3 143648.13 0.60 4 88835.56 0.67 5 69986.49 0.73 6 63463.53 0.78 7 54865.78 0.83 8 42050.13 0.86 9 33957.74 0.89 10 27314.53 0.91 14 -18398.72 0.91 In, d'après (6.21) 0.29 0.40 0.50 0.57 0.61 0.66 0.70 0.73 0.75 0.77 0.83 -1 OS- c'est-a-dire, les mêmes que les m plus grandes valeurs propres positives et vecteurs propres associés de la matrice Ji. Ainsi, J est une matrice symétrique semi-définie positive de rang m, qui approxime au mieux la matrice S^. Pratiquement, il suffit de retenir comme solution les m vecteurs propres associés aux m plus grandes valeurs propres positives de S^. En fait, on se contentera de m = 2 (éventuellement m = 3). Comme J> peut «voir des valeurs propres négatives, nous définissons l'indice t2 comme suit : t2 = --------------------------------------------------------- (6.21) *1 +X2 + ¦¦¦ +Am + ¦" + IVI + ¦•• + lXql Oùxr,Ar+i, ---'^q sont des valeurs propres négatives. Précisons encore que s'il n'y a pas de valeurs propres négatives, (6.20) et (6.21) sont identiques. Les tests effectués sur des échantillons de parole montrent (voir exemples des figures 6.1a et 6.1b) qu'il y a peu de différence entre les t2 calculés selon (6.20) et (6.21). Ceci est dû à l'effet négligeable des valeurs propres négatives de ^. Dans les tableau 6.1a et 6.1b, nous avons également indiqué la premiere valeur propre négative. Autre approche Une autre approche (méthode de Kruskal) consiste "a chercher directement la meilleure configuration des I points dans l'espace de dimension fixée. La distance euclidienne entre deux vecteurs ^ = (y-j(l),.. .,y^k),... ) et Xj s (yj(D.....yj(k>....) dans Fm est jg (yjtk) - yj(k)): On cherche les y^(k) avec i = 1.....I et k = 1, ..., m qui minimisent la quantité suivante : I m ZZ ( D(1fJ)Z . TZ Card(CK) où Card(Cj1.) est le cardinal de C^ (nombre d'éléments dans la classe), et K le nombre de classes trouvé avec le seuil donné T. Soit L le nombre de locuteurs ayant participé au test EXP3 et I le nombre total d'éléments. TCC est alors calculé comme suit (voir §7.5.4) : K' TCC = ^ VmaxfC,,) / I K' = MIn (L,K) Ainsi, dans la définition de TCC, on ne tient compte que des K' plus grandes classes. Résultats La figure 7.9 donne le taux TCC en fonction du seuil de distance T pour les trois fonctions F4, F5 et F6 (mot choisi : 'zéro', EXP3). Les conclusions suivantes s'imposent : - supériorité de F4 par rapport à F5 et F6 - pratiquement pas de différence entre F5 et F6; ceci est dû a l'effet prépondérant de l/nA dans F5. -149- 100.e SEUIL DE DISTANCE F1g.7.9 : Taux TCC dans le cas de Talgoritfme ASC avec F4, F5, F6 (mot : ze'ro ; EXP3) Le tableau de la figure 7.10 donne, pour chacune des fonctions-critères Fl, F2, F3, F4, F5 et F6, la moyenne des TCC maximum (TCCmax) des différents mots du vocabulaire, ainsi que l'écart-type de TCCmax (le TCCmax est obtenu en faisant varier le seuil par petit pas). Nous pouvons constater : - que les fonctions-critères Fl, F2, F3 et F4, basées uniquement sur des fonctions d'homogénéité, donnent des résultats similaires, avec un léger avantage pour Fl - que Fl, F2, F3 et F4 sont supérieures a F5 et F6, ces deux dernières faisant Intervenir le nombre d'éléments de la classe. - qu'il n'y a pratiquement pas de différence entre F5 et F6; ceci est certainement dû à l'effet dominant de nA dans F5. En conclusion, 1'algorithme séquentiel ASC donne de meilleures performances lorsque la fonction-critère est basée uniquement sur une fonction d'homogénéité. -150- Fl F2 F3 F4 F5 F6 TCCm ax 79.2 78.6 79.1 79.5 73.3 73.3 Ecart-type 8.2 9.8 8.8 8.8 9.9 9.9 Fig.7.10 Moyenne des TCC maximum (en %) et leurs écart-types pour les fonctions Fl, F2, F3, F4, F5 et F6 (alg. : ASC , EXP3). 7.6.4 Comparaison de l'algorithme ASC avec l'algortihme UWA Comme l'algorithme ASC, UWA /74/, /75/ est un algorithme séquentiel, c'est-a-dire qu'il crée les classes l'une après l'autre, et nécessite la fixation a priori d'un seuil de distance. Soit C l'ensemble des éléments qui restent à classer et Gq son centre de gravité. Dans l'algorithme UWA, la première classe-candidate est déterminée par l'ensemble des éléments qui se trouvent à une distance inférieure à T de son centre de gravité Gq. La détermination du centre de gravité Gi de cette première classe-candidate permet de définir, avec le même critère de seuil, la deuxième classe-candidate. Le centre de gravité G? de cette dernière permet de déterminer la troisième classe-candidate, et ainsi de suite. On s'arrête quand deux centres de gravité successifs sont les mêmes, ou lorsque on dépasse un certain nombre (tmax) d'itérations; la k-ième classe est alors la dernière classe-candidate obtenue. L'algorithme UWA utilisé dans /23/, /74/, /75/ peut être décrit comme suit : 1. Initialisation : k = 1 (k-ième classe) C=C 2. a) t = 0 (indice de l'itération) b) calculer le centre de gravité de C: Gt c) Déterminer la classe-candidate A : A= (X1-E C tel que D(Gt1X1) < T } -151- e) t = t + 1 f) Déterminer le centre de gravité de A : Gt h) Si { Gt ¦= Gt-1 ou t > tmax ) : Ck = A et aller en 3. Sinon : aller en c) 3. C=C- Cl 4. Test d'arrêt Si C M Sinon k = k+1 et aller en 2. fin Remarque : - Le centre de gravité d'un sous-ensemble ( C ou A ) est déterminé a l'aide de Mini» - ou minmax - (§7.4.3). Comparaison des TCC pour les algorithmes ASC et UWA - Nous pouvons dire que l'algorithme UWA est un cas particulier de l'algorithme ASC dans 1a mesure où le nombre de classes-candidates envisagé par UWA est plus petit que celui envisagé par ASC. La figure 7.11 donne le taux de classification correcte maximum TCCmax obtenus pour les différents mots par les algorithmes ASC + F2 et UWA (nous avons choisi la fonction F2 égale à minmax(A) dans l'algorithme ASC, car dans l'algorithme UWA le centre de gravité est déterminé par le minmax). On peut constater que la courbe correspondant à ASC + F2 est toujours au-dessus de celle correspondant a UWA. Ainsi, ASC est supérieur a UWA pour tous les mots du vocabulaire choisi. A titre de comparaison avec les résultats obtenus avec l'algorithme ASC et donnes dans la figure 7.10, on obtient avec l'algorithme UWA un TCCmax moyen égal a 73.5% avec un écart-type de 9.9. Donc, d'après les tests de classification, où le meilleur partitionnement est en principe connu à priori, l'algorithme ASC (avec une fonction-critère basée sur une fonction d'homogénéité) est supérieur a l'algorithme UWA. -152- 180.0 75-BH 58.0-1 25.an 5 6 7 8 9 10 11 12 13 NUMERO OU MOT Fig.7.11 TCC maximum pour les algorithmes ASC + F2 et UWA Nous allons voir ci-après leurs performances respectives en reconnaissance multilocuteur. 7.6.5 Tests de reconnaissance multilocuteur Les conditions du test sont les mènes que celles décrites dans §7.5.5 Dans les deux algorithmes ASC et UHA, le seuil de distance pour chacun des mots est choisi de telle façon que l'on obtienne le plus grand nombre de classes, mais au maximum K classes par mot (K valant successivement 6, 5, 4..... 1). La figure 7.12 donne le taux d'erreur obtenu par les algorithmes ASC avec Fl et UHA. Les résultats reportés sur cette figure montrent ; - la supériorité de l'algorithme ASC par rapport à l'algorithme UWA. - comme dans les cas des algorithmes AEC et 61 (§7.5), la décroissance du taux d'erreur en fonction du nombre de classes. Par ailleurs, les résultats obtenus par ASC et UWA sont meilleurs que ceux obtenus avec un choix aléatoire des références (voir fig.7.5). Nous avons donc montré que l'application de l'algorithme séquentiel basé sur une fonction-critère judicieusement choisie (ASC) pour la création des - références multilocuteur permet d'améliorer de façon significative la reconnaissance multilocuteur. En outre, il donne de meilleurs résultats que -153- 1'algorithme UWA /23/,/74/,/75/ précédemment utilisé en reconnaissance multilocuteur. 30.0 25.0-1 20.0^ 15.BH 10.0H 5.0H 0.0 E REFERENCES SELECTIONNEES PRR ASC 0 REFERENCES SELECTIONNEES PRR UMR ¦* 2 3 4 5 NOMBRE DE REFERENCES PRR MOT Fig.7.12 Taux d'erreur en reconnaissance multilocuteur en fonction du nombre oe références par mot obtenues par les algorithmes ASC et UWA. -154- 7.7 Elimination des isolés Dans un ensemble de prononciations d'un mot par plusieurs locuteurs, il peut y avoir des 'mauvaises' prononciations. Les causes en sont par exemple : - un claquement de lèvres au début ou à la fin d'un mot, - les bruits et les sons produits par l'environnement. Si la prononciation du mot est perturbée uniquement a son début ou à sa fin, l'algorithme de calcul de la distance entre deux prononciations proposé dans §3.6 permet d'éliminer les effets négatifs que pourrait introduire cette "mauvaise prononciation". Par contre, si le bruit a lieu 'au milieu' de la prononciation, celle-ci peut perturber de façon significative l'algorithme de classification. Avant d'appliquer la classification automatique pour la création des références multilocuteur, nous devons détecter et éliminer ces "mauvaises prononciations". Appelons isolé, ou mauvaise prononciation, un élément d'un ensemble qui est éloigné de tous les autres éléments de l'ensemble. La détection des isolés est basée sur la distance d'un élément a son voisin le plus proche qui est grande dans le cas d'un isolé. Nous admettons que deux 'mauvaises' prononciations sont éloigées l'une de 1'autre. Pour chacun des I éléments (c'est-à-dire les I prononciations d'un mot donné par divers locuteurs), on détermine la distance minimale aux 1-1 éléments restants: Dmin(i) = Min D(i,j) 1=1.....I i*J Un élément i est isolé si : Dmin(i) > Dmin + s où 0min est la valeur moyenne des Dmin{i) et s leurs écarts-types. Les figures 7.13a et 7.13b donnent les résultats de reconnaissance multilocuteur obtenus sans et avec rejet des isolés (selon la méthode proposée ci-dessus). Les remarques suivantes peuvent être faites : - dans le cas de l'algorithme AEC, les résultats obtenus sans et avec rejet -1 55- des isolés sont très proches. - dans le cas de l'algorithme ASC, les résultats obtenus avec rejet des isolés sont légèrement supérieurs. Nous pouvons conclure d'après ces résultats, que l'algorithme d'échange AEC est moins perturbé par les isolés que l'algorithme ASC. 30.0 25.0- 2 20-0 o: LU gj 15-0H X i 10.0- 5.0- 0.0 AEC - SPNS REJET DES ISOLES AEC - OVEC REJET DES ISOLES Fig.7.13a 3 4 NOMBRE DE REFERENCES PRR MOT -1 56- ? ASC - SPNS REJET DES ISOLES O ASC - AVEC REJET DES ISOLES 3 4 NOMBRE DE REFERENCES PRR MOT Fig.7.13b Ai Fig.7.13 Taux d'erreur en reconnaissance multilocuteur en fonction du nombre de références par mot obtenues par les algorithmes : a} AEC sans et avec rejet des isolés b) ASC sans et avec rejet des isolés -157- 7.8 Nombre variable de références par mot Dans un environnement multi locuteur et pour un vocabulaire donné, il existe des mots 'faciles' à reconnaître et d'autres plus 'difficiles' a reconnaître. Si dans un syteme de reconnaissance automatique le nombre total de références pour tout le vocabulaire est fixé, il est plus judicieux d'assigner un nombre plus grand de références pour les mots difficiles à reconnaître, et un nombre plus petit pour les mots faciles a reconnaître. La figure 7.14 donne la matrice de confusion des mots du vocabulaire comprenant les dix chiffres. Le locuteur-référence est toujours différent du locuteur-test. Le test a été effectué pour une population comprenant 25 hommes et 25 femmes, et où chaque locuteur est pris comme locuteur-référence, les autres constituant les locuteurs-tests. Nous pouvons constater qu'effectivement, le nombre de confusions, donc d'erreurs, est très variable en fonction du mot. Ce nombre est minimum pour le mot 'six' et maximum pour le mot 'cinq'. ' Référence 0 12 345 6789 918 36 206 18 0 12 1 33 1 0 31 744 8 385 11 38 1 4 3 O 170 32 940 3 1 12 2 28 32 5 27 110 6 1057 8 4 0 12 0 1 0 13 0 30 896 65 52 117 3 49 15 41 7 23 28 585 177 341 3 5 0 0 0 0 0 45 1151 22 6 1 13 0 4 2 U 152 413 625 4 1 11 0 49 0 15 23 274 23 665 165 2 0 15 0 75 12 80 17 119 905 0 1 T 2 e 3 S 4 t 5 6 7 8 9 Fig.7.14 : Matrice de confusion des dix chiffres avec 25 hommes et 25 femmes. Le locuteur-référence est différent du locuteur-test. -158- L'idée est d'attribuer a chaque mot un nombre de références proportionnel au taux d'erreur de ce mot, le nombre total des références pour tout le vocabulaire restant inchangé. Soit Er(m) le taux d'erreur obtenu pour le m-ième mot, Er le taux d'erreur sur tout le vocabulaire et K le nombre moyen de références par mot. Nous fixons le nombre de références K(m) pour le m-ième mot corme suit : «„> . J£> . (K-I) ? l Er A titre d'exemple, les K{m) qu'on obtient avec les résultats de la figure précédente et avec K = 5 sont les suivants : m 0 1 2 3 4 5 6 7 8 9 K(m) 4 6 4 3 S 8 2 7 7 4 Ainsi, on affecte au mot 'six' le nombre minimal de classes (K(6) = 2), et au mot 'cinq' le nombre maximal (K(5) = 8). La figure 7.15 donne les résultats de reconnaissance lorque les références sont sélectionnées a l'aide de l'algorithme ASC dans les cas suivants : - même nombre de références par mot - nombre variable de références par mot - nombre variable de références par mot avec rejet des Isolés. Les résultats obtenus dans le cas où le nombre de références par mot est variable sont meilleurs que le cas où l'on a le même nombre de références par mot. En fait, l'utilisation d'un nombre variable de références par mot permet d'obtenir les mêmes performances pour tout le vocabulaire, mais avec un nombre total de références plus petit. -159- une autre approche Intéressante serait la suivante : en utilisant un algorithme séquentiel et en se basant sur un seuil de distance identique pour tous les mots du vocabulaire, on trouve un nombre de classes variable par mot. 38.0 25.0- 5.0- 0.0 ? PSC (T) PSC + NB. A RSC + NB. VRRIPBLE DE REF. VARIABLE DE REF. PRR MOT + REJET ISOLE 2 3 4 5 NOMBRE MOYEN DE REFERENCES PRR MOT Fig.7.15 Comparaison des résultats en reconnaissance multi locuteur entre un nonrnre de références fixe par mot et un nombre de références variable par mot. -160- 7.9 Conclusion Dans ce chapitre, nous avons étudié et mis au point une série de méthodes qui nous permettent, à partir d'un ensemble de prononciations d'un vocabulaire donné par divers locuteurs, de déterminer les groupes typiques pour chaque mot, puis leurs représentants. Ces derniers sont ensuite utilisés comme référence multilocuteur. Les conclusions Importantes sont les suivantes : 1) pour les algorithmes basés sur une fonction-critère, il est important de choisir judicieusement cette fonction pour obtenir des classes utilisables. Pour l'algorithme AEC, les fonctions du type Fb ou Fc sont bien adaptées. Pour l'algorithme ASC, les fonctions-critères basées directement sur une fonction d'homogénéité donnent de meilleurs résultats. 2) Les tests de reconnaissance montrent de façon évidente que les références obtenues à l'aide d'un algorithme de classification donnent de meilleurs résultats que des références choisies de façon aléatoire. 3) Les résultats de reconnaissance sont meilleurs lorsqu'on utilise un algorithme basé sur une fonction-critère (par exemple AEC avec Fbji ou ASC avec Fl). 4) Les résultats de reconnaissance obtenus avec AEC sont légèrement meilleurs que ceux obtenus avec ASC. 5) Pour le choix du représentant d'une classe, la méthode moy (moyenne des éléments) donne de meilleurs résultats que les méthodes Hinll ou Mini» . En pratique, la méthode Hinll qui est légèrement supérieure a Mini™ est préférable, car plus simple à mettre en oeuvre. 6) L'utilisation d'un nombre variable de références par mot permet de diminuer le nombre total de références pour tout le vocabulaire, sans détérioration des performances. -161- Conclusion générale Les méthodes développées dans ce travail comprennent d'une part, les méthodes de traitement et de compression de données relatives au signal acoustique d'un mot, et d'autre part les méthodes de reconnaissance multilocuteur. A la suite de l'analyse spectrale à court-terme, les algorithmes de traitement et de compression de données sont décrits comme une suite d'opérations à effectuer : compression temporelle, normalisation en amplitude par zone et quantification. Chaque opération peut être ajustée par l'intermédiaire d'un ou plusieurs paramètres. Nous montrons, dans le cas d'un petit vocabulaire, que par un choix judicieux des paramètres, on peut réduire considérablement la quantité de données par mot sans dégradation significative des performances. La reconnaissance multilocuteur a été abordée selon plusieurs approches : le recalage fréquentiel, l'adaptation au locuteur et la création de références multilocuteur. Les méthodes de recalage fréquentiel permettent surtout d'améliorer la reconnaissance inter-genre. Par contre, aucune amélioration n'est obtenue dans le cas de la reconnaissance intra-genre. La méthode d'auto-adaptation au locuteur qui est un mécanisme souple d'apprentissage est bien adaptée à des petits vocabulaires et aux systèmes portables. En ce qui concerne la troisième approche, la partie essentielle de ce travail, nous avons d'abord montré par une analyse factorielle que les prononciations d'un même mot par un grand nombre de locuteurs se regroupent dans un nombre limité de classes. Nous avons ensuite développé et appliqué deux algorithmes de classification basés sur une fonction-critère (AEC et ASC), en vue de la détermination des références multilocuteur. Nous avons défini toute une série de fonctions-critères et montré celles qui sont bien adaptées au cas de la parole. -162- Les tests de reconnaissance ont montré l'avantage des algorithmes basés sur une fonction-critère par rapport à d'autres algorithmes déjà appliqués au domaine de la reconnaissance multilocuteur de la parole. Finalement, nous avons montré que l'utilisation d'un nombre variable de références par mot permet de réduire le nombre total de références pour tout le vocabulaire sans détérioration des performances. -163- Annexe A Paramètres du traitement numérique et du calcul de distance Normalisation temporelle (NTMP) : NTMP = 1 Normalisation linéaire 2 Normalisation curviligne N Longueur de normalisation Normalisation en amplitude (NAMP) : NAMP = ZO Norm, en amplitude globale Zl Norm, en amplitude par ligne Z2 Norm, en amplitude par demi-colonne Z3 Norm, en amplitude par colonne Z4(LF,LT) Norm, en amplitude par zone de longueur fréquentielle LF et de longueur temporelle LT Quantification (QUANT) : QUANT = 1 Quantification linéaire 2 Quantification logarithmique Nb Nombre de bits r0 Valeur, dans la matrice non quantifiée, à laquelle correspond la valeur quantifiée nulle. rO est rapporté a la valeur moyenne de la matrice non quantifiée. ri Valeur, dans la matrice non quantifiée, à laquelle correspond la valeur quantifiée maximale, ru est rapporté à la valeur moyenne de la matrice non quantifiée. -164- Oistances entre deux matrices (DHAT) : DMAT = 1 Distance linéaire simple 2 Distance linéaire avec déplacement global 3 Distance dynamique DVEC = 1 Distance entre vecteurs-fréquences selon la relation (3.1) 2 Distance entre vecteurs-fréquences selon la relation (3.2) RANGE Largeur de la fenêtre dans le cas de la distance dynamique, ou déplacement global maximum dans le cas de la distance linéaire. CDF = 1 On impose que les débuts et fins de deux mots à comparer coïncident (cas de la distance dynamique). 0 Pas de contraintes. -165- Annexe B Glossaire signal acoustique : forme électrique du son à la sortie du microphone. analyse acoustique : caractérlsation de la variation temporelle du spectre d'amplitude. cognitif : ayant trait à la signification du langage et plus généralement à la connaissance du monde. classe : ensemble d'éléments ayant des traits similaires. Un mot peut être décrit par une seule classe dans le cas d'un système monolocuteur et par plusieurs classes dans le cas d'un système multilocuteur. diphoneme : association de deux phonèmes. fondamental : fréquence correspondant à la vibration des cordes vocales. formant : fréquence correspondant à une résonnance du conduit vocal. lexique : les mots du vocabulaire d'une langue. locuteur : le locuteur est le sujet qui parle. locuteur-test : locuteur à qui appartient les mots-tests. locuteur-référence : locuteur à qui appartient les mots-références. matrice brute : représentation matricielle du signal à la sortie de -166- Tanalyseur acoustique. mot : son ou groupe de sons. mot Isolé : mot prononcé de façon isolé. mots enchaînés : séquence isolée de quelques mots prononcés de façon continue. Le nombre maximum de mots est fixé et petit. mot-référence : forme traitée d'un mot se trouvant dans le dictionnaire. mot-test : forme traitée d'un mot inconnu phoneme : son élémentaire d'un langage (en français il y en a une trentaine). pragmatique : étude des corrélations des formes linguistiques et des variables situationnelles. prosodie : concerne la mélodie, le rythme et l'intensité de la voix. sémantique : étude des mots considérés dans leur signification. syntaxe : partie de la grammaire qui traite de la fonction, la disposition des mots et des propositions dans ta phrase. vecteur-fréquence : ensemble des valeurs de sortie des K canaux de l'analyseur spectral à un instant d'échantillonnage. -167- BIBLIOGRAPHIE 1. Allen J.B. and Rabiner L.R., "A unified approach to short-time Fourier analysis and synthesis", Proc. IEEE, vol. 65 no. 11, pp. 1558-1564, 1977. 2. Arbenz K., Wohlhauser A., "Analyse numérique", Presses polytechniques romandes, Lausanne, 1980. 3. Baker J.M., "A new time-domain analysis of human speech and other complex waveforms", Ph.D., Carnegie-Mellon University, Pittsburg, PA., 1975. 4. Ball G.H. and Hall D.J., "Isodata - An Iterative Method of Multivariate analysis and Pattern Classification", in Proc.IFIPS Congr., 1965. 5. Baker J.K., "The DRAGON system : an overview", IEEE Transactions, vol. ASSP-23, pp. 24-29, 1975. 6. Bedrosian E., "A product theorem for Hilbert transforms", Proceedings of the IEEE, pp. 868-869, 1963. 7. Bellman R. and Dreyfus S.E., "Applied Dynamic Programming", Princeton University Press. 8. Benzecri J.P., "L'analyse des données : la taxinomie", Dunod, Paris, 1980. 9. Bui N. C-, Monbaron J.J., and Michel J.M., "An Integrad Voice Recognition System", IEEE Trans, on ASSP, Vol.ASSP-31 No. 1, February 1983. 10. Bouroche J.M. et Saporta G., "L'analyse des données", Presses -168- Universitaires de France, 1980. 11. Billi R., Oreglia M., Pieraccini R., Scagliola, Vìcenzi C, "Performance analysis of speaker-trained isolated word recognition system", Int. Zurich seminar, 1982. 12. Deczky A.G., "Recognition of isolated words for small vocabularies", Rep. No. 38 EC 02 001, IMT NeuchStel, August 1980. 13. Deczky A.G., "Recognition of isolated words for small vocabularies", Rep. No. 38 EC 02 002, IMT Neuchâtel, October 1980. 14. Oe Mori R., "Recent Advances in Automatic Speech Recognition", ICPR, Kyoto, Japan, Nov. 1978. 15. Oiday E., Lemaire J., Pouget J., Testu F., "Eléments d'analyse de données", Dunod, Paris, 1982. 16. Diday E. et Coll. "Optimisation en classification automatique", INRIA, Rocquencourt, France, 1980. 17. Duda R.O., Hart P.E., "Pattern classification and scene analysis", John Willey, New York, 1973. 18. Erman I.D., "A functional description of the HEARSEAY II system", Proc. IEEE-ICASSP, Hartford, Conn., pp. 799-802, 1977. 19. Eckart C, Young G., "The approximation of one matrix by another of lower rank", Psycometrika, Vol. 1 No 3, September 1936. 20. Elenius K., Blomberg M., "Effects of emphasizing transitional or stationnary parts of the speech signal in a discrete utterance recognition system", IEEE Proceedings of ICASSP, Vol.1, pp. 535-538, 1982. 21. Fant G., "Speech communications", Almqvist and Wiksell, Stockholm. 22. Flanagan James L., "Speech analysis, synthesis, and perception", Springer-Verlag, New York, 1972. -169- 23. Flocon ß. and Lockwood P., "A Speaker Independent Isolated Word Recognition System", EUSIPCO-83, pp. 407-410, 1983. 24. Fu K.S., "Digital pattern recognition", Springer-Verlag, New York, 1980. 25. Fu K.S., "Applications of Pattern Recognition", CRC Press, Palm Beach, 1982. 26. Grenier Y-, Maurin O.C. "Adaptation au locuteur par analyse canonique des corrélations", 2ème congrès Reconnaissance des formes et Intelligence Artificielle", Toulouse, 1979. 27. Gauvain J.L., Mariani J., Lienard J.S., "On the use of time compression for Word-based recognition", ICASSP-83, Boston, 1983. 28. Gauvin J.L., Mariani J., "A method for connected word and word spotting recognition", IEEE Proceedings of ICASSP-82, Vol.2, pp. 891-894, 1982. 29. Harris F.J., "On the use of windows for harmonic analysis with the discrete Fourier transform", Proc. IEEE, vol. 66, no. 1, pp. 51-83, 1978. 30. Haton J.P. "Contribution à l'analyse, la paramétrisation et la reconnaissance automatique de la parole". Thèse d'état, Nancy, 1974. 31. Haton J.P., "Reconnaissance automatique de la parole", 8-ième école d'été d'informatique de I1AFCET, Namur 1975. 32. Haton J.P., "Speech recognition and understanding", 6th ICPR, Munich, 1982. 33. Haton O.P., "Automatic speech analysis and recognition", D.Reidei pubi., Oordrecht, 19B2. 34. Haton O.P., "Reconnaissance automatique de la parole : état de la recherche et du développement", dans "Le point sur la reconnaissance et la synthèse de la parole", Agence de l'informatique, Paris, La défense, 1981. -170- 35- Hugli H. et Mokeddem A., "Reconnaissance du locuteur et de mots isolés par des systèmes miniaturisés : une comparaison", Journées d'électronique 85, real time processing : application in control and signal processing, Lausanne, Suisse, Oct. 1985. 36. Itakura F., "Minimum prediction residual principle applied to speech recognition", IEEE Trans, on ASSP-23, Vol. No.l, February 1975. 37. Jelinek F., "Continuous speech recognition by statistical method", Proceedings IEEE, vol. 64, no. 4, pp. 532-556, 1976. 38. Jaschul J., "Speaker adaptation by a linear transformation with optimised parameters", Proceedings of ICASSP 82, Paris, 1982. 39. Klatt D.H., "Review of the ARPA speech understanding project", J.A.S.A., vol. 62, pp. 1345-1366-, 1977. 40. Knuth Donald E., "The art of computer programming", Addi son-Wesley publishing company, Vol. 1. 41. Kunt M., "Traitement numérique des signaux", Editions Georgi, Lausanne, 1980. 42. Lamel L.F., Rabiner L.R., Rosenberg A.E. and Wilpson J.G., "An Improved endpoint detector for IWR", ASSP-Z9, 1981. 43. Lea W.A., "Trends in Automatic Speech Recognition", Englewood Cliffs, Prentice-Hall, New-York, 1980. 44. Lea W.A., "Selecting, Designing, and Using Practical Speech Recognizers" in "Automatic Speech Analysis and Recognition" by J,P. Haton, D.Reidel Publishing Compagny, 1982. 45. Lea W.A., "Selecting, Designing, and Using Speech Recognizers". Santa Barbara, CA: Speech Science Publications, 1982. 46. Lebart L., Morineau A., Fenelon J.P. " Traitement des données statistiques", Dunod, 1982. -171- 47. Levinson S.E., Rabiner L.R., Rosenberg A.E, and Wilpson J.G., "Interactive Clustering Techniques for Selecting Speaker-Independent Reference Templates for Isolated Word Recognition", IEEE Trans, on ASSP, Vol. ASSP-27, No.2, April 1979. 48. Levinson S. et Liberman H., "La reconnaissance de la parole par ordinateur", dans "L'intelligence de l'informatique", bibliothèque pour la science, diffusion Belin, 1984. 49. Liénard O.S., "Les processus de la communication parlée", Masson, Paris, 1977 50. Lowerre, B.T., "The HARPY speech recognition system", Ph.D., Carnegie-Mellon University, Pittsburgh, Pa., 1976. 51. Lowerre, B.T., "Dynamic Speaker adaptation in the HARPY Speech Recognition System", Int. Conf. ASSP, New-York, 1977. 52. Makhoul J., Viswanathan R., Schwartz R., Huggins A.W.F., "A mixed-source model for speech comprehension and synthesis", Proc. IEEE-ICASSP, Tulsa, 1978. 53. MacQueen, "Some methods for classification and analysis of multivariate data", in Proc. 5th Berkeley Symp. Probability and statistics, Berkeley, CA, 1967. 54. Makhoul J., "linear prediction : a tutorial review", Proceedings IEEE, vol. 63, PP- 561-580, 1975. 55. Markel J.D. and Gray Jr. A.H., "Linear Prediction of Speech", Springer-Verlag, Berlin, 1976. 56. Martin, T.B., "Practical applications of voice input to machine", Procedings IEEE, vol. 64, no. 4, pp. 487-501, 1976. 57. Minoux M. "La programmation mathématique", théorie et algorithmes (tomes 1 et 2), Paris, 1983. 58. Mokeddem A., "Reconnaissance de la parole: algorithmes de traitement -172- numéYique0, rapport 99 EC 02 007, IMT Neuchâtei. 59. Mokeddem A., "Création d'une référence indépendante du locuteur pour la reconnaissance automatique des mots isolés", rapport 53 EC 02 002B, IMT Neuchâtel, 1981. 60. Mokeddem A., "Reconnaissance multilocuteur des mots isolés par recalage frequentier, rapport 115 EC 02 009, IMT Neuchâtel. 61. Mokeddem A., "Analyse factorielle appliquée aux échantillons multilocuteur de la parole", rapport 116 IC 02 010, IMT Neuchâtel. 62. Mokeddem A., "Techniques de classification automatique appliquées à la reconnaissance multilocuteur", rapport 114 EC 02 008, IMT Neuchâtel. 63. Mokeddem A., "Méthodes statistiques appliquées à la reconnaissance multilocuteur de mots isolés", rapport 156 EC 03/85, IMT Neuchâtel. 64. Mokeddem A., Hügli H., Pellandini F., "Evaluation of criterion based clustering procedures for generating multiple template references in speaker independent speech recognition", seventh ICPR, Montreal, August 1984. 65. Mokeddem A., Hügli H., Pellandini F., "Criterion based clustering techniques applied to speaker independent speech recognition", conference on "Digital Processing of Signals on Communications", at University of Loughbrough, England 22-25 April 1985. 66. Mokeddem A., Hügli H., Pellandini F., "Reconnaissance multilocuteur de mots isolés", 14-ièmes journées d'étude sur la parole, GALF, Paris, Juin 1985. 67. Niles Les, Silverman Harvey F., Dixon R., "A Comparison of Three Feature Vector Clustering Procedures in a Speech Recognition Paradigm". Proc. ICASSP 83, pp.765-568, 1983. 68. Oppenheim A.V. and Shafer R.W., "Digital signal processing", Prentice Hall, Englewood Cliffs, NJ, 1975. -1 73- 69. Okochi M., Sakai T., "Trapezoidal DP Matching with Time Reversibility", Proc. ICASSP 82, pp. 1239-1242, 1982. 70. Pieraccini R., "Pattern compression in isolated isolated word recognition", Signal processing, Volume 7, No. 1, Septembre 1984. 71. Rabiner L.R. and Sambur M.R., "An algorithm for determining the endpoints of isolated utterances", Bell System Technical Journal, vol. 54, no. 2, pp. 297-315., 1975. 72. Rabiner L.R., Rosenberg A.E. and Levinson S.E., "Considerations in dynamic time warping for discrete word recognition", IEEE Transactions, vol. ASSP-25, no. 4, pp. 338-345. 73. Rabiner L.R., "Digital processing of speech signals", Prentice-HalÌ, New Jersey, 1978. 74. Rabiner L.R., "On Creating References for Speaker Independent Recognition of Isolated Words", IEEE Trans on ASSP, Vol. ASSP, No.3, pp.34-42, February 1978. 75. Rabiner L.R., Wilpson J.G., "Considerations in Applying Techniques to Speaker-independent Word Recognition", J. Acoust. Soc. Am., Vol. 66, No. 3, September 1979. 76. Renaud M., "Réseau de processeurs pour l'algorithme DTW en reconnaissance de mots isoles", CEH NeuchStel rapport technique No. 264, janvier 1983. 77. Sakoe H., "Two level dp-matching - A dynamic programming based pattern matching algorithm for connected word recognition", IEEE transactions, vol. ASSP-27, no. 6, pp. 588-595, 1979. 78. Sakoe H., Chiba S., "Dynamic Programming Algorithm Optimization for Spoken Word Recognition", IEEE Trans on ASSP, Vol, ASSP-26 No. 1, pp. 43-49, February 1978. 79. Sambur M.R. and Rabiner L.R., "A speaker independent digit recognition system"". Bell Syst. Tech. J., vol.54, Jan. 1975. -174- 80. Schafer R.W. and Markel J.O., "Speech Analysis", IEEE Press, New-York, 1979. 81. Suen CY. and De Mori R., "Computer analysis and perception of visual and auditory signals", CRC press, Rotori Boca, FIa., U.S.A., 1981. 82. Tou J.T. and Gonzales, R.C. "Pattern Recognition Principles", Addison-Wesiey, 1974. 83. Tsuruta S., "DP-100 voice recognition system achives high efficiency", JEE, pp. 50-54, 1978. 84. Velichko V.M., Zagorujko N.G., "Automatic recognition of 200 words", Int. J. Man-Machine Studies, 2, 1970. 85. Wilpon J.G., Rabiner L,R., "A Modified K-means Clustering Algorithm for Use in Isolated Work Recognition", IEEE Transactions on ASSP, Vol. ASSP-33, no 3, June 1985. 86. Young G. and Householder A.5., "Discussion of a set of points in terms of their mutual distances", Psychometrika. 87. Zoîcas Adrian, "Reconnaissance vocale : un jeu de circuits intégrés mis au point par NEC", Minis et Micros no 215., 1985. -175- Remerciements Cette étude a été réalisée à l'Institut de Microtechnique de l'Université de Neuchâtel (Suisse) sous la direction du Professeur f. Pellandini. Je tiens à lui exprimer ma profonde reconnaissance pour l'intérêt permanent qu'il a porté à ce travail et les conseils et encouragements qu'il n'a cessé de me prodiguer. J'exprime également mes remerciements au Dr. H. Hugli, membre du jury de thèse, pour les nombreuses discussions que nous avons eues, pour ses nombreuses remarques et pour ses suggestions lors la rédaction de ce document. Pour ses conseils, ses nombreuses remarques et encouragements, je remercie chaleureusement le Professeur M. Kunt du Laboratoire de traitement des signaux de l'Ecole Polytechnique Fédérale de Lausanne (EPFL), également membre du Jury de thèse. Mes remerciements vont également à tous mes collègues de 1'IMT pour leur collaboration, ainsi qu'à toutes les nombreuses personnes qui ont accepté d'être enregistrées. J'exprime, enfin, ma gratitude à Mlle S. De cerjat pour ses conseils lors de la rédaction de ce document. Une partie du présent travail de recherche a bénéficié du soutien de la "Commision pour l'Encouragement de la Recherche Scientifique" (CERS no 1158, Berne, Suisse) et des entreprises suivantes : ASULAB SA, CSEM SA, METTLER SA, HASLER SA, AUTOPHON SA et CIR SA.