Quand vous dites « ouvre », ce qui sort de votre bouche est une onde d'air. Un microphone la transforme en une suite de nombres. Puis, quelque part, quelque chose décide que cette suite signifie « ouvre ». Ce qui se passe entre les deux n'est pas la machine comprenant le langage — c'est bien plus modeste, et bien plus astucieux.
D'abord, qu'est-ce que la voix ?
À l'expiration, l'air venu des poumons fait vibrer les cordes vocales : environ cent à cent cinquante fois par seconde chez les hommes, deux cents à deux cent cinquante chez les femmes. Le bourdonnement brut ainsi produit est ensuite modelé par la gorge, les cavités nasales et la bouche.
Cette distinction compte. La source produite par les cordes et le filtre appliqué par la bouche sont deux choses différentes. Ce qui sépare une voyelle d'une autre n'est pas la vitesse de la vibration mais la forme que prend la bouche à cet instant. C'est cela qu'il faut enseigner à la machine.
De l'onde aux nombres
Pour faire entrer une onde continue dans un ordinateur, il faut l'échantillonner à intervalles réguliers. La règle classique dit : si la fréquence d'échantillonnage dépasse le double de la plus haute fréquence du signal, l'onde d'origine peut être reconstruite sans perte. Regardez assez souvent et rien ne disparaît.
Le signal est ensuite nettoyé : découpé en courtes fenêtres et passé dans des filtres. Le but est de réduire le bruit capté à l'enregistrement et de laisser quelque chose de plus stable.
Où commence la parole ?
Un microphone enregistre en continu, mais ce qui a été dit n'occupe qu'une petite partie de l'enregistrement. Le reste est silence et bruit de pièce. Le système doit d'abord trouver la parole.
Deux mesures simples suffisent : l'énergie d'un segment et le nombre de fois où le signal traverse le zéro. Dans le silence, l'énergie est faible. Dans les consonnes sifflantes, l'énergie est faible mais les passages par zéro sont nombreux. Regarder les deux ensemble sépare la parole du bruit avec une efficacité surprenante.
Comprimer le son en quelques nombres
Une seconde d'audio, ce sont des milliers d'échantillons. Les comparer directement est à la fois lourd et vide de sens. Chaque courte fenêtre est donc réduite à quelques coefficients décrivant la forme du conduit vocal à cet instant. La méthode s'appelle le codage prédictif linéaire.
L'idée est belle : essayez de prédire chaque échantillon comme une somme pondérée des quelques échantillons qui le précèdent. Ce qui porte l'information n'est pas la qualité de la prédiction, mais quels poids la rendent bonne. Ces poids encodent la géométrie du conduit vocal. Des milliers de nombres deviennent une poignée de coefficients.
Même mot, vitesse différente
Voici le vrai problème. La même personne dit « ouvre » deux fois, à des vitesses différentes. Les deux enregistrements n'ont pas la même longueur et leurs pics ne tombent pas au même endroit. Une comparaison point par point ne fonctionne pas.
La solution est la déformation temporelle dynamique : autoriser le temps à s'étirer. L'algorithme cherche le chemin qui relie le début d'une séquence au début de l'autre, la fin à la fin, en minimisant le désaccord total. Une syllabe étirée dans un enregistrement peut être appariée à une syllabe brève dans l'autre.
Intuition Étirer le temps
Imaginez deux bandes élastiques portant la même chanson écrite, dont l'une a été étirée. Posez-les côte à côte et cherchez le moindre étirement nécessaire pour aligner les lettres. La déformation temporelle dynamique fait exactement cela, avec des nombres.
Le système conserve un modèle enregistré pour chaque commande. À l'arrivée d'un nouvel énoncé, il le compare à chaque modèle et retient le coût le plus faible. Si ce coût passe sous un seuil fixé, la commande est reconnue ; sinon, le système dit honnêtement qu'il ne sait pas.
Où en est-on aujourd'hui ?
Cette architecture a été construite pour reconnaître quinze commandes en turc — les chiffres de zéro à neuf, plus ouvrir, fermer, effacer, annuler et rechercher. Pour un vocabulaire réduit et fermé, elle reste largement suffisante.
Les assistants vocaux d'aujourd'hui ne comparent pas des modèles ; ils utilisent des réseaux de neurones entraînés sur des millions d'heures de parole. La différence n'est pas seulement d'échelle : les nouveaux systèmes ne sont pas liés à un vocabulaire et savent traiter des phrases jamais entendues.
Les premiers maillons de la chaîne, eux, n'ont pas changé. Trouver où commence la parole, réduire le signal à des coefficients utiles, tolérer les décalages temporels — tout cela reste, sous une forme ou une autre, dans chaque système vocal.
Sur quoi repose cet article ?
Ce texte s'appuie sur la synthèse de Selim Kusursuz, Reconnaissance vocale en turc (2019), et sur le modèle qui y est étudié.
- Rabiner, Schafer, Digital Processing of Speech Signals.
- Baygün, Développement d'un système de reconnaissance vocale reconnaissant les commandes en turc, mémoire de master, Université de Pamukkale, 2006.
- LeCun, Bengio, Hinton, Deep learning, Nature, 2015.