• Aucun résultat trouvé

Acquisition et prétraitements

6 Reconnaissance de laparole

6.3 Acquisition et prétraitements

Le traitement informatique de la parole nécessite un signal numérique. On l'échantillonne usuellement à une dizaine de kHz, afin de conserver l'information spectrale jusqu'à environ 5 kHz. Comme les hautes fréquences sont souvent atténuées, on les renforce artificiellement à l'aide d'un filtre numérique.

Cela ressemble en fait à l'opération accomplie par le pavillon de l'oreille.

L'étape suivante consiste à effectuer sur le signal numérisé quelques prétraitement en vue de réduire le bruit à un niveau acceptable. Il est parfois possible, lorsque l'on connait la nature des bruits qui peuvent altérer le signal, d'essayer d'extraire le signal utile, ou d'en améliorer la qualité [1]. De sensibles améliorations des performances des systèmes opérant en milieu bruité peuvent être attendues d'un bon traitement à ce niveau.

Beaucoup de systèmes de reconnaissance de la parole, cependant, opèrent sur du signal “propre”, enregistré avec un microphone de haute qualité dans une salle sourde. De tels traitements sont alors peu utiles.

1 Picone J., Johnson M.A., Hartwell W.T.: Enhancing the Performance of Speech Recognition with Echo Cancellation - Procedings IEEE ICASSP 1988, S-Vol.1, pp 529-532, (1988)

A ce stade, l’information présente dans le signal représente plusieurs centaines de milliers de bits par seconde. De telles quantités de données sont fort difficiles à manipuler. Il importe alors d'extraire un jeu réduit de paramètres significatifs, en nombre limité (1000 à 2000 par seconde). Cela peut être fait de plusieurs manières:

6.3.1 Codage spectral, banc de filtres.

Le codage le plus ancien est le codage spectral. Il semble en effet acquis qu'un spectrogramme de bonne définition contient toute l'information nécessaire à l'identification de la parole ainsi codée. Avec un apprentissage important, un phonéticien est capable de “lire” un spectrogramme. Il fait néanmoins appel pour cela à ses connaissances linguistiques.

En diminuant à la fois la résolution fréquentielle et temporelle d’un spectrogramme, par moyennage, on peut compresser le signal de parole en environ cent vecteurs spectraux par seconde d'une quinzaine d'éléments chacun.

Un banc de filtres est une autre façon d'arriver au même résultat. Il suffit de disposer en parallèle d'une quinzaine de filtres numériques “passe-bande” recouvrant la plage de fréquence du signal, et de mesurer en sortie, l'énergie moyenne pendant de courts intervalles de temps.

Quelques aménagements ont prouvé leur utilité dans les systèmes de reconnaissance classiques. On s'attache souvent à répartir les bancs de filtres selon une échelle physiologique, dite échelle de Bark (ou de Mel), linéaire jusqu'à 1.8kHz, logarithmique au delà. D'autre part, on code fréquemment les énergies sur une échelle logarithmique.

Toute la difficulté de telles manipulations est de conserver un jeu de paramètres significatifs. Dans le cas de l'analyse spectrale, la perte d'information est concentrée dans l'opération de moyennage destinée à réduire les résolutions temporelles et fréquentielles du spectrogramme. On peut s’en convaincre en effectuant une transformée de Fourier inverse pour générer des signaux susceptibles d'être écoutés; ceux ci sont rarement intelligibles.

6.3.2 Codage prédictif linéaire.

Le codage prédictif linéaire [1] [2] consiste à représenter des tranches de 10ms à 30ms du signal par les coefficients

a

1

… a

n d’un modèle autorégressif.

1 Itakura F., Saito F.: Speech Analysis-Synthesis System Based on the Partial Autocorrelation Coefficients. Acoust Soc of Japan Meeting (1969)

