Travail préparatoire pour le TP de « Signaux aléatoires »

RoboVox - Algorithme d’analyse-synthèse de signaux de parole par modélisation autorégressive

Auteur

Simon Leglaive

Date

2025

1 Objectifs du TP

Dans le cours d’introduction, nous avions vu qu’une approche probabiliste permet de décrire mathématiquement le fait qu’un même phénomène physique peut engendrer des signaux différents. Nous avions illustré cela avec un exemple en traitement de la parole, où une même voyelle avait été vocalisée plusieurs fois dans des conditions très contrôlées (même locutueur, même environnement sonore, même microphone, même hauteur de voix, etc.) Nous avions alors pu observer des régularités mais aussi de nombreuses variations entre les enregistrements de ces voyelles. Cela nous avait finalement amené à considérer les signaux audio numériques correspondants à ces enregistrements comme des réalisations d’un processus aléatoire \(\{X(t) \in \mathbb{R}\}_{t\in \mathbb{Z}}\).

Dans ce TP, nous allons aller un cran plus loin en posant un modèle pour le processus \(\{X(t) \in \mathbb{R}\}_{t\in \mathbb{Z}}\), modèle inspiré des mécanismes physiologiques de production de la parole. Ce modèle nous permettra de développer un algorithme d’analyse, transformation et synthèse d’un signal de parole. L’objectif final étant de créer un convertisseur de voix robotique, d’où le nom du TP « RoboVox ».

2 Introduction au traitement de la parole

2.1 Production de la parole

Regardez la vidéo ci-dessous sur les principes de base de la production de la parole :

Exercice 1

  • Question 1 : Expliquez la différence entre un son de parole voisé (voiced) et non voisé (unvoiced).
  • Question 2 : Indiquez si les phonèmes suivants sont voisés ou non voisés :
    1. /e/ comme dans blé ;
    2. /p/ comme dans père ;
    3. /d/ comme dans dans ;
    4. /f/ comme dans feu ;
    5. /z/ comme dans zéro.
  • Question 3 : Quelles consonnes voisées obtient-on à partir des consonnes non voisées suivantes si on fait vibrer les cordes vocales :
    1. /p/ comme dans père ;
    2. /t/ comme dans terre ;
    3. /k/ comme dans cou ;
    4. /f/ comme dans feu ;
    5. /s/ comme dans sale ;
    6. /ʃ/ comme dans chat.

2.2 Hauteur de la voix

Regardez la vidéo ci-dessous sur la notion de hauteur de la voix :

2.3 Résonances et formants

Regardez la vidéo ci-dessous expliquant comment le conduit vocal agit comme un filtre présentant des résonances à certaines fréquences appelées « formants »

2.4 Modèle source-filtre de production de la parole

Figure 1: Illustration du modèle source-filtre de production de la parole dans le cas d’une voyelle.

Dans la production de la parole, l’énergie provient de l’air expulsé par les poumons. Au niveau du larynx, le flux d’air passe entre les cordes vocales, puis traverse le conduit vocal qui est composé de trois cavités : le pharynx, la cavité buccale et la cavité nasale. Le son de la parole est finalement émis par les ouvertures de la bouche et du nez.

Le modèle source‑filtre de production de la parole, proposé par Gunnar Fant en 1960, est à la base de nombreux systèmes de traitement de la parole, notamment pour la compression. Ce modèle, illustré Figure 1, considère que la production de la parole résulte de l’interaction d’une source sonore à spectre relativement plat avec un filtre linéaire variant dans le temps. Pour les sons voisés, la source provient de la vibration des cordes vocales, qui produit une onde glottale quasi‑périodique caractérisée par sa fréquence fondamentale, définissant la hauteur de la voix. Pour les sons non‑voisés, la source peut être un bruit de frottement produit par un flux d’air turbulent au niveau d’une constriction du conduit vocal (donnant ce qu’on appelle une fricative) ou une impulsion acoustique liée à une occlusion brève (donnant ce qu’on appelle une plosive). Ces trois sources de parole élémentaires (source quasi-périodique, fricative, ou plosive) peuvent apparaître isolément ou combinées. Elles sont ensuite modifiées par le conduit vocal avant d’être rayonnées vers l’extérieur. L’effet du conduit vocal sur la source peut être vu comme un filtrage linéaire acoustique. Les trois cavités du conduit vocal engendrent des résonances appelées formants, caractérisables par leur fréquence, leur amplitude et leur largeur de bande. En déplaçant les articulateurs — la langue, les lèvres, et la mâchoire (voir vidéo ci-dessous) — l’humain modifie la géométrie du conduit vocal, ce qui change le filtre acoustique et les résonances associées. C’est ainsi que sont produits les sons élémentaires de la parole, les phonèmes, qui constituent la base de nombreuses langues parlées.

IRM en temps réel d’une personne en train de parler.

