[0001] La présente invention se rapporte à un procédé de synthèse vocale.
[0002] Parmi les nombreux domaines d'application de la synthèse vocale, certains, tels que
les appareils à commande interactive (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 diminution 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.
[0003] 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.
[0004] 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 B
k (égales entre elles ou non). Chaque sous-bande (d'indice k) est ensuite rééchantillonnée
à la fréquence de Shannon, soit 2B
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.
[0005] 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 kHz 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 kHz sur 4 bits), tend à se généraliser.
[0006] On a représenté en figure 1 le schéma de principe d'un dispositif 1 de codage à deux
sous-bandes. Le signal de parole x est filtré par deux filtres F1, F2 (de réponses
impulsionnelles h1, h2). Chacune des deux sous-bandes en sortie de F1, F2 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 F1 et F2 sont des filtres
FIR (à réponse impulsionnelle finie) à phase linéaire et satisfont aux conditions
suivantes.


[0007] On a représenté en figure 2 le gabarit de ces filtres.
[0008] 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.
[0009] 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 π/2M (M étant le nombre
de sous-bandes). Par déplacement, on obtient :

[0010] π é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.
[0011] 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'échantilllonnage)
et est antisymétrique par rapport à ce point, c'est-à-dire que l'on a :

[0012] 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 Δf 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 :

dans laquelle δ = δ₁ = δ₂ 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 deux : fe = 2
P . fi.
[0013] 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° 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).
[0014] 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.
[0015] 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.
[0016] 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.
[0017] 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 bloc-diagramme 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.
[0018] 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).
[0019] 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.
[0020] 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.
[0021] 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 par exemple 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.
[0022] L'organigramme de la figure 4 illustre la procédure d'analyse vocale conforme à l'invention.
[0023] 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 µs
ou moins) à une fréquence d'échantillonnage, qui est par exemple de 10 kHz. 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).
[0024] 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 significatives)
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é.
[0025] 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
P le signal à analyser. Il en résulte, pour une décomposition à un niveau p, (p+1)
jeux de coefficients. De plus, la projection sur une base orthogonale (à nombre de
points = N/2 + N/4 + ... + N/2
P+1) n'induit ni perte ni redondance d'informations. La représentation en ondelettes
devient (S
j, D
j)
0≦j≦J où

est l'approximation du signal à la résolution 2
j et les D
j correspondent aux détails de résolution 2
j.
[0026] 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 RS422
(30), aux moyens de stockage.
[0027] On a illustré en figure 5 la mise en oeuvre de l'algorithme de décomposition selon
l'invention.
[0028] Les différentes composantes So à Sj sont traitées chacune de la même façon : convolution
avec les (j+1) filtres

(31.o à 31.j) et leurs (j+1) miroirs respectifs (32.o à 32.j)

