codage de la parole - · pdf file2ième année master rfia usto-mb cours r. parole...

6
2 ième année Master RFIA USTO-MB Cours R. Parole Codage de la parole Le signal de parole est complexe et redondant. Il possède une grande variabilité. Pour que le système de reconnaissance de la parole fonctionne efficacement, les informations caractéristiques et invariantes doivent être extraites du signal de parole. Cette procédure consiste à associer au signal de parole une série de vecteurs de paramètres généralement acoustiques. 1) Codage prédictif linéaire Le codage prédictif linéaire (LPC, Linear Predictive Coding) est une méthode de codage et de représentation de la parole. Elle repose principalement sur l’hypothèse que la parole peut être modélisée par un processus linéaire. Il s’agit donc de prédire le signal à un instant n à partir des p échantillons précédents (voir l’équation ci-dessous). La parole n’étant cependant pas un processus parfaitement linéaire, la moyenne que constitue la somme pondérée du signal sur p pas de temps introduit une erreur qu’il est nécessaire de corriger par l’introduction du terme e(n). Le codage par prédiction linéaire consiste donc à déterminer les coefficients ak qui minimisent l’erreur e(n), ceci en fonction d’un ensemble de signaux constituant un corpus d’apprentissage. La méthode du codage par prédiction linéaire est tout autant utilisée en RAP qu’en compression pour le transfert de la voix par téléphone ou radio. Elle n’est cependant pas parfaite puisque l’erreur de prédiction peut être importante sans qu’il soit possible, par cette méthode, de la corriger. La méthode RELP, Residual Excited Linear Prediction, permet de réduire une partie de cette erreur. Le principe consiste à comparer, lors de la prédiction linéaire, le signal obtenu avec le signal original. L’erreur, obtenue par soustraction, représente la partie du signal original que le prédicteur n’arrive pas à modéliser. Dans la méthode RELP, l’erreur résiduelle est passée dans un filtre passe-bas permettant de conserver l’erreur effectuée dans la seule bande fréquentielle allant de 0 à 1000 hertz. La sortie du filtre est alors codée et passée au receveur qui peut alors reconstruire un signal à partir de la prédiction et de l’erreur observée. Pour pallier le problème de l’erreur résiduelle, d’autres méthodes fondées sur la prédiction linéaire ont été développées. Ainsi la méthode CELP, Code Excited Linear Prediction, permet d’effectuer une compression de la parole par codage d’une trame vis-à-vis de références stockées dans un corpus. Ainsi, une trame de parole sera codée selon une combinaison linéaire de certaines trames du corpus et c’est cette combinaison linéaire qui sera considérée à la place de la trame dans les traitements ultérieurs. Cette méthode de codage de la parole est surtout employée pour la compression et la transmission de la parole à de faibles débits.

Upload: dodung

Post on 07-Feb-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Codage de la parole - · PDF file2ième année Master RFIA USTO-MB Cours R. Parole Une fois la décision - signal voisé ou non voisé - prise, il reste à déterminer les coefficients

2ième année Master RFIA USTO-MB Cours R. Parole

Codage de la parole Le signal de parole est complexe et redondant. Il possède une grande variabilité. Pour que

le système de reconnaissance de la parole fonctionne efficacement, les informations caractéristiques et invariantes doivent être extraites du signal de parole. Cette procédure consiste à associer au signal de parole une série de vecteurs de paramètres généralement acoustiques. 1) Codage prédictif linéaire

Le codage prédictif linéaire (LPC, Linear Predictive Coding) est une méthode de codage et de représentation de la parole. Elle repose principalement sur l’hypothèse que la parole peut être modélisée par un processus linéaire. Il s’agit donc de prédire le signal à un instant n à partir des p échantillons précédents (voir l’équation ci-dessous). La parole n’étant cependant pas un processus parfaitement linéaire, la moyenne que constitue la somme pondérée du signal sur p pas de temps introduit une erreur qu’il est nécessaire de corriger par l’introduction du terme e(n).

Le codage par prédiction linéaire consiste donc à déterminer les coefficients ak qui minimisent l’erreur e(n), ceci en fonction d’un ensemble de signaux constituant un corpus d’apprentissage.

La méthode du codage par prédiction linéaire est tout autant utilisée en RAP qu’en compression pour le transfert de la voix par téléphone ou radio. Elle n’est cependant pas parfaite puisque l’erreur de prédiction peut être importante sans qu’il soit possible, par cette méthode, de la corriger.

La méthode RELP, Residual Excited Linear Prediction, permet de réduire une partie de

cette erreur. Le principe consiste à comparer, lors de la prédiction linéaire, le signal obtenu avec le signal original. L’erreur, obtenue par soustraction, représente la partie du signal original que le prédicteur n’arrive pas à modéliser. Dans la méthode RELP, l’erreur résiduelle est passée dans un filtre passe-bas permettant de conserver l’erreur effectuée dans la seule bande fréquentielle allant de 0 à 1000 hertz. La sortie du filtre est alors codée et passée au receveur qui peut alors reconstruire un signal à partir de la prédiction et de l’erreur observée.

