1 Cours parole du 9 février 2005 enseignants: Dr. Dijana Petrovska-Delacrétaz et Gérard Chollet...

Post on 03-Apr-2015

108 views 1 download

Transcript of 1 Cours parole du 9 février 2005 enseignants: Dr. Dijana Petrovska-Delacrétaz et Gérard Chollet...

1

Cours parole du 9 février 2005enseignants: Dr. Dijana Petrovska-Delacrétaz

et Gérard Chollet

Reconnaissance Automatique de la Parole

1. Introduction, Historique, Domaines d’applications 2. Extraction de paramètres3. Comparaison de représentations temps-fréquence4. DTW : Dynamic Time Warping (anamorphose T-F)5. Modèles stochastiques (HMM, Réseaux Bayésiens)6. Modèles de langage7. Evaluation8. Conclusions

2

1. Introduction à la Reconnaissance Automatique de la Parole

• Reconnaissance Automatique de la Parole = processus qui associe un signal de parole à une forme d’action (transcription, commande, « compréhension »,…)

• Commande = le signal de parole déclenche une action (vocabulaire limité)

• Dictée vocale = tâche de transcription orthographique (vocabulaire illimité !?)

• « Compréhension » et dialogue = la machine devrait se comporter comme un humain (test de Turing : http://fr.wikipedia.org/wiki/Test_de_Turing).

3

Histoire de la Reconnaissance Automatique de la Parole

4

Dimensions et difficultés en RAP

• Taille du vocabulaire, perplexité, facteur de branchement,• Environnement sonore (prise de son), distortions, pertes,

bande passante (téléphonique, élargie, HiFi,…)• Nombre de locuteurs concernés, motivation des locuteurs,• Possibilités d’apprentissage, d’adaptation,• Nombre de langues, accents, …• Ergonomie de l’interface vocale,

5

6

2.1 Echantillonnage

• Codage le plus simple = échantillonage = prélever (à des intervalles réguliers) des echantillons du signal analogique (continu)

7

2.2 Fréquence d’échantillonage

• !! les intervalles de “prèlevement” du signal doivent être suffisamment raprochés pour “suivre” les variations du signal

8

2.3 Théorème de Shannon

• Les signaux doivent être échantillonnés à une fréquence fe> 2 fmax du signal

• Ceci va nous permettre de reconstituer plus ou moins fidèlement du signal continu à partir du signal échantillonné, (p.ex. qualité Hi-Fi, communications téléphonique, ….)

9

2.4 Etendue spectrales des signaux parole

• Etendue spectrale des signaux de parole: 20-12’000 Hz

• L’oreille humaine normale peut capter des signaux acoustique entre 20 et 20’000 Hz.

• Transmission parole téléphonique: 300-3’400 Hz (bonne compréhension du langage parlé)

• L’oreille a des caractéristiques perceptives spécifiques => psychoacoustique

10

Le champ auditif humain

11

2.5 Exemples d’echantillonage

Largeur de

bande de

transmission Dénomination

Echantillonnage=

nombre d’echantillons codées Qualité perçue

Débits en bps avec 8bits par ech.

20 - 22'000 Hz hi-fi (CD) 44'100 Hz pas de dégradation 352’000

20 - 12'000 bande “parole” 24’000 hz pas de dégradation 192’000

20 - 8’000 bande large 16'000 Hz idem 128’000

300 - 3'400 bande téléphonique 8'000 Hz dégradation 64’000

12

3. Discrétisation de l’amplitude (quantification)

• La représentation numérique d'un signal implique la quantification de chaque échantillon selon un nombre fini de valeurs discrètes

• Quantification la plus simple = la quantification scalaire = segmenter l'étendue de variation du signal

• Le nombre de segments est égal au nombre de mot-codes ("codewords") que l'on veut utiliser. Avec B bits, on peut représenter 2B mots-codes utilisés pour les niveaux de quantification. Chaque mot-code représente un niveau de quantification du signal

13

3.1 Types de quantificateurs: scalaire ou vectorielle

• Quantification uniforme (linéaire)

pas de quantification constant

• Quantification non-uniformeloi de compression

A (A-law)mu (mu”law”)

• Quantification vectorielle (pour des signaux de dim >1)

14

3.2 Quantification scalaire: Définitions

x(t) = signal analogique de valeur absolue maximale Xmax x[n] = signal échantillonné (digitalisé) Q = opérateur de quantification ; y = Q(x) y[n] = signal quantifié (codé) ,

y[n] = yi = Q (x[n] ) avec xi-1 < x[n] ≤ xi erreur de codage e[n] = x[n] -y[n] on suppose que | x[n] | =<Xmax pas de quantification = i = xi - xi-1 on aimerait quantifier l’amplitude du signal avec M niveaux de

quantification 1 ≤ i ≤ M et xi =M+1 niveaux de décisions possible (0 ≤ i ≤ M)

15

3.3 Schéma fonctionnel du codage-décodage par quantification scalaire

ConvertisseurA/D

Quantificateurscalaire Q

Encodagex(t) x[n] y[n]

c[n]

Décodage y'[n]

c'[n]

16

3.4 Bruits (erreurs) de quantification

• distorsion de granularitéon a y[n] = x[n] + e[n] , si pas de quantification =alors -/2 =< e[n] =< /2

• Distortion de saturation :

lorsque les valeurs de x(t) > Xmax

17

3.5 Quantification scalaire uniforme

• niveau de décision

• xi - xi-1 = , 1 ≤ i ≤ M

• et de reconstruction espacées de manière uniforme

y[n] = yi = Q (x[n] ) avec xi-1 < x[n] ≤ xi devient: y[n] = (xi + xi-1)/2 1 ≤ i ≤ M

18

3.6 Ex de quantification scalaire uniforme

• quantification uniforme: les niveaux de l’amplitude signal [0-1], 4 niveaux de reconstruction espacées régulièrement,

x1=1

/4

x2=1

/2

x3=3/

4

x[n]

y[n]

x0=0

10

00

01

11

1/8

3/8

5/8

7/8

x4=1

19

3.7 Quantification non-linéaire

• Distribution des niveaux de quantification pour une loi de quantification non-linéaire avec des niveaux de quantification en 3-bit

20

3.8 Quantification adaptée au signal parole

• Si transmission de parole, on doit adapter la quantification à la nature statistique du signal à coder.

• La fonction de distribution de probabilité (pdf) du signal parole est le mieux adaptée par une distribution de Laplace .

• On va adapter le pas de quantification à cette distribution, de façon a avoir plus de résolution dans les portions ou le signal a le plus de chance d'être présent

x

p(x)

21

Loi A

22

Loi « mu »

Réduire la dynamique

Loi « mu »)].1([log2 xQy μ+=

94.4 38.8 0 72.4 128

0

128

128−

yx

128128− x 128−

Échantillonnage à 8kHz quantification sur 8 bits

23

3.9 Application de la quantification scalaire aux codeurs temporels

• On va utiliser les principes de la quantification scalaire pour les codeurs temporels.

• Le taux de compression dépend de la frequence d'echantillonage, etdu nombre de pas de quantification L= c.

Valeur du débit = nombre d'ech x nbre d'echelons

Examples: Si on code 124 (256) valeurs, on a besoin de 7 (8) bits8000 x 7bits/s = 56 Kbits/s (en Amérique du Nord et Japon)8000 x 8bits/s = 64 Kbits/s (en Europe)

24

4. Codeurs temporels ("waveform")

• Schéma fonctionnel du codage-décodage (codec) pour les codeurs temporels (voir 3.3)

• Quantification scalaire uniforme= Pulse Code Modulation (PCM)

• Examples de quantification scalaire non unforme, on utilise une loi de compression pour les pas de quantification semi-logarithmique

exemples: A-law and mu-law

25

Codage MICDA (ADPCM)

∑=

q

kktkb

1

ε

+_)(tx

)(tε

Tra

nsm

issi

on

∑=

−+=q

kktkt btx

1

)( εε

)(tx )(tε

Codage par modulation delta pour les débits de 16à 32 kBits/s

Quantification de la différenceentre le signal et sa prédiction

Synthèse

Analyse

26

5. Quantification Vectorielle

• Représentation d’un vecteur X (dim-k) par un vecteur appartenenant à un ensemble fini de M vecteurs ( ou mot-codes, code-book, ou dictionnaire)

• La Quantification vectorielle (“Vector Quantization”=VQ) est organisée de façon à minimiser la distortion moyenne pour un dictionnaire de taille M donné. Elle permet de tirer parti de la corrélation qui existe souvent entre les composantes des vecters à coder.

27

5.1 Caractéristiques de la VQ

• statique: on construit un dictionnaire (dico) à partir des données représentatives du signal

• dynamique: on adapte le dico avec des nouvelles données (plus complexe à mettre en oeuvre)

• QV statique on a besoin:

• suffisamment de données representatives du signal yd (d= dim du signal)

• dico défini par des representants, centroides Cd (meme dim que signal)

• définition d’une mesure de distance (ex. dist euclidienne)

• Distortion moyenne D= lim Somme (dist y-C)

28

5.2 k-means algo

• On défini un codebook de départ, avec M celules Ci• et leur centroides respectifs Ci qui minimisent la distortion dans la

cellule).• etape1: Definir un codebook initial avec M partitions (cellules Mi)

et leur centroide representatif Ci• etape2. Classification des vecters de “train” dans la celule Mi en

choissisant le centroide le plus proche (min-distance classifier)• etape3: réactualiser le codebook: à cette étape on aura un ensemble

de Ki vecteurs de train qui vont appartenir à la cellule Mi. Réactualisé de codeword de chaque cellule, en calculant le centroide des vecterus Ki qui minimise la distortion dans chaque cellule d= min d(k,c); Calculer la distortion totale

• Itération: répeter 2 et 3 jusqu’a que la distortion totale actuelle par rapport à la précédente est au dessus du seuil-

29

5.3 k-means avec “binary splitting”

• Initialisation: On commence avec le centre de gravite des vecteurs de train, une seule cellule de départ.

• on crée deux celules voisines …..

30

Quantification scalaire et vectorielle

31

6. Catégorisation des codeurs selon leur débit

• Catégorisation des codeurs selon leur débitdébit élevé: codeurs temporels -"waveform coders" (>16'000 bps)débit moyen: codeurs hybrides, forme d'onde +modéles de production de la

parole (2'4000 -> 16'000 bps) débit bas: codeurs paramétriques ou vocodeurs ("vocoders"), modèles de

production, (1'200 ->4'800 bps)débit très bas: (vo)codeurs segmentaux, reconnaissance de segments, tels que

phonèmes, unités automatiques (400-1'200 bps)

• On a vu les codeurs temporels et on va résumer les codeurs paramétrique par l'exemple de la LPC

32

Principe d’une analyse acoustique

33

Analyse de Fourier à fenêtre glissante

34

Transformée de Fourier discrète

35

Analyse par banc de filtres (1)

36

Analyse par banc de filtres (2)

37

Analyse par banc de filtres (3)

38

Principe du codeur MP3

Filtrage des signauxdans différentes bandes de fréquences

T. FourierSélection des canaux utiles (effet de masquage1er codage)

T.Cos etcodage(huf)

T. Cos etcodage

T. Cos etcodage

T. Cos etcodage

T. Cos etcodage

Em

issi

on d

es d

onné

es

39

Spectrogramme (bande large)

40

Spectrogramme (large bande)

41

Spectrogramme (bande etroite)

42

Codeur par sous-bandes

43

Analyse cepstrale (1)

44

Analyse cepstrale (2)

45

Analyse par synthèse

46

7. Analyse de la parole par prédiction linéaire

La méthode LPC est utilisée fréquemment pour l'analyse de la parole (aussi nommé modélisation auto régressive AR)

• méthode rapide et simple pour estimer les caractéristiques spectrales de la parole (estimation de l'enveloppe spectrale)

• Hypothèse: un ech de parole peut être approximée par une combinaison linéaire des échantillons précédents.

• s(n) = - ( a1s(n-1) +a2s(n-2) +….+ aps(n-p)) + e(n)

• les coeff ai sont supposés être constants durant la fenêtre d’analyse.

47

Analyse par prédiction linéaire (1)

Modélisation de la parole sous forme

d’un filtre de prédiction linéaire

Filtre de

prédiction linéaire

e(t) s(t)

)()(0

teitsap

ii =−⋅∑

=

48

Analyse par prédiction linéaire (2)

- Calcul de 11 coefficients de corrélation sur une portion de 25 ms (200 échantillons)

- Application de l ’algorithme de Levinsonpour obtenir les coefficients du filtre récursif

(sous la forme d ’un filtre en treillis)

- Transmission des coefficients et du signal résiduel (erreur de prédiction) au récepteurqui en déduit la synthèse du signal

∑ +==

199

0)()(

tk ktxtxr

101 )10()1(1

1

)(

1−− +++

=zazazA L

49

Equations de Yule-Walker

50

Algorithme de Levinson-Durbin

51

Analyse par prédiction linéaire (3)

52

Codage prédictif linéaire (4)

53

Codage prédictif linéaire (5)

54

Codage prédictif linéaire (6)

55

Codage prédictif linéaire (7)

56

Vocodeur LPC

57

Codeur CELP

58

Codeur CELP

59

Codeur CELP (low delay)

60

7.1 Domaine temporel et fréquentiel des signaux

• L’analyse des signaux dans le domaine fréquentiel se fait avec l’opération de filtrage.

• Ex de filtres: passe bas, passe bande et passe haut

• Filtre: le signal d’entrée (fonction du temps) constitue l’excitation d’une fonction de transfert (qui caractérise le filtre). La sortie du filtre constitue un sous-ensemble du signal d’entrée.

• Ex. principe de base du filtrage passe-bas avec un signal d’entrée s1+s2 constitué par la somme de deux sinusoides (freq fondamentale et fréq harmonique, multiple de la freq fond).

• Passage de signal s à travers la fonction de transfer H(w) , la freq harmonique est éliminée, et il ne reste que le signal fondamental

• domaine temporel: f(t) -> h(t) -> y(t) = f(t) * h(t) (* convolution)

• fomaine fréquentiel: (w= 2pi f) F(w) -> h(w) -> Y(w) = F(w) H(w)

61

7.2 Modèles source-filtre pour des sons différents

• Sons voisés: train d'impulsion convolué par l'impulsion glottique

• Sons non voisés : bruit aléatoire avec amplitude ASi on suppose que l'on sait séparé les sons V/NV, et que le filtre change en fonction du voisement, on a la représentation suivante: pour une modèle source-filtre des signaux V/NV

• Ce modèle ne marche pas pour des fricatives. Dans ce cas on pourrait utiliser un modèle d'excitation mixte, utilisant pour des sons voisés une somme du train d'impulsion et du bruit coloré

• Principe: la sortie du filtre d'analyse (filtre inverse à court terme), qui est l'erreur de prédiction, est une image de l'excitation. Par conséquent, si on excite le filtre de synthèse par l'erreur de prédiction, on obtient comme parole synthétique la parole originale.

• Avec l’anlyse Linear Predictive Coding on va déterminer les coefficient du filtre prédictif (= vecteur paramétrique LPC).

62

7.3 Propriétes de l'analyse LPC

Filtre inverse optimisé

x[n]

u[n] Filtre de synthèse

s[n]

erreur de prédiction

Bruit blanc de variance unité

63

8. Débits des codeurs

• Catégorisation des codeurs selon leur débitdébit élevé: codeurs temporels -"waveform coders" (>16'000 bps)débit moyen: codeurs hybrides, forme d'onde +modéles de production de la

parole (2'4000 -> 16'000 bps) débit bas: codeurs paramétriques ou vocodeurs ("vocoders"), modèles de

production, (1'200 ->4'800 bps)débit très bas: (vo)codeurs segmentaux, reconnaissance de segments, tels que

phonèmes, unités automatiques (400-1'200 bps)

• Le débit influence la qualité de la parole transmise : intelligibiliténaturelleidentification du locuteurEvaluer par des test comparatifs (subjectifs) (comparer deux echantillons), MOS

("Mean Opinion Score") : évaluation par une population de sujets non entraînés, notes 1(mauvais) ->5 (excellent)

64

Débits de codage

1. Signal dans la bande téléphonique (fe = 8 kHz) Réseau téléphonique classique

64 kbits/s : MIC (PCM, G.711) norme CCITT en 1972 32 kbits/s : MICDA (ADPCM, G.721) en 1984 16 kbits/s : LD CELP en 1991

Téléphones mobiles 13 kbits/s : GSM (norme européenne) en 1989 6.5 kbits/s : ½ GSM (norme européenne) en 1991 8 kbits/s : norme nord-américaine en 1991

Communications sécurisées pour les liaisons entre organismes intergouvernementaux, applications militaires (norme OTAN), communications satellitaires (MSAT et INMARSAT)

2.4 kbits/s : standard gouvernemental américain LPC10

2. Signal en bande élargie (fe = 16 kHz) 64 kbits/s : norme G.722 (2 codages ADPCM distincts pour 2 sous-bandes)

3. Signal Hi Fi (fe = 44.1 kHz) 700 kbits/s : codage sur un CD-ROM

65

8.1 Évolution de la qualité des codeurs

1

2

3

4

5

1980 1990 2000

IndicativeQuality(MOS)

G.711(64 kb/s) G.721

(32 kb/s) G.729

(8 kb/s)

G.728(16 kb/s)

LPC 10(2,4 kb/s)

HSX(2,4 kb/s)

Consumer quality

Minimum qual. for Highcost application

Minimum qual. For lowcost application

1970 2010

ALISP(.4 kb/s)

Year

66

8.2 Comment conserver la qualité en diminuant le débit

• Exploiter les limites de l’audition

• Utiliser le modèle source-filtre de production de la parole

• Utiliser le concept de reconnaissance et de synthèse avec éventuellement des modèles de langage

67

8.3 Codeurs segmentaux

• Permettent la plus grande réduction du débit (<800bps), mais nécessitent des méthodes de reconnaissance des unités segmentales.

• Résultats similaires dans l'implémentation des systèmes dépendant du locuteur.

• Comment pourrait-on encore réduire le débit: en transmettant le texte reconnu, et en effectuant de la synthèse à partir du texte du coté du transmetteur.