Pour les phonèmes voisés, les humains peuvent contrôler les formants indépendamment de la hauteur de la voix : on peut modifier le filtre sans changer la source. Cette indépendance entre la source et le filtre est illustrée Figure 2, où sont tracés les spectres et les enveloppes spectrales de quatre voyelles françaises. Les enveloppes spectrales montrent que les trois premiers formants varient selon la voyelle, tandis que la fréquence fondamentale reste constante (ceci se voit dans la structure harmonique des spectres). Les formants sont des caractéristiques discriminantes des voyelles : le premier formant caractérise l’ouverture de la bouche, le second renseigne sur l’antériorité de la langue et le troisième est lié à l’arrondissement des lèvres.

Des algorithmes de traitement du signal basés sur le modèle source‑filtre permettent d’analyser et de synthétiser de la parole. Dans sa forme la plus simple, la source est modélisée par un train d’impulsions périodique pour les sons voisés, ou par du bruit blanc pour les sons non‑voisés. Le conduit vocal est modélisé par un filtre tout‑pôles dont les coefficients peuvent être estimés par prédiction linéaire à partir d’un segment de parole stationnaire, comme nous allons le voir par la suite. La convolution de la source avec la réponse impulsionnelle du filtre donne alors le signal de parole synthétisé.

Figure 2: Spectre de puissance (ligne noire continue) et enveloppe spectrale (ligne orange en pointillés) pour quatre voyelles françaises prononcées par un locuteur masculin.

3 Etude théorique

Nous allons maintenant mettre en équations le modèle source-filtre de la parole discuté ci-dessus, ce qui nous permettra ensuite de dériver et implémenter un algorithme pour l’analyse, la transformation et la synthèse de signaux de parole.

3.1 Modèle autorégressif d’ordre \(P\)

Nous considérons le modèle autorégressif d’ordre \(P\), ou \(AR(P)\), suivant :

\[ X(t) + \sum_{i=1}^P a_i X(t-i) = W(t), \tag{1}\]

\(\{W(t)\}_t\) est un bruit blanc gaussien de variance \(\sigma^2\) et le polynôme \(A(z)=1+\sum_{p=1}^P a_p z^{-p}\) vérifie \(A(z)\neq 0\) pour \(|z|\ge 1\).

Nous avons vu en cours que l’unique solution de l’Équation 1 s’écrit :

\[ X(t) = \sum_{k=0}^{+\infty} h_k W(t-k) = [W \star h](t) \tag{2}\]

\(\star\) désigne l’opérateur de convolution. \(\{X(t)\}_t\) correspond ainsi au filtrage à réponse impulsionnelle infinie de \(W(t)\), dont la fonction de transfert est :

\[\displaystyle H(z)=\frac{1}{A(z)}=\sum_{k=0}^{+\infty} h_k z^{-k}. \tag{3}\]

Les coefficients \(\{h_k\}_{k\ge0}\) sont les coefficients de la réponse impulsionnelle du filtre. Cette fonction de transfert présente des résonances aux zéros de \(A(z)\), qui correspondent aux pôles du filtre.

Pour la modélisation de la parole, \(W(t)\) représente la source non‑voisée, \(H(z)\) la fonction de transfert du conduit vocal et \(X(t)\) le signal de parole résultant. En pratique, pour les sons voisés, on modifie uniquement la source \(W(t)\) en la modélisant par un train d’impulsions périodique. Pour l’analyse théorique on supposera toutefois que \(\{W(t)\}_t\) est un bruit blanc gaussien.

Nous avons vu en cours que sous ce modèle autorégressif \(\{X(t)\}_t\) est un processus aléatoire stationnaire au sens large (SSL), et donc :

  • l’espérance \(\mathbb{E}[X(t)]=0\) ne dépend pas de \(t\) ;
  • la variance \(\mathbb{E}[|X(t)|^2]<\infty\) ;
  • la fonction d’autocovariance \(R(k)=\mathbb{E}[X(t+k)X(t)]\) ne dépend que de \(k\).

On sait que la fonction d’autocovariance est paire, i.e., \(R(-k)=R(k)\), on limitera donc par la suite l’étude à \(k\ge0\).

3.2 Equations de Yule-Walker

