Brevet FR2678103A1 — publié le 19921224

PROCEDE DE SYNTIHESE VOCALE La présente invention se rapporte à un procédé de synthèse vocale. Parmi les nombreux domaines d'application de la syn- thèse vocale, certains, tels que les appareils à commande inter- active (commande de véhicules, de processus industriels,) ne nécessitent que la synthèse de messages simples (mots isolés ou phases prédéterminées) Dans de telles applications, on recherche à minimiser le coût du dispositif de synthèse vocale La dimi- nution du coût peut être essentiellement obtenue par l'emploi de circuits de grande diffusion et par la diminution de la capacité de mémoire nécessaire au stockage des messages. Afin de réduire cette capacité de mémoire, l'art connu fait appel à différents types de codage Parmi les codages les plus employés, on connaît le codage temporel qui associe à l'amplitude du signal un code binaire à des instants discrets, et plus précisément, on mémorise plutôt la différence entre le signal et sa composante prédictible (codage différentiel) On fait également appel au codage de la parole par analyse et synthèse, selon lequel on ne stocke que très peu de paramètres significatifs (dispositifs dits "vocodeur à canaux" ou "vocodeur à prédiction linéaire") On connaît enfin un procédé qui résulte de l'association des deux procédés précités: "vocodeur prédictif adaptatif" ou "à excitation vocale", en particulier le codage en sous-bandes. Dans le cas du codage en sous-bandes, qui est un codage dans le domaine fréquentiel, on fractionne le spectre du signal à coder en un certain nombre de sous-bandes de largeur Bk (égales entre elles ou non) Chaque sous-bande (d'indice k) est ensuite rééchantillonnée à la fréquence de Shannon, soit 2 B k Les signaux issus de chaque filtre de sous-bande sont quantifiés différemment en fonction de la fréquence, à savoir quantification fine pour le fondamental et les formants, et quantification grossière dans les plages o l'énergie est faible L'opération inverse est réalisée pour reconstruire le signal. Avant stockage et transmission, les signaux sont codés par exemple selon une loi de codage MIC (modulation par impulsions et codage) normalisée à 64 kbits/s (signal échantillonné à 8 k Hz sur 8 bits dans la bande 300-3600 Hz et compressé selon une loi logarithmique) Le codage MICDA (MIC différentiel adaptatif), à un débit de 32 kbits/s ( 8 k Hz sur 4 bits), tend à se généraliser. On a représenté en figure i le schéma de principe d'un dispositif i de codage à deux sous-bandes Le signal de parole x est filtré par deux filtres Fi, F 2 (de réponses impulsionnelles hi, h 2) Chacune des deux sous-bandes en sortie de Fl, F 2 est décimée par 2 (suppression d'un échantillon sur 2) par les circuits 2, 3 respectivement, puis codée ( 4), par exemple en MICDA et stockée (ou transmise) A la lecture (ou réception), la reconstitution du signal de parole se fait par décodage ( 5, 6) puis filtrage dans des interpolateurs ( 7, 8) identiques à ceux de la bande d'analyse correspondante et sommation ( 9) des deux sous- bandes décodées Les filtres Fl et F 2 sont des filtres FIR (à réponse impulsionnelle finie) à phase linéaire et satisfont aux conditions suivantes. h (n) = (-l)n hi (n) 1 H 1 (ee)|+ 1 H 2 (e 6)12 # i On a représenté en figure 2 le gabarit de ces filtres. Le principe du codage en sous-bandes consiste à filtrer le signal de parole par un banc de filtres, puis à sous- échantillonner les signaux de sortie de ces filtres A la réception, la reconstitution se fait par addition de chaque sous- bande décodée, interpolée par un filtre identique à celui de la bande d'analyse correspondante Ce type de codage a d'abord été implanté à partir de filtres disjoints et contigus à réponse impulsionnelle finie Il a ensuite été étendu grâce à l'emploi de filtres miroirs en quadrature, permettant une reconstitution quasi parfaite du signal initial en l'absence d'erreur sur la quantification. Il existe deux grandes familles de procédés pour synthétiser les filtres qui décomposent le signal de parole: soit on scinde l'entrée en deux bandes par un filtre optimisé, et on renouvelle l'algorithme pour chaque bande; soit on déplace sur l'axe fréquentiel un gabarit de filtre passe-bande Dans ce cas, le filtre de base est de réponse h(n) et de largeur de bande TI/2 M (M étant le nombre de sous-bandes). Par déplacement, on obtient: hi(n) = h(n) cos (nil ( 2 i+l)/2 M) II étant la demi-fréquence d'échantillonnage normalisée. Le problème de repliement des gabarits lors du sous- échantillonnage peut être compensé par un terme de phase dans la fonction cosinus de déphasage. Le filtre demi-bande, dont le gabarit est représenté en figure 2, est classiquement un filtre linéaire dont la fonction de transfert vaut 1/2 à fe/4 (fe fréquence d'échantillonnage) et est antisymétrique par rapport à ce point, c'est-à-dire que l'on a: H 1 (fe/4 + f) = 1 H(fe/4 f) Les coefficients h(n) sont nuls pour N pair, sauf ho. Le gabarit est défini par l'ondulation en bandes passante et coupée, et par Af qui représente la largeur de la bande de transition Le nombre N de coefficients du filtre en fonction du gabarit désiré est donné par la relation approchée: 2 i fe N# log ( 2) _,T 10 ô 2 Af dans laquelle 6 = = a 2 représente l'ondulation dans les bandes passante et coupée La réduction ou l'élévation de la fréquence d'échantillonnage sont obtenues par la mise en cascade de P filtres demi-bande La fréquence intermédiaire fi est un sous-multiple de la fréquence d'échantillonnage dans un rapport p deux: fe = 2 fi. Il existe également des dispositifs procédant à l'analyse multirésolution du signal de parole, et comportant essentiellement un filtre discret et un circuit de "décimation" (suppression d'un échantillon sur deux) On connaît également ("Traitement de Signal", vol 7, N O 2, 1990), pour la compression numérique d'image, un algorithme rapide mettant en oeuvre une transformée en ondelettes, mais cet algorithme ne convient que pour des images (seule la composante HF est conservée). Les dispositifs connus sont soit trop rudimentaires, et ne permettent pas d'obtenir à la restitution un signal de parole suffisamment intelligible, soit trop complexes et donc onéreux. La présente invention a pour objet un procédé de synthèse vocale qui permette de synthétiser le plus simplement possible des signaux de parole et ne fasse appel, pour sa mise en oeuvre, qu'à des circuits existants et peu onéreux. Le procédé de l'invention consiste à numériser un signal vocal, à découper ce signal numérisé dans une base orthogonale d'ondelettes à support compact, à stocker les coefficients représentatifs du signal vocal, et, à la restitution, à reconstituer le signal vocal par filtrage, interpolation et amplification basse fréquence. L'invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel la figure 1, déjà décrite ci-dessus, est un bloc-diagramme d'un système de codage connu; la figure 2 est un gabarit de filtre demi-bande utilisable dans le système de la figure 1; la figure 3 est un bloc-diagramme d'un système de synthèse mettant en oeuvre le procédé conforme à l'invention; la figure 4 est un bloc-diagramme du dispositif d'analyse du système de la figure 3; la figure 5 est un diagramme illustrant l'algorithme de décomposition de l'invention; la figure 6 est un diagramme illustrant l'algorithme de reconstruction de l'invention; la figure 7 est un blocdiagramme simplifié d'un dispositif de synthèse vocale mettant en oeuvre le procédé de l'invention; la figure 8 est un chronogramme d'une fonction d'échelle et d'une ondelette utilisées par l'invention; et la figure 9 est un schéma d'un dispositif de synthèse mettant en oeuvre le procédé conforme à l'invention. Le synthétiseur de messages vocaux décrit ci-dessous comporte deux parties principales: une partie 14 d'analyse et une partie 15 de synthèse vocale (figure 3). Dans la partie 14, les signaux de la source 16 (par exemple un microphone) sont quantifiés, puis analysés en 17 et codés en 18 Les critères pertinents qui en résultent sont stockés en 19 (par exemple des mémoires de type EEPROM) Toutes ces opérations sont, dans le cas présent, réalisées en laboratoire. Dans la deuxième partie, qui comporte le dispositif de stockage 19, un dispositif 20 assure la reconstitution du signal à partir des coefficients sélectionnés et stockés (en 19), le signal reconstitué est envoyé à un amplificateur 21 muni d'un haut-parleur. Selon l'invention, on met en oeuvre, pour le codage et la reconstitution, un algorithme qui décompose le signal vocal dans une base orthogonale d'ondelettes à support compact Ces ondelettes sont des ondelettes de Daubechies (voir figure 8). Seuls sont stockés les coefficients jugés représentatifs du signal vocal de départ et assurant une parfaite intelligibilité du message reconstitué, ce qui limite fortement le débit des signaux à stocker. L'organigramme de la figure 4 illustre la procédure d'analyse vocale conforme à l'invention. Les signaux basse fréquence produits par une source de signaux basse fréquence 22 (capteur acoustique, moyen de stockage magnétique,) sont numérisés ( 23), par exemple sur 16 bits, par exemple à l'aide d'un convertisseur "flash" ou d'un convertisseur à approximations successives (dont le temps de conversion est de l'ordre de 60 jus ou moins) à une fréquence d'échantillonnage, qui est par exemple de 10 k Hz Le signal échantillonné est ensuite découpé en trames de, par exemple, 128 points (durée d'une trame: 12,8 ms) Selon un autre exemple, on peut mettre en oeuvre des trames de 256 points, sans préjudice notable pour la qualité de la restitution Ensuite, on procède à l'analyse ( 24), qui constitue une étape essentielle de l'invention Cette analyse consiste en particulier à décomposer le signal numérisé sur une base orthogonale d'ondelettes à support compact, et fait appel à des filtres dont la réponse impulsionnelle peut être symétrique ou non Dans le cas o cette réponse est symétrique, on limite le stockage des coefficients extrêmes (responsables des effets de bords) à un seul côté du signal, l'autre côté étant déduit par symétrie (la périodicité des filtres est implicite par construction). A partir des 128 points initiaux, on obtient donc par cette décomposition 128 combinaisons linéaires indépendantes de la base d'observation La régularité de l'onde, qui conditionne la forme du filtre de décomposition est un des deux paramètres majeurs de la décomposition (avec le niveau de décomposition, qui conditionne la largeur du filtre) Parmi ces 128 combinaisons, on en conserve par exemple 32 (estimées être les plus signifi- catives) qui sont codées ( 25), dans le cas présent sur 8 bits, ce qui donne un débit de valeurs à stocker de 20 kbits/s La sélection de 16 coefficients codés sur 16 bits ne modifierait pas le débit des valeurs à stocker, mais diminuerait la qualité du signal restitué. On notera que l'analyse par dilatation de l'échelle des temps (voir fonction d'échelle, en trait interrompu, en figure 8) est réalisée non pas en dilatant les ondelettes d'analyse, mais en sous-échantillonnant d'un facteur 2 le signal à analyser Il en résulte, pour une décomposition à un niveau p, (p+l) jeux de coefficients De plus, la projection sur une base orthogonale (à nombre de points = N/2 + N/4 + + N/2 1) n'induit ni perte ni redondance d'informations La représentation en ondelettes devient (SY, Dj) o S est l'approximation du signal à la résolution 2 et les D correspondent aux détails de résolution 2 j. Les paramètres ayant été codés ( 25), on procède toujours en laboratoire, avant de les stocker, à une évaluation ( 26), en réalisant la synthèse, comme décrit ci-dessous Si (en 27) la qualité de la restitution du signal vocal est mauvaise, on modifie ( 28) le choix des paramètres résultant de l'analyse ( 24), et on les code ( 25) pour une nouvelle évaluation ( 25) Si cette qualitée est jugée bonne, on met en forme les trames de paramètres ( 29) et on transmet celles-ci, par exemple via une liaison série R 5422 ( 30), aux moyens de stockage. On a illustré en figure 5 la mise en oeuvre de l'algorithme de décomposition selon l'invention. Les différentes composantes So à Sj sont traitées chacune de la même façon: convolution avec les (j+l) filtres G ( 31 o à 31 j) et leurs (j+l) miroirs respectifs H ( 32 o à 32 j) et décimation par 2 (respectivement 32 o à 32 j et 34 o à 34 j). Pour une régularité n, le support du filtre comporte 2.n valeurs A partir des N coefficients de départ, on a pour N 1 l 2 fois N/2 coefficients, pour N= 2, 4 fois N/4 coefficients, etc, mais on n'en stocke que N/2 n Si l'on prend par exemple n= 6, on met en oeuvre une convolution sur 12 points Cette valeur implique que la convolution est réalisée dans le domaine temporel Cependant, pour une régularité supérieure à environ 16, il est préférable, du point de vue du temps de calcul du processeur d'analyse, de substituer à la convolution une multi- plication dans l'espace fréquentiel dual (ce qui revient à une convolution sectionnée). Le codage des paramètres (en 25) peut être réalisé soit à partir d'histogrammes locaux, soit, de manière plus simple, par une quantification liée à un niveau énergétique fixé par avance. La phase d'évaluation ( 26) consiste à écouter le message reconstitué, et, le cas échéant, si l'écoute n'est pas jugée satisfaisante, à modifier ( 28) les paramètres à stocker. Cette reconstitution se fait, comme décrit ci-dessous en détail, par conversion numérique/analogique, filtrage passe-bas de lissage et amplification basse fréquence Lorsque la qualité du message reconstitué est jugée satisfaisante, on met en forme les coefficients ( 29) et on les charge ( 30) dans une mémoire appropriée La mise en forme consiste essentiellement à formatter les données, à produire les adresses correspondantes et à séquencer les trames successives de données. On a illustré en figure 6 l'algorithme de synthèse vocale proprement dit mettant en oeuvre le procédé de l'invention, qui constitue un moyen autonome de génération de messages, distinct du dispositif de synthèse de laboratoire, mentionné ci-dessus, ayant servi pour l'évaluation du choix des paramètres Cet algorithme de synthèse vocale reconstitue le signal d'origine en procédant par interpolation ( 35 o à 35 j pour So à Sj et 36 o à 36 j pour Do à Dj), filtrage ( 37 o à 37 j et 38.o à 38 j respectivement), addition ( 39 o à 39 j), multipli- cation ( 40 0 à 40 j) et amplification basse fréquence En effet, à partir de la décomposition en échelle-ondelette au niveau p (typiquement p= 2 à 3), il est possible de reconstruire la décom- position au niveau (p-l) Il suffit pour cela d'insérer des valeurs nulles entre chaque valeur de la décomposition au niveau p, puis de convoluer avec les fonctions ondelettes et échelles inverses selon l'algorithme de reconstruction détaillé ci-dessus. Les ondelettes de Daubechies, que l'invention utilise préférentiellement, sont des ondelettes à support compact, qui minimisent de ce fait le nombre de points de leur réponse impulsionnelle, donc de la convolution. Les filtres de décomposition sont identiques à ceux de reconstruction, mais ils ne sont pas symétriques, ce qui oblige à mémoriser les coefficients dus aux effets de bords au début et à la fin de la trame de coefficients à mémoriser On peut contourner ce problème en utilisant des ondelettes bi-orthogonales, ce qui oblige alors à utiliser des filtres de reconstruction différents de ceux de décomposition, mais leur réponse étant symétrique, seuls sont stockés les coefficients d'un seul côté. On a représenté en figure 7 le schéma simplifié d'un dispositif de synthèse vocale mettant en oeuvre le procédé conforme à l'invention Les coefficients des filtres de recons- truction sont stockés dans une mémoire 41 et utilisés par un calculateur spécialisé ou un microprocesseur 42 qui reconstruit le signal vocal sous la commande de l'algorithme de recons- truction décrit ci-dessus et mémorisé dans sa mémoire de programme 43 avec les valeurs des réponses impulsionnelles des différents filtres de reconstruction Les valeurs numériques du signal reconstruit sont converties en analogique par le conver- tisseur 44 qui est suivi d'un amplificateur 45 à filtre analogique passebas (à fréquence de coupure de 4 k Hz par exemple) et à commande de gain 46 La sortie de l'amplificateur 45 est reliée à un haut-parleur 47 L'amplificateur comporte avantageusement une sortie haute impédance 48 qui peut être reliée à un dispositif d'enregistrement approprié Le micro- processeur 42 est par ailleurs relié à une entrée 49 (par exemple entrée série R 5232 ou R 5422) par laquelle il reçoit des demandes de synthèse de messages vocaux Ces demandes peuvent provenir de circuits d'alarme. Sur le schéma détaillé du dispositif de synthèse vocale de la figure 9, on a représenté le processeur 50 avec son bus d'adresses 51, son bus de données 52 et son bus de commande 53, qui est relié en particulier à un séquenceur logique 54 Le séquenceur est relié à une interface série d'entrée 55 et à une interface série de sortie 56, et via un circuit d'opto-isolation 57 à un dispositif de commande de synthèse de messages (non représenté), qui lui envoie les adresses des messages à synthétiser Une mémoire de programme 58 est reliée au trois bus 51 à 53 Les coefficients sont stockés dans une mémoire 59 reliée directement au bus d'adresses et au séquenceur 54 et reliée via une porte trois états 60 au bus de données, la porte 60 étant commandée par le séquenceur 54. Les bus 51 à 53 peuvent être reliés à un connecteur extérieur pour télécharger des coefficients ou modifier le programme de reconstruction, pour effectuer des tests ou des il travaux de maintenance. Le séquenceur 54 est relié à un convertisseur numérique/analogique 61 suivi d'un filtre passe-bas 62 et d'un amplificateur basse fréquence 63 dont le gain peut être ajusté par un potentiomètre 64 L'amplificateur 63 est relié à un ou plusieurs haut-parleurs 65 et à une borne de sortie haute impédance 66. R E V E N D I C A T I O N S 1 Procédé de synthèse vocale, caractérisé par le fait qu'il consiste à numériser un signal vocal, à découper ce signal numérisé dans une base orthogonale d'ondelettes à support compact, à stocker les coefficients représentatifs du signal vocal, et, à la restitution, à reconstituer le signal vocal par filtrage, interpolation et amplification basse fréquence. 2 Procédé selon la revendication 1, caractérisé par le fait que les ondelettes sont des ondelettes de Daubechies. 3 Procédé selon la revendication 1, caractérisé par le fait que l'on peut utiliser des ondelettes bi-orthogonales. 4 Procédé selon l'une des revendications 1 à 3, caractérisé par le fait qu'avant d'être stockés, les coefficients sont utilisés pour une synthèse d'évaluation ( 26), et ne sont stockés que lorsque la qualité de restitution est jugée satisfaisante. Procédé selon l'une des revendications précédentes, caractérisé par le fait que le filtrage est fait par convolution. 6 Procédé selon l'une des revendications précédentes, caractérisé par le fait que pour une régularité supérieure à environ 16, le filtrage est fait par une multiplication dans l'espace fréquentiel dual.