Brevet FR2515850A1 — publié le 19830506

-1 2515850 La présente invention concerne un procédé de reconnais- sance de la parole en développant des particularités représen- tant les sons de parole à reconnaître et en faisant correspon- dre les particularités à des particularités prédéterminées re- présentatives de sons de parole connus - Un obstacle principal au progrès dans le domaine de la reconnaissance automatique de la parole résidait dans la grande variation des caractéristiques de la parole d'un individu à un autre, en particulier entre hommes, femmes et enfants Pour tourner cette difficulté, on a étudié des systèmes qui sont capables de répondre à un personnage parlant quelconque mais qui-ne-reconnaissent qu'un vocabulaire limité - L'un de ces systèmes a été décrit par T R, Martin dans. sa thèse de doctorat en philosophie de 1970 "Acoustic Recogni- tion of Limited Vocabulary in Continuous Speech",Université de Pennsylvanie, thèse que l'on peut se procurer auprès de University Microfilms,Ltd, High Wycomb, en Angleterre, et auprès de University Microfilms, Ann Harbour, Michigan, Etats-Unis d'Amérique Cette thèse décrit un système qui re- connaît un vocabulaire limité en faisant abstraction,dans le signal de parole, de certaines particularités, et en faisant correspondre la séquence de particularités déduite à un en- semble choisi à l'avance de séquences de particularités qui représentent le vocabulaire que l'on s'efforce de reconnaître. Les particularités choisies sont caractéristiques des sons élémentaires de la parole. Dans le domaine de l'étude physiologique de la parole, on a déterminé que les trajectoires de la langue de différentes personnes qui parlent, prononçant la même émission sonore, sont tout à fait semblables; en particulier en ce qui concerne la position visée par le mouvement de la langue. Ainsi, en déterminant la position de la langue, par exemple au moyen d'un élément radial monté sur la pointe de la langue d'une personne qui parle, il est possible, notamment en combinaison avec des systèmes tels que ceux étudiés par Martin, de reconnaître automatiquement, c'est-à-dire par un dispositif, des mots prononcés. Les difficultés présentées par ces systèmes combinés, notamment en ce qui concerne les moyens antérieurement connus pour déterminer la position de la langue de la personne qui parle (à l'aide de moyens montés directement sur la langue de cette personne) sont que ces systèmes sont quelque peu complexes et peu pratiques. Ces difficultés sont largement vaincues, suivant l' in- vention, par un procédé de reconnaissance de la parole carac- térisé par les phases suivantes: identification des formants contenus dans les sons de la parole à reconnaître; conversion des formants identifiés en signaux représentant la position et la direction du mouvement de la langue suivant un modèle d'appareil vocal; et mise en correspondance de ces particula- rités de position et de mouvement de la langue avec des parti- cularités prédéterminées de position et de mouvement de la langue représentant des sons parlés connus - Sur les dessins: -La figure I représente une coupe de la cavité -bucca- le sur laquelle on a dessiné un système de coordonnées x-y; la figure 2 représente la trajectoire du corps de la langue pour les mots de la langue anglaise "eight","two", "one" et "five" désignant les chiffres 8,2, 1 et 5, suivant le système de coordonnées de la figure 1; la figure 3 montre un système de coordonnées x-y subdivisé, utilisé pour reporter les positions du corps de la langue dans des régions caractéristiques de sons analogues à des voyelles; f la figure 4 est un schéma fonctionnel d'une forme de réalisation de l'invention; * la figure 5 montre le diagramme d'états du dispositif accepteur 300 de la figure 4, relativement à l'émission des mots anglais "two eight"; la figure 6 représente le schéma fonctionnel de la mémoire nécessaire dans l'accepteur 500; et la figure 7 est un schéma fonctionnel d'un appareil pour réaliser le diagramme d'états de la figure 5. En général, l'invention reconnaît la parole liée d'un vocabulaire limité, comprenant par exemple les dix chiffres, par déduction du signal d'une émission parlée, d'un certain nombre de particularités comprenant une particularité relative à la trajectoire du corps de la langue et par déchiffrage à partir de ces particularités, des mots qui ont été prononcés. Plus particulièrement, le signal de parole est analysé pour faire ressortir un certain nombre de particularités semblables à celles utilisées dans le passé, plus une particularité nou- velle qui caractérise la position et le mouvement de la langue de la personne qui parle La déduction de la position de la langue s'obtient en déterminant les fréquences des formants de la parole et en se référant à un modèle d'appareil vocal humain connu qui correspond le mieux aux formants calculés. Une fois que les particularités de la parole ont été obtenues, la succession des particularités est comparée aux séquences de particularités de mots choisis, et le résultat de cette comparaison sert à reconnaître les mots parlés. La figure 1 représente en coupe une cavité buccale à laquelle on a superposé un système de coordonnées x-y Les axes x et y des figures suivantes se rapportent aux axes x et y de la figure 1. Une étude des mouvements du corps de la langue révèle que, quelle que soit la personne qui parle, qu'il s'agisse d'un homme, d'une femme ou d'un enfant, le corps de la langue parcourt raisonnablement la même trajectoire lorsqu'un chiffre particulier compris entre O et 9 est prononcé La figure 2 représente des exemples de ces trajectoires du corps de la langue pour certains chiffres de la langue anglaise, d'o l'on peut tirer ce qui suit Le chiffre parlé "eight" (courbe ) se caractérise par un mouvement du corps de la langue se déplaçant en direction générale vers l'avant et vers le haut, dans le centre du quadrant antérieur supérieur de la cavité buccale Le chiffre parlé "two" (courbe 20) est carac- térisé par le fait que le corps de la langue part d'en haut dans le centre de la cavité, se déplace horizontalement vers l'arrière et tombe vers le bas dans l'arrière de la bouche. Le chiffre parlé "one" (courbe 30) se caractérise par le fait que le corps de la langue se déplace essentiellement vers le bas dans l'arrière de la bouche et change ensuite de direc- tion et se déplace vers le haut Finalement, le chiffre parlé "five" (courbe 40) se caractérise par le fait que le corps de la langue se déplace vers le bas jusque dans le quadrant infé- -rieur postérieur de la cavité buccale et s'y déplace vers l'avant et vers le haut, vers le centre de la bouche. D'après les descriptions de trajectoires données ci- dessus, on peut comprendre que les trajectoires originales du corps de la langue pour divers chiffres parlés, lorsqu'elles sont ajoutées à d'autres indices de la parole, peuvent favoriser considérablement la reconnaissance de chiffres parlés Par conséquent, suivant la solution offerte par l'invention pour la reconnaissance de la parole, on emploie la trajectoire du corps de la langue d'une personne qui parle comme une parti- cularité du système de reconnaissance de la parole en asso- ciation avec une particularité de silence, une particularité d'éclat ou une particularité de consonne occlusive, et une particularité de bruit et une particularité de fricative ana- logue à un bruit (l'une d'elles pour les fricatives sonores et une autre pour les fricatives sourdes). En ce qui concerne la particularité de trajectoire du corps de la langue, on a trouvé que dans un système propre à la reconnaissance des chiffres, la connaissance de la position exacte du corps de la langue et de sa trajectoire n'est pas nécessaire pour caractériser convenablement la particularité ou signe de trajectoire du corps-de la langue Un signe, dans le contexte de l'invention, est le signal qui représente la particularité Ou plutôt, il ne-faut connaître que la région générale o le corps de la langue est situé et la direction générale de son mouvement Par suite, le signe de la trajec- toire du corps de la langue, dans l'exemple de forme de réa- lisation décrit ici à titre illustratif, ne distingue que certaines régions de 11 avité buccale La figure 3 montre les différentes régions que l'on a trouvées intéressantes dans un système pour détecter des chiffres parlés, chaque région indi- quant une probabilité que les voyelles d'un certain chiffre ont été émises Par exemple, un corps de langue situé dans la région marquée d'un 8 entouré d'un cercle indique que le son de la voyelle initiale du chiffre "eight" a été très pro- bablement commencé. Pour déduire le signe de la trajectoire du corps de la langue,il faut établir la position et la direction du mouve- ment du corps de la langue La direction du mouvement s'ob- tient par comparaison des positions successives du corps de la langue Les positions du corps de la langue s'obtiennent par extraction des fréquences des formants de la parole analysée et par transformation de ces fréquences de formants en posi- tions du corps de la langue à l'aide du modèle d'appareil vocal de Coker Par "modèle d'appareil vocal", on entend un modèle matériel de l'appareil vocal auquel on peut apporter des changements à volonté pour produire des ensembles de for- mants de signaux variés caractéristiques de la parole humaine. En particulier, pour chaque longueur d'appareil vocal et posi- tion de langue, ces modèles engendrent un ensemble de formants qui caractérise le son qui serait engendré par un être hu- main qui parle Un modèle de ce genre est décrit dans un arti- cle de C H Coker intitulé "A Model of Articulatory Dynamics and Control", Proceedings of the IEEE, vol 64, No 4, 1967, et également dans le brevet des Etats-Unis d'tnmérique No. 3.530 248 accordé à C H Coker le 22 septembre 1970. Comme pour chaque position du corps de la langue, ces modèles d'appareil vocal fournissent un ensemble de fréquences de formants attendues, en appliquant le modèle en sens inverse, on peut établir la position du corps de la langue à partir de chaque ensemble de formants calculés L'emploi du modèle de Coker, par exemple, est discuté plus complètement à propos de la description de l'appareil utilisé pour la mise en pra- tique de la présente invention. La figure 4 représente un schéma fonctionnel d'un appareil pour reconnaltre les chiffres parlés suivant les principes de la présente invention Dans cet appareii, un si- gnal de parole arrivant,qu'il faut analyser et reconnaître, est appliqué à un filtre 210 qui est un filtre passe-bas de type classique ayant une bande passante de 4 k Hz A ce filtre 210 répond un échantillonneur et convertisseur analogique/nu- mérique 220 qui échantillonne le signal appliqué, le transforme en format ou représentation numérique et assujettit le signal transformé à des segments de temps dits cadres, en vue d'un traitement ultérieur Le convertisseur 220 est commandé par un élément 200, dit élément de commande, qui fournit au conver- tisseur 220 un signal d'horloge ou de synchronisation convenant pour l'échantillonnage ( 10 k Hz par exemple), et tous autres signaux nécessaires pour le convertisseur analogique/numérique 6 2515850 particulier choisi On peut utiliser avantageusement dans le bloc 210 un quelconque des convertisseurs analogique/numéiique que l'on trouve dans le commerce, par exemple le modèle 4130 de Teledyn Philbrick, Incorporated. A ce convertisseur 220 répond un extracteur de particu- larités qui comprend un détecteur de silences 240, un détec- teur d'éclats 250, un détecteur de fricatives 260 et un dis- positif de traitement de formants 270. Le détecteur de silences 240, comme son nom l'implique, détecte la présence de silences dans le cadre testé Le dé- tecteur de silences 240 peut être réalisé en combinant des moyens pour redresser et intégrer le signal testé, tout comme un récepteur classique comprend des moyens pour redresser et intégrer les signaux reçus, et des moyens pour comparer le signal intégré à un seuil fixé En variante, le détecteur de silences peut être employé pour déterminer l'absence de parole, tout comme l'élément 24 dans le brevet des Etats-Unis d'Amé- rique 3 723 667 accordé à Park et autres le 27 mars 1973. Suivant l'invention, lorsqu'un silence est détecté, un signe de silence se trouve engendré et appliqué à l'accepteur 300. C'est-une décision de oui ou non Le signe de silence est un signal ayant un format prédéterminé qui peut consister, par exemple, en un mot binaire de trois bits ayant la valeur 12 ( 001). Un éclat, qui se produit entre certaines transitions de phonème à phonème, se caractérise par une augmentation re- lativement brusque d'énergie dans tout le spectre de parole. Par conséquent, pour détecter un éclat, il faut mesurer le degré d'augmentation de l'énergie dans toute la bande Ceci s'obtient dans un détecteur d'éclats 250 comprenant des moyens pour diviser la bande de 4 k Hz en une multiplicité de sous- bandes contiguës et des moyens pour mesurer convenablement l'énergie dans les sous-bandes Cette énergie se trouve mesu- rée par redressement et intégration de l'énergie dans chaque sous-bande, puis limitation de l'énergie dans chaque sous- bande à un niveau choisi à l'avance, et enfin par sommation et différentiation des énergies limitées des sous-bandes En raison du processus de limitation, une grande augmentation de l'énergie dans une sous-bande ne peut produire un grand signal de somme différentié alors qu'une augmentation modérément brusque dans la bande de 4 k Hz peut produire un grand signal de somme différentié Ainsi, le signal de somme différentié peut indiquer commodément le taux d'augmentation de l'énergie dans la bande de 4 k Hz dans son ensemble. La réalisation du détecteur d'éclats 250 est très classique puisque les opérations de traitement qui s'y dérou- lent sont bien connues et immédiates Par exemple, le détecteur 250 peut comprendre un ensemble de filres passe- 0 bande contigus répondant au signal de parole, un redresseur, un intégrateur couplé à un limiteur de tension, relié au passage de sortie de chacun des filtres passe-bande, et un additionneur suivi d'un différentiateur faisant suite à chacun des limiteurs de seuil En appliquant le signal de sortie du différentiateur à un autre circuit de seuil, on-obtient un signal de sortie binaire qui représente la présence ou l'ab- sence d'un éclat Il va de soi que l'appareil engendre un signe d'éclat s'il y a présence d'un éclat. Comme dans le cas du signe de silence, le signe d'éclat est appliqué à l'accepteur 300 Le signe d'éclat peut avoir le même format que le signe de silence, c'est-à-dire être un mot binaire à trois bits dont la valeur diffère'de celle du signe de silence, par exemple 22 ( 010) Différents modèles de circuits utiles pour réaliser le détecteur 250-se trouvent dans l'ouvrage de Millman et Taub, " Pulse Digital and Switching Waveforms", McGraw Hill, 1965. Le détecteur de fricatives 260 engendre un signe chaque- fois que le cadre analysé contient une consonne sonore analogue à un bruit, tel que les sons engendrés par les lettres z et v dans la langue anglaise, ou une consonne sourde analogue à un bruit telle que les lettres s,f,t,k dans la langue anglaise. Ces consonnes sourdes sont caractérisées par une concentration à fréquence élevée d'énergie analogue à celle d'un bruit, tandis que les consonnes sonores sont caractérisées par une forte composante d'énergie, à de faibles fréquences, par exem- ple aux environs de 500 k Hz T R Martin, dans la thèse pré- mentionnée, décrit un équipement pour reconnaître la présence de consonnes analogues à des bruits, sourdes et sonores; Ce matériel peut être utilisé commodément dans la mise en oeuvre de la présente invention Si on en fait usage, il faut le mo- difier en utilisant des techniques classiques, pour avoir un signal de sortie ayant un format binaire à bits multiples, très analogue au format du signe d'éclat Par exemple, le signe de fricative appliqué à l'accepteur 300 peut avoir les valeurs 32 ( 011) et 42 ( 100) lorsqu'il spécifie une fricative sonore et une fricative sourde respectivement. Ici, les signes de silence, d'éclat et de fricative ont chacun un format de trois bits mais les valeurs sont différen- tes Les barres de sortie à trois bits des éléments 240,250 et 260 peuvent par conséquent être combinées en une barre à trois bits unique Naturellement, on peut avoir aussi d'autres formats de signaux. Le dispositif de traitement de formants 270 analyse les signaux de cadres et en extrait les fréquences de formants. Les fréquences de formants sont les composants à fréquence unique prononcés dans le spectre de parole, qui se présentent de la façon la plus distincte lorsque sont prononcés les sons des voyelles Bien que l'extraction des formants ne soit pas chose facile, elle est tout à fait fondamentale dans la technique de l'analyse et de la synthèse de la parole et la littérature est donc abondante à ce sujet Les techniques et les appareils utilisés pour réaliser le dispositif de traite- ment 270 sont décrits entre autres dans les documents suivants: 1 B S Atal et S L Hanauer," Speech Analysis and Synthesis by Linear Prediction of the Speech Wave",JASA, volume 50, pages 637 à 655, 1971; 2 brevet des Etats-Unis d'Amérique No 3 624 302 accordé à B S Atal le 30 novembre 1971; 3 S S McCandless, "An Algorithm for Automatic Formant Extraction Using Linear Prediction Spectra," IEEE Transactions on Acoustics Speech and Signal Processing, volume ASSP 22 No 2, pages 135 à 141, avril 1974; 4 J D Markel, "Digital Inverse Filtering A New Tool for Formant Trajectory Estimation", IEEE Transactions Audio Electric Acoustics, volume Au-2, pages 129 à 137, 1971; B Gold et L R Rabiner,"Parallel Processing Techniques for Estimating Pitch Periods of Speech in the Time Domain" JASA, volume 46, 1969; 6 Brevet des Etats-Unis d'Amérique No 3 649 765 accordé à R W Shafer et autres le 14 mars 1972; et 7 L R Rabiner et autres, "A Hardware Realization of a Digital Formant Synthesizer", IEEE Trans Comm Tech,volume COM-19, pages 1016 à 1020, novembre 1971. Une fois qu'on a obtenu les fréquences des formants, par exemple en utilisant le matériel décrit par Rabiner et autres dans l'article No 7 ci-dessus, un processeur de trans- formation 280 convertit les fréquences de formants obtenues en positions du corps de la langue, et à partir des positions successives du corps de la langue, le processeur 280 déduit les signes de trajectoire du corps de la langue Le dispositif de traitement de formants 270 fournit au processeur 280 un signal qui représente les trois formants des fréquences les plus basses que l'on trouve dans le signal de parole Ces trois formants sont de préférence présentés simultanément, en parallèle, en constituant une zone unique à juxtaposition. Ainsi,lorsque chaque formant est défini par une zone (ou code) à huit bits,la zone de sortie à juxtaposition du dispositif de traitement 270 est une zone à 24 bits Le signal de sortie du dispositif de traitement 280 est une zone binaire parallèle qui représente le signe de position du corps de la langue; et plus particulièrement la région de la cavité buccale comme définie sur la figure 3, et la direction du mouvement du corps de la langue. Comme indiqué précédemment, l'obtention de la position et de latrajectoire du corps de la langue se fait suivant le modèle d'appareil vocal de Coker Coker trouve les formants résultant de chaque position du corps de la langue Ici, le modèle de Coker est utilisé en sens inverse pour trouver une position du corps de la langue à partir d'un ensemble des trois fréquences de formants les plus basses. On trouvera une description simplifiée du modèle de Coker et de son emploi pour trouver une position du corps de la langue correspondant à un ensemble de formants présentés, dans la thèse de maltrise de E H Hafer, intitulée "Speech Analysis by Articulatory Synthesis",Northwestern University Computer Sciences Department, Evanston, Illinois, juin 1974 On peut accéder à cette thèse pour l'examiner et la photo- copier, à la bibliothèque de la Northwestern University Les pages 10 à 18 de cette thèse et les appendices 1 à 4 sont particulièrement éclairants; le texte explique le modèle et la manière d'en tirer les différents formants, et les appendi- ces 2 à 4 représentent les programmes FORTRAN que l'on peut employer avec un ordinateur à buts généraux pour obtenir l'in- formation recherchée Comme le processeur 280 peut être un ordinateur à buts généraux employant les programmes décrits dans les appendices précités, on en a joint une copie en annexe pour que le lecteur puisse s'y référer Egalement, comme les programmes incorporés sont intéressants pour spécifier la fa- brication des tables de consultation de mémoires mortes qui seront décrites dans la suite, ces programmes sont reproduits en annexe pour la commodité des usagers de l'invention. En rappelant brièvement le modèle et son emploi, on peut dire que le modèle d'appareil vocal est une représenta- tion paramétrique d'un plan hémi-sagittal de l'appareil arti- culatoire humain Le modèle utilise six paramètres pour com- mander la position de trois articulateurs (corps de la langue, pointe de la langue et lèvres) Ces articulateurs déterminent l'aire en section transversale au long de l'appareil 'La fonc- tion de l'aire de l'appareil vocal s'exprime approximativement par 36 sections transversales régulièrement espacées qui sont définies par des plans perpendiculaires à la ligne centrale de la cavité buccale Comme on le comprendra en examinant la fi- gure 1, l'aire en section transversale de la cavité buccale varie avec la position du corps de la langue Par conséquent, en déterminant l'aire en section transversale de la cavité à partir des fréquences des formants, on peut déterminer la position du corps de la langue. Dans des cas o Von adopte un ordinateur à buts géné- raux comme forme de réalisation du processeur 280, les pro- grammes donnés en annexe du présent mémoire peuvent être em- ployés poir commander l'ordinateur en vue dé déterminer la position du corps de la langue d'une personne qui parle Les programmes se déroulent d'une manière interactive Supposant d'abord que le corps de la langue se trouve dans un état choisi à l'avance, on dérive un ensemble de formants caractéristiques de cet état L'état supposé est la dernière position connue du corps de la langue Partant de cet état supposé du corps de la langue, l'ordinateur 280, sous la commande des pro- grammes, exécute successivement les fonctions suivantes: com- paraison de l'ensemble des formants déduits avec les formants appliqués (donnés par le dispositif de traitement 270); éva- luation d'une fonction d'erreur pour déterminer la différence entre les formants déduits et les formants réels de la per- sonne qui parle, cette fonction d'erreur dictant les changements qu'il faut apporter à l'état du modèle d'appareil vocal pour réduire la valeur de la fonction d'erreur; modification du modèle; puis calcul des formants et évaluation a nouveau de la fonction d'erreur Dès qu'il a été déterminé que la fonction d'erreur est assez petite, analyse de la forme de l'appareil vocal pour donner ce qui a été admis être une approximation raisonnable de la position du corps de la langue pour la plu- part des voyelles. Dans les cas o un ordinateur à buts généraux peut n'être pas la solution préférée pour constituer le processeur 280, on peut s'équiper différemment pour les fins de l'invention, en calculant à l'avance, à l'aide des programmes annexés, les ensembles de formants correspondant à toutes les-positions du corps de la langue et à toutes les longueurs d'appareil vocal intéressantes;ces ensembles sont déterminés à l'avance et stockés dans une table de consultation On peut employer une mémoire morte en guise de table de consultation et l'organiser pour que la zone d'adresses indique la position du corps de la langue et la longueur-de l'- appareil employé par le modèle, et pour que le contenu de chaque emplacement de la mémoire indique les formants engendrés par le modèle en réponse à un état de. modèle tel que caractérisé par la zone d'adresses L'emploi d'une telle table de consultation est itératif parce que les formants associés aux positions choisies du corps de la langue et aux longueurs d'appareil choisies devront être comparés aux formants déduits par le dispositif de traitement 270. De préférence, une table de consultation en mémoire morte est réalisée en prenant les formants comme variable indépendante plutôt que comme variable dépendante, c'est-à- dire que les trois formants déduits par le modèle se trouvent juxtaposés pour former une zone unique, et cette zone sert de 12 2515850 zone d'adresses pour une mémoire dans laquelle les emplace- ments contiennent les positions du corps de la langue et les longueurs de l'appareil qui correspondent aux formants consti- tuant les adresses associées Avec une telle table de consul- tation, il n'est pas besoin d'itération. Le signal de sortie du processeur 280 est un signe de trajectoire du corps de la langue, qui comprend la position du corps de la langue et une mesure du mouvement de la langue. L'information de position s'obtient, comme on l'a décrit, de la table de consultation L'indication du mouvement est dé- duite par la comparaison de la position obtenue avec la posi- tion antérieure Ceci peut se faire par stockage des positions de coordonnées x et y précédentes et par soustraction de celles-ci des positions de coordonnées x et y nouvellement déterminées Comme il faut distinguer seulement dix régions pour obtenir une indication de position suffisante (voir figure 3), le format du signe de corps de la langue peut être un mot binaire à huit bits dont les quatre premiers bits indiquent la position de la langue, dont les deux bits suivants indiquent le mouvement dans la direction x et dont les deux derniers bits indiquent le mouvement dans la direction y. Bien que les programmes donnés en annexe constituent des exemples de mise en pratique dé l'invention, l'établisse-_' ment d'autres programmes, basé sur les enseignements de la présente description, est bien à la portée des spécialistes. Résumant à nouveau là forme de réalisation préférée du processeur 280 telle que décrite ici, on peut dire que le modèle de Coker se trouve employé en sens inverse pour cons- tituer une table des positions du corps de la langue, qui correspondent lemieux à chaque ensemble de trois formants à fréquences les plus basses La table est établie le plus aisément en utilisant le programme fourni ici, -puisque les principes du modèle de Coker sont incorporés à ce programme. Toutefois, l'emploi de ce programme n'est pas obligatoire, et on peut aussi, au lieu d'utiliser une table de consultation formant mémoire, prévoir des moyens pour évaluer les résultats du modèle de Coker fonctionnant en sens inverse Dans la forme de réalisation qui a été décrite ici, on a fait usage d'une table parce qu'il s'agit de l'équipement le plus simple et 13 2515850 que cette table est stockée en permanence dans une mémoire morte Celle-ci est adressée par la zone unique composée de trois zones juxtaposées définissant' les trois formants de fréquences les plus basses Le signal de sortie du processeur 280 est une zone à huit bits dont les quatre premiers bits in- diquent la position de la langue,les deux suivants indiquant le mouvement horizontal du corps de la langue et les deux derniers bits indiquant le mouvement vertical du corps de la langue. Le signal de sortie du processeur 280, comme les si- gnaux de sortie des dispositifs 240,250 et 260, sont appliqués au dispositif accepteur 300, les différentes barres étant dési- gnées par le numéro de référence 302 aux figures 4 et 6. S'il était certain que seuls des signaux correspondant à des chiffres valides seraient appliqués au dispositif de reconnaissance de mots suivant l'invention, le dispositif accepteur 300 ne serait pas d'une construction très complexe. L'accepteur 300 aurait un état initial d'o il passerait à l'une des séquences de signes représentant le chiffre parlé et alors, lorsque la détection du chiffre serait achevée, c'est-à-dire lorsque serait détectée toute la séquence de si- -gnes, l'accepteur 300 reprendrait son état initial, prêt à décoder le chiffre suivant Malheureusement, l'accepteur 300 doit être en mesure d'accepter des mots, des émissions et des sons autres que des chiffres valides, sans être mis hors d'emploi ou "en panne" En conséquence, l'accepteur 300 doit êtri capable de supposer que tout signe est le début d'une séquence de chiffre valide et doit être capable de revenir au début d'une nouvelle séquence lorsqu'il est "en panne" La nécessité d'un retour en arrière peut se comprendre le mieux sur l'exem- ple suivant dans lequel les séquences 110, 011,101, 111,110, et 011,101, 111, 1001 sont des séquences valides et o l'on rencontre la séquence de signes 110, 011, 101, 111, 1001 Lors- que l'accepteur 300 passe par les signes 110, 011, 101 et 111 dans la séquence rencontrée, il suppose qu'il détecte la sé- quence 110, 011, 101, 111, 110 et par conséquent,il continue dans cette voie Lorsqu'arrive le signe 1001, l'accepteur 300 doit ttre en mesure de déterminer que la séquence 110,011,111, 1001 n'est pas une séquence valide et qu'il doit par consé- quent faire retour au début d'une nouvelle séquence En reve- 14, nant du signe 1001 au signe 011 (en effaçant le premier signe ), la séquence 011,101, 111, 1001 est détectée convenable- ment par l'accepteur 300 comme étant une séquence valide. Pour exécuter les opérations requises, l'accepteur 300 est construit comme machine séquentielle à états finis qui commence à un état initial et qui continue en passant par diverses transitions d'états pour arriver à l'une de dix conclusions satisfaisantes (en détectant chacun des dix chif- fres) De telles machines séquentielles, que l'on appelle parfois des détecteurs de séquences, sont tout à fait ordi- naires La conception de ces machines pour réaliser des dia- grammes d'états prescrits est décrite par exemple dans Switching Theory de P E Wood,Jr, McGraw-Hill Book Co, 1968, chapitre 5; et dans le domaine de la parole, une telle machine séquentielle est décrite par Martin dans sa thèse prémentionnée et est également décrite, parmi d'autres, dans le brevet des Etats-Unis d'Amérique No 3 700 815 accordé à Rowland et au- tres le 24 octobre 1972 Un écart par rapport à une voie acceptable ramène à l'état initial Ceci est représenté pour les fins de la description par le diagramme d'états de la fi- gure 5 qui décrit les transitions d'états nécessaires pour détecter l'émission en langue anglaise de "two eight" Le * diagramme d'états complet de l'accepteur 300 dépend naturelle- ment de la liste exacte des mots dont la détection est recher- chée (Chiffres 0-9, mots de liaison tels que "cent", etc). Le diagramme d'états de la figure 5 et le matériel pour le réaliser, schématisé à la figure 7, sont considérés comme représentatifs. L'état 1 de l'accepteur 300 qui est représenté à la figu- re 5 par un chiffre 1 à l'intérieur d'un cercle, est leétat initial de l'accepteur 300 C'est l'état dans lequel se trouve mis l'accepteur 300 lorsqu'un test est réalisé avec succès ou sans succès L'accepteur 300 reste dans l'état I jusqu'à réception d'un signe qui correspond au commencement d'un quel- conque des mots reconnaissables, par exemple des chiffrçs La branche désignée par A à la figure 5 représente les voies de sortie à partir de l'état 1 dans la direction de chiffres parlés autres que "two" et "eight". Lorsqu'est émis le chiffre parlé "two", le son /t/ 2515850 de "two" conduit à un signe d'éclat faisant que l'accepteur 300 passe à l'état 2 Ceci est indiqué à la figure 5 par la branche marquée B, s'étendant de l'état 1 à l'état 2 L'accep- teur 300 demeure dans l'état 2 tant qu'un signe d'éclat est appliqué, mais il quitte l'état 2 suivant la branche marquée par une *, lorsqu'est appliqué un signe qui n'est pas en concordance avec la suite de l'émission "twoo" Une sortie mar- quée par * désigne un retour à l'état 1 dans un mode de fonc- tionnement de marche en arrière Lorsque le chiffre "two" est en fait émis, un segment de voyelle suit l'éclat de /t/ La partie initiale du segment de voyelle conduit à une position du corps de la langue dans la seconde division de la figure 3. Par conséquent, en réponse à un signe indiquant une position du corps de la langue de division 2 (p= 2), l'accepteur 300 passe à l'état 3, comme montré à la figure 5 L'accepteur 300 reste dans l'état 3 jusqu'à ce que le corps entre dans la divi- sion 6 et commence à se déplacer dans la direction x positif. Lorsque ceci se produit, le chiffre 2 est reconnu, comme indi- qué à la figure 5, par la branche marquée D= 2 et l'accepteur- se trouve rétabli dans l'état 1 o il est prêt pour le chiffre suivant Comme indiqué ci-dessus, la seconde partie de l'émission "two" contient un segment de voyelle qui produit un placement du corps de la langue dans la division 6 et le déplacement dans la direction de x positif Comme il n'y a pas de chiffre dont le segment de début met le corps de la langue en division 6, l'accepteur 300 reste dans son état initial pendant la partie finale de l'émission de "two" jusqu'au début de l'émis- sion de "eight" L'émission en langue anglaise de "eight" commence par un segment-de voyelle dans la division 8 Par conséquent, lorsque le corps de la langue va dans la division 8, l'accepteu 300 quitte l'état 1 et se trouve amené dans l'état 4 En conti- nuant dans les directions de x et y positifs, le corps de la langue monte dans la division 3 et à ce moment l'accepteur 300 passe dans l'état 5 o il demeure jusqu'à ce que le signe d'éclat final de l'émission "eight" se présente, moment o le chiffre parié "eight" est reconnu, et l'accepteur se trouve alors rétabli dans l'état 1 o il est prêt pour le chiffre suivant. 16 2515850 En réalisant le dispositif accepteur 300, il faut con- sidérer deux éléments majeurs: les moyens pour créer la capa- cité de retour en arrière et les moyens pour réaliser le dia- gramme d'états de l'accepteur. Pour ce qui concerne la capacité de retour en arrière, il faut prévoir une mémoire pour stocker les séquences de. signes appliquées à l'accepteur 300 Cette mémoire doit être organisée de telle sorte que les anciennes données puissent être retrouvées et être retraitées alors que de nouvelles données sont introduites Une telle organisation est réalisée en stockant les signes appliqués dans une mémoire classique sous la commande d'un compteur d'adresses de signes qui fonc- tionne dans une arithmétique modulo égale ou inférieure à la dimension de la mémoire (par exemple, avec un compteur d'a- dresses de dix -chiffres, on emploie une mémoire d'au moins 1024 mots) Avec une telle organisation, les signes appliqués sont introduits séquentiellement, comme dicté par le compteur d'adresses de signes et lorsque, par exemple, l'emplacement 1023 de la mémoire est rempli (si l'on utilise un compteur à dix bits), le prochain emplacement de la mémoire à remplir (en effaçant l'information ancienne qui s'y trouve) est l'em- placement de mémoire 0. Deux compteurs de plus, fonctionnant dans le même modulo que le compteur d'adresses de signes, sont prévus pour une utilisation convenable de la mémoire: un compteur de départ de séquence (compteur A) et un compteur d'adresse courante (compteur B) Le compteur A indique l'emplacement du premier signe dans la fréquence testée et le compteur B indique l'a- dresse courante du signe dans -la séquence qui est en train d'être testée Un schéma fonctionnel de cet arrangement est représenté àaia figure 6 - A la figure 6, la mémoire 301 stocke les signes appli- qués à l'accepteur 300 sur le conducteur 302 et délivre sur le conducteur 317 les signes préalablement stockés demandés par l'accepteur 300 L'écriture dans la mémoire 301 et la lecture de celle-ci se font en réponse aux ordres de commande de lecture et d'écriture envoyés par le dispositif de commande (figure 4) sur les conducteurs 303 et 304 L'adresse con- venable est fournie à la mémoire 301 par un circuit de sélec- tion 305 qui à son tour répond au compteur 306 (compteur d'adresses de signes) et au compteur 307 (compteur B) Le compteur 308 (compteur A) interagit avec le compteur 307 par l'intermédiaire de la barre 509 et cette interaction est maintenue par les conducteurs de commande 310,311, 312 et 313. Un signal sur le conducteur de commande 310 fait avancer l'état du compteur 308 d'une unité, le signal sur le conducteur 311 introduit dans le compteur 308 le double de la valeur du compteur 307, un signal sur le conducteur 312 fait avancer l'état du compteur 307 d'une unité et un signal sur le conduc- teur 313 introduit dans-le compteur 307 le double de la va- leur du compteur 308 Le conducteur 314 commande le compteur 30 afin de le faire avancer d'un état chaque fois qu'est appliqué un nouveau signe. En:fonctionnement, lorsque commence le test d'une sé- quence, le compteur A et le compteur B adressent le même em- placement, commandant l'extraction de la mémoire 301 du premier signe de la séquence testée Tant que le test se poursuit de façon satisfaisante, l'état du compteur 307 se trouve avancé d'une unité à la fois, tandis que le compteur 308 reste in- changé Lorsque le test se termine de façon satisfaisante à la fin d'une séquence, l'état du compteur 308 se trouve amené dans l'état du compteur 307 et un nouveau test s'amorce Lors- que le test se termine de façon non satisfaisante (avec un retour * dans l'état 1), l'état du compteur 308 est avancé d'une unité et le contenu du compteur 307 se trouve fixé à une valeur égale à celle du compteur 308, amorçant à nouveau un nouveau test. Pour réaliser le diagramme d'états de l'accepteur 300, on peut employer des techniques classiques Pour être complet, cependant, la figure 7-représente une forme de-réalisation. pour la partie active du diagramme d'états représenté à la figure 5. Comme il n'y a que cinq états, la figure 7 montre cinq bascules FF représentatives des états ( 701-705) Chaque bas- cule est reliée à un circuit de logique associé ( 711-715) et ceux-ci répondent tous au signal reçu de la mémoire 301 par la barre 317 (voir figure 6). Chacun des circuits de logique 711 à 715 engendre un 2515850 ' signal combinatoire différent, conçu particulièrement pour réaliser une partie du diagramme d'états Par exemple, le circuit de logique 711 développe les signaux de sortie né- cessaires pour amener l'accepteur 300 de l'état I dans les états 2, 4 ou A Le bloc 711 a donc trois signaux de sortie: un signal qui commande le passage à l'état A (ligne 721), un signal qui commande le passage à l'état 4 (ligne 722) et un signal qui commande le passage à l'état 2 (ligne 723) Suivant la figure 5, le passage à l'état 4 ne doit se produire que lorsque se présente p= 8 Par conséquent, l'expression booléenne pour l'apparition d'un signal sur la ligne 722 est (état 1) (p= 8) La première variable,(état 1), dérive de la bascule 701 et la seconde variable,(p= 8)? dérive d'un décodage de l'in- formation présente sur la barre 317 Une porte ET à deux en- trées sert donc à engendrer le signal de sortie sur la ligne 722 Les signaux de sortie des circuits 711 à 715 sont obtenus de manière analogue. Comme indiqué précédemment, lorsqu'est indiquée une sortie marque par un * sur le diagramme d'états de la fi- gure 5, l'accepteur 300 doit reprendre l'état 1 et doit modi- fier de façon particulière les états des compteurs 307 et 308. A cette fin, la porte-OU 731 recueille toutes les sorties mar- quées d'un * et les combine pour former un signal de sortie sur la ligne 732 qui commande le compteur 307 et le compteur 308 Les sorties D demandent aussi un retour de l'état 1, mais avec une modification différente des états des compteurs 307 et 308 (comme décrit plus haut) A cette fin, la porte-OU 733 engendre un signal de sortie sur la ligne 734 Les signaux de commande apparaissant aux sorties * et D sont combinés dans - la porte-OU 735 qui commande l'entrée-dans l'état 1. L'entrée dans un état particulier* quelconque doit - naturellement être accompagnée de l'abandon de tous les autres états Par conséquent, lorsqu'une quelconque des bascules 701-705 est établie dans un état, toutes les autres bascules doivent être rétablies à l'état initial Ceci est réalisé à la figure 7 avec l'aide des circuits de logique 741-745 et de la porte -OU 746 Celle-ci produit un signal chaque fois qu'une transition d'état quelconque se produit et ce signal est appliqué aux entrées R des circuits de logique 741-745. * 19 22515850 Chacun des circuits de logique 741-745 est connecté pour pro- duire un signal de sortie sur la borne Q lorsqu'un signal est appliqué à l'entrée R, et un signal de sortie sur la borne U lorsqu'un signal est appliqué aux deux entrées R et S De cette manière, les blocs 741-745 se combinent avec la porte 746 pour rétablir à l'état initial toutes les bascules, sauf celle qui est en train d'être établie. La commande du système de la figure 4 est exercée par le dispositif de commande 200 Celui-ci fournit les signaux de synchronisation d'échantillonnage au convertisseur analogi- que/numérique 220, les signaux de commande de lecture et d'écriture (conducteurs 303 et 304) à la mémoire 301, les ordres d'établissement et de progression (conducteurs 310- 314) aux compteurs 306,307 et 308 et tous les autres signaux de commande nécessaires pour le fonctionnement convenable du dispositif extracteur de particularités 230 (figure 4) Le dispositif de commande 200 peut être de construction clas- sique, comprenant un-multivibrateur astable pour produire un signal d'horloge de base, des bascules connectées au multir vibrateur pour développer des sous-multiples du signal d'horloge de base et différents circuits-portes connectés de façon à former la logique combinatoire appropriée pour chaque signal de commande requis Comme les circuits nécessaires sont de la compétence normale de l'homme de l'art, les détails des connexions des circuits de logique sont laissés au choix de celui qui appliquera l'invention 1.1 1.2 2515850 ATINNEXE Programme utile pour la réalisation du processeur 280 (Figure 4). Nomenclature des commentaires notés C. Fonction d'erreur principale Entrées: X Vecteur paramètre POLE Formants de parole réelle (CO Mo N/I 4 IATCH/) ERR Erreur due à des violations de contraintes (CI Oi MON/EBRORS/) I.3 Sorties: FUINC Mesure d'erreur de formant 1 4 Calculer fonction surface section 1 I.5 Calculer fréquences formant 1.6 Additionner erreur due à violation de contraintes explicites et implicites II.1 II.2 II 3 II.4 Sous-programme d'initialisation pour modèle vocal. Calculer length d'une section de modèle vocal ( 34 sec en 17 cm) Calculer constantes pour établir profil du modèle vocal III 1 III 2 Sous-programme modèle vocal Entrées: X 1 Coordonnée horizontale corps de langue Y 1 Coordonnée verticale corps de langue R Coordonnée rétroflex pointe de langue B Coordonnée hauteur pointe de langue LL Coordonnée extension lèvres WW Coordonnée fermeture lèvres C Surface minimum d'une section SECT -Longueur d'une section (COI ON/VOCDAT/) - III 5 Sorties: A Surfaces de sections 16 Nombre de sections dans modèle vocal (X,Y) Position corps de langue (C Onl ON/VOCDAT/) III 4 Contraintes explicites III 5 Lèvres III 6 Dents III 7 Plat de la langue III 8 Corps de la langue III 9 Pharynx III 10 Larynx III 11 Section III 12 Contraintes implicites-pour invalider surfaces négatives III 15 Pointe de la langue IIII 1 Fonction surface du corps de langue IIII 2 Fonction d'interpolation linéaire circ IIII 3 Sous-programme d'itération de l'équation Webster Horn IIII 4 Entrées: A Surfaces des sections NSEC Nombre de sections dans modèle vocal ALENF Facteur longueur modèle vocal SECT Longueur d'une section de modèle vocal (COIlMON/VOCDAT/) (X,Y) Position corps de langue(commun/vocdat) IIII 5 Sorties: F Fréquence de formant en hertz IIII 6 Fonction OU EXCLUSIF 1111 7 Calculer facteur longueur modèle vocal corrigé IIII 8 Calculer rapports de surfaces IIII 9 Boucle pour trois premières résonances IIII 10 Boucle de recherche binaire IIII 11 Itérer équation Webster Horn au moyen du modèle ,-C vocal IIII 12 Incrémenter compteur si l'on a passé un noeud de pression IIII 13 Fin de boucle d'itération IIII 14 End de boucle de recherche binaire IIII 15 Contraintes implicites sur fréquence de formant IIII 16 Interpoler linéairement nouvelle fréquence et réitérer IIII 17 Interpolation parabolique pour valeur de fréquence finale IIII 18 Fin de boucle fréquence de résonance V.1 V.2 V.3 V.4 V 5 V.6 V.7 V.8 V.9 V.10 V.11 V.12 V.13 V 14 V.15 V.16 V.17 V.18 V 19 V.20 V.21 Sous-programme de minimisation de fonction X Vecteur FUNC Fonction à minimiser LIM 1 Limite d'itération (COIMMON/CLIMAT/) EP Erreur acceptable minimum (COMMON/CLMDAT/) DGI Echelon initial (COIMION/CLMDAT/) ILB Limite inférieure de X (COIMON/CLMDAT/) IUB Limite supérieure de X (COMMON/CLIM)AT/) Initialiser échelon, vecteur gradient et vecteur X antérieur Quitter si minimum trouvé Quitter si échelon trop petit Incrémenter et quitter si limite d'itération dépassée Calculer gradient Quitter si grandeur du gradient est zéro Normaliser et modifier gradient Eehelon vers gradient modifié La fonction a-t-elle augmenté ou diminué? La fonction a diminué Doubler échelon. La fonction a augmenté Régresser si premier point, interpoler si non Prendre un échelon Interpolation parabolique 2 5 l 58 50 PROGR Affl E UTILE POUR LA 'REALIS -"TION- - DU PROCESSEUR 280 -(Figure 4) FUNCTION FUNC (X) REAL X( 10) c c I i c -c I 2 C X c POLE C FRR c c C I 3 c eu Nc r_ COMMOIN /ERRORS/ ERR COEYDN /MATCH/ POLE j 3) c REAL AREAF ( 6 4), POLEF ( 3) - c c ERR = 0 O FUNC = O c C I 4 -z 5-l-5850 -26 CALL VOCAL (Y ( 2), X ( 3), x ( 11) p x ( 5), y ( 6) -, X ( 7), O O 1. & li REAF NSECF) c C I 5 POLEF) % X(l) CALL FOM 1 AREAF, NSECF, c - Dc) 10 1 = 1#3 1) = (POLEF (Il POLE (I) /POLE ( 1) - FUNC = FUNC + D*D c - c I 6 c FUNé = FUNC + ERR RETURN MD 2 5 1585 O SUBROUTINE IVOCAL c c M 1 c ZBEND, UCOR, BCOR,1:ADSEC, RBEND, G X Y ANAUT( 40),SECT c DATA ARADSC /10 25/ c c c II 2 II-3- SECT = 17 0/34 0 Ii 4 Rl = 3 875 P 2 SQ = 6 25 ZBEND = 7 O ACOR = 3 81 BCOR = O 188 c c c RADSEC = SECT*ARADSC/Rl/( 14 5 ZBDID) RBEND 0 O + ZBEND/SECT)*RADSEC- Mb S'Cl = RADSEC*ACOR RBEND 1: ( 1 O + ZBEN D/SECT) %IIZ Ar S Cl Nl = 4 0/SECT 28 2515850 P 2 = 19 0/SECT DO 10 J=P 11,112 ANAUT(J) = BCOR*COS(FLOAT(J)*RADSC 1 RBEND 1) c RETURN END SUBROUTINE VOCAL (XIO YI, R, B, LL, WW, C, A, 1 6) c c III 1 c C III-;-2 c XI - C YI C'R C B ' c LL c WW C C' e SECT c c C III 3 c A C 16 t MMMON /VOCDAT/J MM 1-1 (crx "os-LI w"M,et-) Lxmly Wm m (OO -;LE) Xxa) al L six) sgv = xxa t(ix "S-t) mif-iv "S-L-) txvrw = x 00 L *; xa*; xcr UU 21 Hus (d'O '19, xxa) il xxa 1 ti-iii /SE-OL "O-ú go,ú/ 'Cisv Ivilm /S'et &LE-o '90-LL 10-z 1,0- 9 's-L 110-ç loz/ 2 hz leú) lez &ZE) &ZZ gazú) Ilizz Itz lvivci 9),v 11, irr 1,1 -l'van U/IVCDOA/NGI 1 M O D HUZ /SUOUUI/ N O ' 'W 03 (.K X) 0 S 8 S S Z 2 5 158 5 O 52 = 1 5-> (Z 2 '-G 24,Y) /SECT 12 = 52 12 A 7 l-11 NI ( 52 B,,52) 53 = 1 5-r-(Z 3 1 7 *X+ 3 *Y)/SECT 13 = 53 = 1 5 + 15 5/SECT c = PLOAT(T 51 01 54 = 1 5 + (Z 4 + R + X Y + 25 *B)/SECT 54 = AMIN 1 ( 54, 55) c 14 = 54 16 = 15 + 1 FIX ( (L+ 1) /SECTI- 5) C III-5 A 5 = 1 125- 34 *Y A 6 =( 1-0 a- 89 *W- 33 *L)*A 5 *L/AL Bl N= 15 + 1 DO 12 J=Yt IN,16 12 A (JI =A 6 C III 6 IF ( 15-1-111 q) 30,22,22 22 DO 24 J=L-IIN,15 S =JFLOAT( 15-J)*SECT)** 2 * 5. 24 A(J)= 1-18 *SQRT(S/( 4 +S"+A 5-ANAUT(J) III 7 OL'III fis oci Z C" zt? zb oa iiluiéz=r, ZE oa L+úI=Mlkt b'V-J V=tlbv (tciliv Ilix) Ltir -iv l'y ilv IV 4 fil) inumv) Ldtv (ID 21 S'* (ti 9 I) l'vole) S úS-tis=clls OE: 8 S L S z 32 2515850 DO 62 J= 1,14 AX 62 A (J) =Al c III -1 1 AJERR O O C III 12 - DO 100 J= 1,16 l F QA (Ji -LT 0 0) AJERR AJERR A (JI A (JI =SC* (SQRT (A (JI ** 2 +CSQ) + A (j" ERP = ERR + AJ RR,-AJE Rr%*SC*SC III 13 R 4 = 1 -Q 4 AT=SC*(SQRT(AT** 2 +CSQ)+AT) M=A( 14) M l=A ( 14-c 1) A (i 4 + 1) =A 4 *A 41 *AT 1 (A 4 *A 41 +IR 4 *AT* (A 4-A 41) RETURN END 2 5 1 5 8 5 O FUNCTION CIRC(J) C COM 4 ON /VOCDAT/Rl,R 2 SQZBENDACOR,BCOR,RADSECRBEND. F, X, Y, IMAUT ( 4 0), SECT ALPH=FLO,,'T (J) * 1 ADSEC-RB El,ID CO =COS(ALPH) si =Slll (A Lini) CIRC=Rl ->X*CO-Y*SI-SQI Zmi (AMAXI (R 2 SQ (X*S'r+Y CO) ** 2, O) ANAU (j) RETURN END FUNCTION Ci Rci(SQ) C iiii 21 J=S Q=s-r Lo tT (j) Cl R Cl= ( 1 -Q) *CIRC (j) +Q*Clr-,C (J+ 1) kúTURN END 34 25-1 5850 SUBROUTINE FORE (A, NSEC, ALENF, F) DII-JF Ii SION là( 64), F( 3) c c IIII-3 c IIII 4 C A c NSEC ALEW C SECT c (XY) c Il II - 5 C P c COMION /ERRORS/ ERR COMLVON/VOCDAT/Rl,R 2 SQZBENDACOR,BCORI:?j USECRBIWD,. G X Y, ANAUT ( 4 0), SECT c *DATA C /33136 0/ c c c c Fil,C( 7), FRSTF( 3) AR( 64) FREQ DWúA NFINC, FINC /7, 400, 200-, 100, 50, 25 & 12-5, 6 25/ DATA FRSTF /500, 1500, 2500 /, AR /64 * O i c 1 '&'ITEGE R NCST( 3) DA-Là INCST /2, 1, l/ c IIII 6 IEOR (A, B) XOR (ILT(SIGI,1 ( 1 0,A",Ilq T(SIGN(l 0,B") c:iiii 7 DXF = ALENF*( 14 05 1 35 *(Y X"/17-0 c Pl = O DX = SECT DY.CSQ = ( 39 ( 1784176 DX DX) (C'* C) c iiii 8 DO 10 1 = 2,NSEC AR(I) = A( 1-1)/A(l) c C 36 2515850 Do 100 t JF=le 3 DFREQ 0-0 mrmii O- FREQL FREQ FRSTF (NF) ):.ST ii,,cs T NF) c c IIII 10 Do go I=ISTNFINC FREQ FREQ DF 1 EQ FDXCSQ = 1 _ O FlEQ*Fe EQ*DXCSQ Po = 1 O Pl = FDXCSQ Nzx =-O VFREQ c c Dô 80 J= 2 NSEC TP = AR pl* (Pl PO) PO = Pl p FD> CSQ*Pl TP c C IIII 12 IF (IEOR (plpo)) 20,80,80 Nzx = NZX IF (NZX Nrc) 80,30, 30 2 5 15 8 5 O DFEEQ = -FINC ( 1) CONTINUE c iiii 13 C IF (DFREQ) SI&, 86, 86 84 Plli Pl FFçEQ' -I = FREQ GO TO 90 c 86 DIFREQ = FINC( 1) Pl L = Pl F.REQL = FREQ Coily-TTNUE C JJJJ 14 c IF (IST NFINC) 95, 98 91 CONTINUE IF (FREQH) 93 93 92 92 IF (FRE IL) 93 93, 94 93 COMME C iiii 15 ERR = ERR + Pl*Pl* 100 O GO TO 99 C C IIII 16- -91 isi ti Fluc FREQ = FRÈQL DF 2 = FREQ 11 FREQL Pli = P 1 Il PL = P 11, DFREQ = (DF 2 *PL)/(PL Pli) DF 1 = DFREQ GO TO 15 c C iiri 17 IST = IST + 1 X 311 xl -ffl Pl X 21-IX 1 PL Pl P 41 SQ Pl*Pl DX 2 SQ (PL*PL PISQ) AC Or (X 3 MX 1 *D Pl X 2 ei Xl*(DF 1 DF 2)1/ (x 2 mxl*(Pa*pli pls Q) X 3 MX 1 *DX 25 Q) BCOF -DFI ACOF*DX 25 Q DEREQ -ACOF*Pl SQ BCC)F*Pl/X 214 Xl :LF (ABS(DFREQ) GT DF 2) GO TO 99 i REQ = FREQ DFREQ c 98 CONTINUE 99 CONTINUE F(NF) = FREQ CONTINUE C iiii 18 39 2515850 c 1 F(l) = 0-5,A"F( 1) + 100-0) e G SQRT ( (r (li 100 0)-** 2 + 4 E'I"/D Xr F ( 2) = F ( 2) /DXF F( 3) = (F( 3) 200 0)/DXF POETURN END 0 = Lxx A zil *Ili gai 4 ail l Ioa wapr ID/ MO Imo:) GIA a LIA, 3 9-A a il*A 'A Z'A VA a a ( 009 "(o L)xo '1 ( 00 X 7 mul (X) 91-111 DII osssksz ot 7 158 5 O c c CONTINUE EX = FUNC(X) c c V 10 IF (ABS(FX) LT EP) GO TO 500 c c V 11 IF %dU St DGS) M 1 E-4) IT 1 = l Til + 2000 c c V 12 IT 1 = IT 1 + 1 - IF (IT 1 - LIM 11 250, 250, 500 - c C V 13 - 250 GMâG = O c -% DO 290 1 = ILBIUB or. ( 1) = G (i) SXI = X ( 1) DG = (X (I) OX ( 1)) / 16 O IF (ABS(De) -LT 1 E-5) DG = 1 E-5 c X(l) = SXI + DG FXP = Fu Nc (X) E)G* (i) 9 + (i) X = fi) X gnlgúnl=l ozú ou à XI = axa 0 = S 9 a otl/s 9 G = Da 0 = Z;Ll 9 L-A Z) Z) CI)E)O*Z-o + Dwm/(,r)g*igeo = fi)q otc ffnlq 7 I=l OLE CKI (gwei) imi 5 e = Dv I-19 ooú ' A Z) Z) 00 5 oi 09 OOOL + LII = LIT 96 Z oos 'es 6 z Ils 6 z cg"el-ls) ar i 7 OA D Sn NIJ q OD 06 Z ixs = (D xo IXS = ( 1)x S 8 z (i) E)* ci) 9 + qvvig = E)Vpzg garxge = ( 1) 908 Z axa XI = Xia osgs Lsz zi 7 43 25158 5 O 320 COI "rll- UE c 400 IT 2 = IT 2 + 1 DG 3 = DG 2 DG 2 = DGS DGS = DGS + DG FX 3 = FX 2 FX 2 = FXP Fxp = m 7 c (X) c c V 17 DFX = FX EXP IF (DFY) 440, 420, 420 c c V 18 420 DG DG + DG Fx = FXP GO TO 450 c c V 1,9 c 440 IF (IT 2 2) 445, 480, 480 445 DG = (-DG* 5 0)/11 O c C V 20 44 2515850 1150 Do 460 I=ILBIUB 460 X(l) G(I)*DG > X(l) GO TO 400 c C V 721 480 X 3 MX 1 = DG 3 DGS X 21-IX 1 =DG 2 DGS y 2 MY 1 FXZ EXP Xl SQ DGS*DGS X 2 Ml SQ = DG 2 *DI 52 Xl SQ c ACOF (X 21IX-I*(FX 3 Fffl X 31-l Xl*Y 2 MY 1)/ (X 2 MY 1 *(DG 3 *DG 3 Xl SQ) X 3 MX 1 *X 2 Ml SQ) 13 COF (Y 21-',Yl ACOF-t-X 2 t-Il SQ)/X 2 Z 1-IX 1 PDG = BCOF/( 2,',IACOP) + DGS VÈ 485 I=ILBIUB 485 X ( 1) = X ( 1) G ( 1) *PDG DGS = DGS PDG GO TOc c 500 CONTINUE RETUPN END REVENDICATIONS 1 Procédé de reconnaissance de la parole en dévelop- pant des particularités qui représentent les sons de-parole à reconnaître et en faisant correspondre ces particularités à des particularités prédéterminées représentant des sons connus de parole, caractérisé par les phases suivantes identification de particularités contenues dans les sons de parole à reconnaître; conversion des particularités identi- fiées en des particularités de positions et de mouvements de la langue en accord avec un modèle d'appareil vocal; et mise en correspondance de ces particularités de positions et de mouvements de la langue avec des particularités pré- déterminées>parmi lesdites particularités de positions et de mouvements de la langue qui représentent l'émission de sons connus de parole. 2 Procédé selon la revendication 1, caractérisé par l'identification des fréquences de formants contenues dans les sons de parole à reconnaître.