Exercice 2

  • Question 1 : Donner l’expression de \(\mathbb{E}[X(t)W(t+k)]\) en différenciant les cas \(k = 0\) et \(k > 0\).

  • Question 2 : En déduire les relations suivantes entre la fonction d’autocovariance \(R(k)=\mathbb{E}[X(t+k)X(t)]\) du processus et les paramètres \(\{a_i\}_{i=1}^P\) et \(\sigma^2\) du modèle :

    \[R(k) + \sum_{i=1}^P a_i R(k-i) = 0, \qquad \forall k \ge 1. \tag{4}\] \[R(0) + \sum_{i=1}^P a_i R(i) = \sigma^2. \tag{5}\]

    On peut réécrire ces deux équations sous forme matricielle afin d’obtenir ce qu’on appelle les équations de Yule-Walker :

    \[ \begin{equation} \begin{pmatrix} R(0) & R(1) & \cdots & R(P) \\ R(1) & R(0) & \cdots & R(P-1) \\ \vdots & \vdots & \ddots & \vdots \\ R(P) & R(P-1) & \cdots & R(0) \end{pmatrix} \begin{pmatrix} 1 \\ a_1 \\ \vdots \\ a_P \end{pmatrix}= \begin{pmatrix} \sigma_w^2 \\ 0 \\ \vdots \\ 0 \end{pmatrix}. \end{equation} \tag{6}\]

    Dans l’Équation 6 nous avons un système de \(P+1\) équations à \(P+1\) inconnues, que nous pouvons résoudre afin d’estimer les paramètres du modèle \(AR(P)\).

  • Question 3 : En pratique, nous observons \(T\) échantillons consécutifs \(\{X(t)\}_{t=1}^T\) considérés comme des réalisations du processus aléatoire. Par quoi pouvons-nous remplacer la fonction d’autocovariance théorique dans l’Équation 6 afin de résoudre en pratique ce système d’équations ?

3.3 Densité spectrale de puissance

Nous avons vu en cours qu’un processus \(AR(P)\) admet une densité spectrale de puissance (DSP), définie comme la transformée de Fourier à temps discret (TFTD) de la fonction d’autocovariance, et qui s’écrit sous la forme :

\[ S_{XX}(\nu) = | H(\nu) |^2 S_{WW}(\nu), \qquad \nu \in [0,1[. \tag{7}\]

Dans la suite, nous appelerons \(|H(\nu)|^2\) l’enveloppe spectrale du signal de parole.

Exercice 3

  • Question 1 : Rappelez ce que représentent \(H(\nu)\) et \(S_{WW}(\nu)\) et donnez leur expression.

  • Question 2 : En pratique, nous observons \(T\) échantillons consécutifs \(\{X(t)\}_{t=1}^T\) considérés comme des réalisations du processus aléatoire. Donnez le nom et l’expression de l’estimateur de la DSP vu en cours.

  • Question 3 : En raisonnant dans le domaine spectral, expliquez pourquoi la modélisation \(AR(P)\) est cohérente avec le modèle source-filtre de production de la parole ?

3.4 Codage par prédiction linéaire

Le modèle source‑filtre indique qu’un signal de parole résulte du filtrage tout‑pôles d’une source, ce que nous avons formalisé ci‑dessus dans le domaine temporel par l’Équation 1 et dans le domaine fréquentiel par l’Équation 7. Nous allons maintenant montrer que ce même modèle peut être interprété sous l’angle de la prédiction linéaire.

La prédiction linéaire consiste à prédire l’échantillon d’un signal à un instant discret donné comme une combinaison linéaire des échantillons passés. On définit ainsi la prédiction linéaire d’ordre \(P\) de \(X(t)\) par :

\[\hat{X}(t) = - \sum_{i=1}^P a_i X(t-i). \tag{8}\]

Cette prédiction est possible pour des signaux dont les échantillons sont corrélés, ce qui est le cas de nombreux signaux naturels, notamment la parole. Le traitement du signal vise à traduire cette structure en modèles mathématiques permettant de dériver des algorithmes. Le fait que les échantillons d’un signal de parole soient corrélés implique que l’on peut le compresser sans trop de perte d’information. C’est le principe du codage prédictif linéaire (LPC), à la base de la voix sur IP (VoIP).

La LPC permet de calculer une représentation compressée du signal de parole (à l’encodeur) correspondant aux paramètres \(\{a_i\}_{i=1}^P\) (et quelques autres). Ces paramètres peuvent être transmis avec un débit bien inférieur à celui nécessaire pour transmettre le signal sous sa forme d’onde, puis utilisés pour reconstruire la parole au décodeur. C’est le principe de l’algorithme LPC‑10 développé en 1984. L’algorithme CELP (code‑excited linear prediction), proposé en 1985, a ensuite apporté une qualité nettement supérieure ; CELP est notamment utilisé dans la norme MPEG‑4 Audio.

Exercice 4

  • Question 1 : Montrer que la minimisation de l’erreur quadratique \(\mathcal{L}(a_1, a_2, ..., a_P) = \mathbb{E}[(X(t) - \hat{X}(t))^2]\) par rapport aux coefficients \(\{a_i\}_{i=1}^P\) permet de retrouver l’Équation 4 pour \(k \in \{1,...,P\}\).

    Rappelons que l’extremum d’une fonction quadratique se trouve en annulant sa dérivée. On cherchera donc simplement à annuler la dérivée partielle de \(\mathcal{L}\) par rapport à \(a_k\), \(k=1,...,P\). On ne cherchera pas à vérifier que cet extremum est bien un minimum (il faudrait pour cela montrer que la matrice Hessienne est semi-définie positive).

  • Question 2 : Montrer que l’expression de \(\sigma^2\) à l’Équation 5 correspond à l’expression de l’erreur quadratique minimale.

  • Question 3 : Conclure sur le lien entre le problème de la résolution des équations de Yule-Walker et le problème de la prédiction linéaire.