Pour pallier le problème de l’erreur résiduelle, d’autres méthodes fondées sur la prédiction

linéaire ont été développées. Ainsi la méthode CELP, Code Excited Linear Prediction, permet d’effectuer une compression de la parole par codage d’une trame vis-à-vis de références stockées dans un corpus. Ainsi, une trame de parole sera codée selon une combinaison linéaire de certaines trames du corpus et c’est cette combinaison linéaire qui sera considérée à la place de la trame dans les traitements ultérieurs. Cette méthode de codage de la parole est surtout employée pour la compression et la transmission de la parole à de faibles débits.

Page 2: Codage de la parole - · PDF file2ième année Master RFIA USTO-MB Cours R. Parole Une fois la décision - signal voisé ou non voisé - prise, il reste à déterminer les coefficients

2ième année Master RFIA USTO-MB Cours R. Parole

La synthèse de la parole par LPC consiste à synthétiser des échantillons à partir d'un modèle d'un système de production vocal et d'une excitation. Pour la voix humaine, le système de production vocal est l'ensemble poumons - cordes vocales - trachée - gorge - bouche - lèvres. En pratique, on modélise ce système par un ensemble de cylindres de diamètres différents, 10 dans le cas de [LPC-10], excités par un signal qui est soit une sinusoïde, soit un bruit blanc. Le choix de la fonction d'excitation (sinusoïde ou bruit blanc) dépend des caractéristiques, voisée ou non voisée, du signal. Un signal voisé correspond à une lettre comme ``a'' ou ``u''. Un signal non voisé correspond à une lettre comme ``r'' ou ``s''.

Le processus de synthèse a donc deux phases, qui sont 1) l'identification de la fonction d'excitation et 2) l'identification des diamètres des cylindres (ou de façon plus générale l'identification de la fonction de transfert du modèle vocal). On obtient donc le schéma de la figure ci dessous. Le gain permet d'ajuster l'énergie du signal synthétisé à celle du signal original.

Principe du codage LPC

Chaque phase est exécutée toutes les 20 ms (c'est à dire sur un ensemble de 160 échantillons pour une fréquence d'échantillonnage de 8 KHz). Le codeur génère en sortie une fréquence d'excitation (codée sur 16 bits), un ensemble de 10 coefficients (codés sur bits), et un gain (codé sur 8 bits). Le débit du codeur est donc de 104 bits toutes le 20 ms, soit 5,2 kb/s. Ce débit est donc seulement de celui d'un codeur PCM.

L'identification des fonctions d'excitation et de transfert se fait de la façon suivante. Une tranche de signal de 20 ms est d'abord filtrée par un filtre passe bas. On calcule ensuite l'autocorrélation R(x) du signal filtré. Le graphe de R(x) (voir figure ci-dessous) peut faire apparaître plusieurs pics, un à l'origine puisqu'il s'agit d'une autocorrélation, et un autre pic si le signal est voisé. L'amplitude minimum pour considérer le deuxième pic comme valide est 40% de l'amplitude à l'origine. La fréquence ainsi obtenue est la fréquence d'excitation. En l'absence d'un deuxième pic, le signal est non voisé et l'excitation est un bruit blanc.

Autocorrélation du signal

Page 3: Codage de la parole - · PDF file2ième année Master RFIA USTO-MB Cours R. Parole Une fois la décision - signal voisé ou non voisé - prise, il reste à déterminer les coefficients

2ième année Master RFIA USTO-MB Cours R. Parole

Une fois la décision - signal voisé ou non voisé - prise, il reste à déterminer les coefficients de réflexion du signal. On utilise pour cela l'algorithme de Durbin, qui est appliqué au signal filtré afin d'en obtenir une prédiction linéaire. Cet algorithme consiste à obtenir les coefficients de la prédiction linéaire qui minimisent l'erreur quadratique moyenne définie par

Les obtenus sont les coefficients de la fonction de transfert (aussi appelés coefficients de réflexion). Le gain est obtenu par un simple calcul d'énergie. A ce moment l'identification est complètement terminée.

Source : http://www-sop.inria.fr/rodeo/avega/phd/phd-html/node16.html

2) Le Codage Neuro-Prédictif (Neural Predictive Coding ou NPC) Le codage neuro-prédictif est une extension du codage LPC , donc une méthode de

codage temporelle mais contrairement à la méthode LPC, le codeur NPC extrait les caractéristiques non linéaires d’un phonème. Il est basé sur un MLP à une couche cachée suivi d’une couche de sortie à 1 neurone appelé cellule de prédiction. L’étape d’apprentissage consiste à prédire un échantillon (extrait du signal acoustique d’un phonème) à partir des n échantillons précédents grâce à un MLP.

Codeur NPC