et décimation par 2 (respectivement 32.o à 32.j et 34.o à 34.j).
[0029] 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 2 fois N/2 coefficients, pour N=2, 4 fois N/4
coefficients, etc..., mais on n'en stocke que N/2n. 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 multiplication dans l'espace fréquentiel dual (ce
qui revient à une convolution sectionnée).
[0030] 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.
[0031] 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.
[0032] 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), multiplication (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écomposition au niveau (p-1). 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.
[0033] 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.
[0034] 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é.
[0035] 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 reconstruction 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 reconstruction 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 convertisseur 44 qui est suivi d'un amplificateur 45 à filtre analogique
passe-bas (à fréquence de coupure de 4 kHz 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 microprocesseur 42 est par ailleurs relié à une entrée
49 (par exemple entrée série RS232 ou RS422) par laquelle il reçoit des demandes de
synthèse de messages vocaux. Ces demandes peuvent provenir de circuits d'alarme.
[0036] 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.
[0037] 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 travaux de maintenance.
[0038] 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.
[0039] Le traitement des effets de bords est rendu indispensable lorsque l'on utilise un
niveau de décomposition important. Il peut être obtenu en rendant artificiellement
impaires les trames de parole, en ajoutant d'un côté d'une trame de parole ou des
deux côtés une copie d'une partie de cette trame, par exemple pour une trame de 256
points, on rajoute d'un côté ou des deux 128 points.
[0040] Il est possible d'adopter une modélisation autorégressive de la trame (25,6 ms) de
parole voisée pour étendre artificiellement sa durée par une extrapolation temporelle.
[0041] Le traitement de synthèse qui est décrit ci-dessus par blocs peut être mis en oeuvre
par N filtres disjoints en cascade (type vocodeur). Ce procédé limite les effets de
bords dus au rafraichissement des valeurs du filtrage, mais pénalise le processeur
puisque l'on n'utilise pas alors les optimisations décrites lors de la décomposition
dyadique.
[0042] La base orthogonale choisie est à support compact, ce qui optimise le temps de calcul
de la convolution du filtrage. Les coefficients sont réels, ce qui permet une interprétation
facile du module et du signe, et qui relaxe les contraintes liées à l'exploitation
physique du modulo 2 π (lorsque la base est complexe). Lorsque le nombre de points
utilisés est inférieur à environ 30, on effectue une convolution temporelle. On peut
faire appel à plusieurs bases orthogonales, avec des régularités différentes.
- la décomposition n'est pas établie à un niveau donné, mais chaque filtre est adapté
en largeur (par exemple niveau de décomposition oblique : analyse à Q

constant) grâce au niveau variable en fonction de l'optimisation liée à la parole.
On peut par exemple effectuer un découpage plus fin autour de 800 Hz ;
- le choix de la régularité de l'ondelette de synthèse peut par exemple être déterminé
par une analyse préliminaire des trames de parole (par "ondelette de voisement" qui
est par exemple une ondelette moyenne déterminée à partir des trois classes de voisement
ou la dérivée troisième d'une gaussienne) ;
- trame voisée (structure harmonique) : régularité 6 à 10 environ ;
- trame non voisée (plosives, fricatives) : faible régularité (1 à 6) ;
- le réagencement des coefficients d'ondelette (résultat du produit scalaire) en fonction
de leur position fréquentielle permet de traiter plus facilement l'analyse temps-échelle
et de la voir comme une analyse temps-fréquence ;
- une quantification vectorielle permet d'optimiser le débit en adaptant le codage en
fonction du rang fréquentiel et de l'énergie à coder. Quelle que soit la méthode employée
(par exemple dichotomie), la finalité reste toujours l'élaboration d'un "codebook"
multirésolution (un "codebook" étant un ensemble de vecteurs qui comportent toutes
les "classes" ou vecteurs caractérisant le barycentre de nuages de points). In fine
on essaye de choisir une distorsion minimale (erreur quadratique faible) aussi peu
pénalisante que possible ;
- le nombre de bits de codage d'un vecteur du code book est fonction de l'énergie traitée
(nombre important pour le fondamental, faible pour les fréquences extrêmes).
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 au moins 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 coefficients sont
réels.
3. Procédé selon la revendication 1 ou 2, caractérisé par le fait que le choix de la
régularité de l'ondelette de synthèse est déterminé par une analyse préliminaire des
trames de parole.
4. Procédé selon l'une des revendications précédentes, caractérisé par le fait que pour
des trames de parole voisée, la régularité de l'ondelette de synthèse est d'environ
6 à 10.
5. Procédé selon l'une des revendications 1 à 3, caractérisé par le fait que pour des
trames de parole non voisée, la régularité de l'ondelette de synthèse est de 1 à 6.
6. Procédé selon l'une des revendications précédentes, caractérisé par le fait que pour
traiter les effets de bords, on rend artificiellement impaires les trames de parole.
7. Procédé selon l'une des revendications précédentes, caractérisé par le fait que les
ondelettes sont des ondelettes de Daubechies.
8. Procédé selon l'une des revendications précédentes, caractérisé par le fait que l'on
utilise des ondelettes bi-orthogonales.
9. Procédé selon l'une des revendications précédentes, 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.
10. Procédé selon l'une des revendications précédentes, caractérisé par le fait que le
filtrage est fait par convolution.
11. 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.