2 Atal B.S., Hanauer S.: Speech analysis and synthesis by linear prediction of the speech wave. Journal of the Acoustical Society of America. n° 50, pp 637-655, (1971)

Une méthode pour évaluer ces coefficients consiste à minimiser l'énergie du signal résiduel, dans la tranche de temps considérée, c’est à dire de la différence entre le signal modélisé

a

1

X

t-1

+a

2

X

t-2

+……+a

n

X

t-net le signal réel

X

t

.

En annulant les dérivées de l’énergie résiduelle, on obtient le système (6.4),

∀ i, ˚ V

i0

= ∑

˚ k = 1

˚ N

˚ ˚ V

i k

˚ a

k

˚ (6.4)

dans lequel

V

ik est la matrice d'autocorrélation du signal dans chaque tranche, définie par:

∀ i,k, ˚ V

i k

= ∑

t

˚ X

t-i

˚ X

t-k

˚ (6.5)

Cette matrice est une matrice de Toeplitz, i.e.

V

ik

= ϕ(i-k)

, et le système (6.4) peut être résolu rapidement à l'aide de la méthode de Levinson-Durbin [1].

Le codage prédictif linéaire est actuellement la technique la plus répandue de compression du signal de parole, et est devenu un outil important en reconnaissance de la parole.

6.3.3 Codage homomorphique (cepstres).

La notion de cepstre, anagramme de spectre, repose sur un modèle simple de production de la parole:

Un système linéaire dont les paramètres varient dans le temps, représentant le conduit vocal, excité, soit par des pulsations périodiques dans le cas d'un son voisé, soit par du bruit blanc. Le son produit est donc le résultat de la convolution de l'excitation et du système linéaire.

On considère donc que le spectrogramme est le produit du spectre de l'excitation, et du spectre de transfert du conduit vocal ( i.e. position de la langue, des dents, ouverture de la bouche, etc… ). Or les variations dans le domaine fréquentiel de ces deux termes sont fort différentes. L'excitation présente une périodicité fréquentielle de l'ordre de la fréquence fondamentale de la voix (80 à 150 Hz). La fonction de transfert représente les résonances du conduit vocal, appelées formants, que l'on voit assez nettement sur un spectrogramme, à des intervalles de fréquences plus grands (˚500 à 1000 Hz˚).

On peut donc séparer ces deux informations par une transformée de Fourier partielle en fréquence, sur le spectre codé logarithmiquement. Si

c(t,n)

est le cepstre,

sp(t,f)

l'énergie spectrale, on a

1 O'Shaugnessy D.: Speech Communication, human and machine -Addison Wesley. (1987).

c(t,n) =  

 

˚ ∫

0 +∞

˚log(˚sp(t,f)˚)˚ e

-2iπfn

˚ d f ˚ (6.6)

Le calcul du cepstre est en général assez couteux. Il nécessite en effet deux transformées de Fourier.

Cependant les codage obtenus semblent être de bonne qualité et particulièrement intéressants pour les problèmes de reconnaissance indépendante du locuteur.

6.3.4 Quantification vectorielle.

Lorsque l'on a extrait un jeu assez réduit de paramètres, il peut être intéressant d'utiliser un algorithme de quantification vectorielle. L'idée consiste à stocker des valeurs typiques des vecteurs de paramètres du signal dans un dictionnaire, et de considérer ensuite le signal comme une suite de mots de ce dictionnaire.

On utilise donc un algorithme de clustering (par exemple “k-means”, cf §3.2.2) sur des données d'apprentissage pour déterminer une partition de l'espace vectoriel considéré. Les descriptions de chaque cluster sont alors stockées dans le dictionnaire. Pour coder une nouvelle suite de vecteurs, on remplace chaque vecteur par le numéro du cluster auquel il appartient.

Utiliser un tel codage apporte des simplifications sensibles des algorithmes de reconnaissance. Elle permettent en particulier de transformer des modèles de Markov continus en modèles de Markov discrets (cf §6.5).