On a une séquence d’échantillons ( L est la longueur de la

Page 4: Codage de la parole - · PDF file2ième année Master RFIA USTO-MB Cours R. Parole Une fois la décision - signal voisé ou non voisé - prise, il reste à déterminer les coefficients

2ième année Master RFIA USTO-MB Cours R. Parole

séquence dite largeur de la fenêtre de prédiction qui est égale à la dimension de la couche d’entrée de notre MLP). Le prédicteur calcule Y^k a partir du vecteur Yk :

F peut être vu comme la composition de deux fonctions Gw (correspond à la couche caché) et Ha (correspond à la couche de sortie).

avec et w indique le vecteur des poids de la couche cachée et a le vecteur des poids de la couche de sortie. Tous les poids du réseau sont ajustés de façon à minimiser l’erreur quadratique :

Ce sont ces poids qui vont constituer le vecteur acoustique caractéristique de chaque phonème, mais si on les utilisent tous, on aura trop de paramètres (ex : un MLP 20 x 8 x 1 =321 poids ) , le codeur NPC permet un nombre réduit de paramètres, l’idée est de ne prendre comme coefficients que les poids de la couche de sortie (ex : un MLP 20 x 8 x 1 = 8 poids pour couche de sortie = 8 coefficients ) tant que les poids de la première couche sont utilisés seulement comme un filtre. Cela est fait en créant un couche de sortie différente pour chaque phonème, quand à la première couche, elle reste constante pour tous les phonèmes. Considérant maintenant un ensemble de phonèmes i=1..N.

Calcul des coefficients NPC

Page 5: Codage de la parole - · PDF file2ième année Master RFIA USTO-MB Cours R. Parole Une fois la décision - signal voisé ou non voisé - prise, il reste à déterminer les coefficients

2ième année Master RFIA USTO-MB Cours R. Parole

Les poids de la couche de sortie sont propres à chaque phonème, et constitue notre vecteur de coefficients, Quand aux poids de la première couche, sont partagés par tous les phonèmes, et constituent la partie fixe du système. Le processus d’apprentissage se divise en deux phases. La première phase dite paramétrisation, faite par l’ajustement des poids de la première couche (calcule de la partie fixe du codeur), la deuxième phase dite codage faite par l’ajustement des poids de la couche de sortie. La phase de paramétrisation est faite en entraînant le MLP à prédire tous les échantillons de tous les phonèmes en minimisant l’erreur de prédiction. Dans la deuxième phase on garde les poids de la première couche et on réinitialise les poids de la couche de sortie par des valeurs fixes, chaque phonème étant décomposé en fenêtre de taille choisie. On essaie de minimiser l’erreur de prédiction sur une fenêtre (NPC1) ou pour toute les fenêtres d’un phonème (NPCII) du MLP en ajustant que les poids de couche de sortie (avec un nombre choisi d’itérations, de préférence pas trop grand pour ne pas ralentir le système), sans toucher aux poids de la première couche qui resteront fixes pour tous les phonèmes. Enfin on récupère les poids de la couche de sortie, qui constitueront notre vecteur de paramètres. 3) Les coefficients MFCC (Mel-scale Frequency Cepstral Coefficients)

Les coefficients MFCC sont un type de coefficients cepstraux très souvent utilisés en reconnaissance automatique de la parole. Le codage MFCC utilise une échelle fréquentielle non-linéaire. L’échelle mel est définie par :

f est la fréquence en Hz, B(f) est la fréquence en mel de f.

Soit un signal discret {x[n]} avec 0 ≤ n ≤N-1, N est le nombre d'échantillons d'une fenêtre analysée, Fs est la fréquence d'échantillonnage, la transformée de Fourier discrète S[k] est obtenue :

Le spectre du signal est multiplié avec des filtres triangulaires dont les bandes passantes sont équivalentes en domaine mel-fréquence. Les points frontières B[m] des filtres en mel fréquence sont calculés ainsi :

où M est le nombre de filtres, f h est la fréquence la plus haute et f l est la fréquence la plus basse pour le traitement du signal. Dans le domaine fréquentiel, les points f [m] discrets correspondants sont calculés par l'équation :

où B-1 est la transformée de mel-fréquence en fréquence :

Page 6: Codage de la parole - · PDF file2ième année Master RFIA USTO-MB Cours R. Parole Une fois la décision - signal voisé ou non voisé - prise, il reste à déterminer les coefficients

2ième année Master RFIA USTO-MB Cours R. Parole

Les filtres triangulaires passe-bande en Mel-Fréquence (B(f)) et en fréquence (f)

Le coefficient Hm[k] de chaque filtre est déterminé par le système suivant :

Pour un spectre lissé et stable, à la sortie des filtres un logarithme d'énergie (ou un logarithme de spectre d'amplitude) est calculé :

Les coefficients cepstraux de mel-fréquence (MFCCs) peuvent être obtenus par une transformée de cosinus discrète de E[m] :

En résumé :

Etapes du calcul des coefficients MFCC