Speech-to-Text
La conversion de la parole en texte (STT), ou reconnaissance automatique de la parole, transcrit la parole à l’aide de modèles neuronaux comme Whisper ; sa qualité est évaluée selon le taux d’erreur par mot.
La conversion de la parole en texte (STT), également appelée reconnaissance automatique de la parole (ASR) ou simplement reconnaissance vocale, convertit le signal audio parlé en texte écrit. Un modèle STT transforme une forme d’onde en représentation temps-fréquence, la convertit en caractères ou en fragments de mots à l’aide d’un réseau neuronal, puis produit une transcription, souvent avec la ponctuation, des horodatages et l’identification des personnes qui parlent. Elle constitue la couche d’entrée des assistants vocaux, des sous-titres en direct, des comptes rendus de réunion et de l’analyse des appels ; ses transcriptions alimentent le traitement automatique du langage naturel (NLP) pour la recherche, le résumé et la détection d’intention. Le préentraînement auto-supervisé sur des données audio non étiquetées et l’apprentissage faiblement supervisé à grande échelle, comme celui de Whisper d’OpenAI, entraîné sur 680 000 heures d’audio multilingue provenant d’Internet, ont rendu les systèmes modernes précis malgré les accents, le bruit de fond et des dizaines de langues.
Fonctionnement de la conversion de la parole en texte#
L’audio est d’abord rééchantillonné — à 16 kHz pour Whisper — puis converti en spectrogramme log-mel, une grille représentant l’énergie par bande de fréquence au fil du temps. Whisper calcule 80 bandes mel sur des fenêtres de 25 millisecondes toutes les 10 millisecondes, et son modèle large-v3 utilise 128 bandes. Un encodeur acoustique, composé de couches convolutives et de transformeur, transforme ces trames en caractéristiques. L’encodeur Conformer alterne les convolutions, qui capturent les motifs sonores locaux, et l’auto-attention, qui relie les parties éloignées d’un énoncé ; il a atteint des taux d’erreur de mots de 2,1 % et 4,3 % sur les ensembles test-clean et test-other de LibriSpeech sans modèle de langage externe. Trois familles de décodeurs convertissent les caractéristiques de l’encodeur en texte :
- Classification temporelle connexionniste (CTC) : prédit un caractère, un fragment de mot ou un blanc pour chaque trame audio, puis regroupe les répétitions et supprime les blancs. Toutes les trames sont décodées en parallèle, ce qui rend la CTC rapide.
- Transducteurs : RNN-T et ses successeurs émettent des jetons à mesure que les trames audio arrivent ; ils conviennent donc à la reconnaissance en continu sur les téléphones et pour les sous-titres en direct.
- Décodeurs encodeurs à attention : un décodeur de texte génère les jetons un par un tout en portant son attention sur l’audio encodé. Whisper décode ainsi des fenêtres de 30 secondes et utilise des jetons spéciaux pour également identifier la langue, prédire les horodatages ou traduire en anglais.
Les systèmes en continu affichent des transcriptions partielles qui changent à mesure que l’audio arrive et finalisent un segment lorsque la personne qui parle fait une pause :
Après le décodage, la normalisation inverse du texte réécrit les formes parlées comme « vingt-cinq dollars » sous la forme « 25 $ », et la diarisation des locuteurs répartit la transcription selon qui a parlé et à quel moment.
Données d’entraînement et modèles#
- Préentraînement auto-supervisé : le modèle wav2vec 2.0 de Meta apprend des représentations de la parole en masquant des parties d’audio non étiqueté. Préentraîné sur 53 000 heures de parole non étiquetée et affiné avec seulement 10 minutes d’audio transcrit, il a atteint des taux d’erreur de mots de 4,8 % et 8,2 % sur les ensembles de test clean et other de LibriSpeech.
- Supervision faible à grande échelle : Whisper s’entraîne sur des fichiers audio associés aux transcriptions imparfaites trouvées en ligne. Ses modèles vont de 39 millions de paramètres pour tiny à 1,55 milliard pour large ; le modèle turbo, une version optimisée de large-v3 avec 809 millions de paramètres, fonctionne environ 8 fois plus vite que large.
- Hallucination : les décodeurs à attention se comportent comme des modèles de langage, si bien que le silence ou le bruit peut les amener à inventer un texte fluide. L’étude Careless Whisper a constaté qu’environ 1 % des transcriptions de Whisper contenaient des phrases ou des phrases entières absentes de l’audio, plus souvent lorsque les personnes qui parlaient faisaient de longues pauses.
Conversion de la parole en texte et termes apparentés#
- Reconnaissance vocale et ASR : synonymes de conversion de la parole en texte.
- Reconnaissance et diarisation des locuteurs : déterminent qui parle plutôt que ce qui a été dit. La diarisation étiquette les segments d’un enregistrement selon le locuteur, ce qui permet d’attribuer chaque réplique dans la transcription d’une réunion.
- Compréhension du langage naturel (NLU) : interprète le sens de la transcription, par exemple l’intention et les entités dans « réserver une table pour deux à sept heures ».
- Synthèse vocale (TTS) : le processus inverse, qui génère de la parole à partir d’un texte. Les assistants vocaux enchaînent la STT, un grand modèle de langage et la TTS.
Applications concrètes#
- Sous-titres et accessibilité : les sous-titres en direct sur les téléphones, les plateformes vidéo et les logiciels de réunion rendent la parole accessible aux personnes sourdes et malentendantes, et consultable par tout le monde.
- Documentation clinique : les assistants de transcription ambiante transcrivent les conversations entre médecins et patients et rédigent des notes cliniques pour le dossier médical électronique.
- Centres de contact : les appels transcrits alimentent les outils de recherche, les contrôles de conformité et l’analyse des sentiments.
- Commande vocale des systèmes de vision : une commande transcrite telle que « trouver le sac à dos rouge » devient une invite textuelle pour YOLOE-26, la version à vocabulaire ouvert d’Ultralytics YOLO26, qui détecte et segmente les catégories nommées au moment de l’inférence, même si elles ne figuraient pas dans ses classes d’entraînement.
Mesure de la précision#
Le taux d’erreur de mots (WER) compte les substitutions, suppressions et insertions nécessaires pour transformer la transcription en transcription de référence, puis divise ce nombre par le nombre de mots de référence. Ce code le calcule à l’aide de la distance d’édition au niveau des mots :
import numpy as np
reference = ["turn", "on", "the", "kitchen", "lights"]
hypothesis = ["turn", "of", "the", "kitchen", "light", "please"]
# Edit distance over words: d[i, j] is the cheapest way to turn the first i reference words into the first j hypothesis words
d = np.zeros((len(reference) + 1, len(hypothesis) + 1), dtype=int)
d[:, 0] = np.arange(len(reference) + 1) # deletions
d[0, :] = np.arange(len(hypothesis) + 1) # insertions
for i in range(1, len(reference) + 1):
for j in range(1, len(hypothesis) + 1):
substitution = d[i - 1, j - 1] + (reference[i - 1] != hypothesis[j - 1])
d[i, j] = min(substitution, d[i - 1, j] + 1, d[i, j - 1] + 1)
# Word error rate: (substitutions + deletions + insertions) / words in the reference
print(f"{d[-1, -1]} errors / {len(reference)} words = WER {d[-1, -1] / len(reference):.0%}")Le code affiche 3 errors / 5 words = WER 60% : « of » remplaçant « on » et « light » remplaçant « lights » sont des substitutions, tandis que « please » est une insertion. Comme les insertions sont comptabilisées, le WER peut dépasser 100 %, et les benchmarks tels que l’Open ASR Leaderboard normalisent la casse, la ponctuation et les variantes orthographiques avant l’évaluation, afin que « Lights. » et « lights » correspondent. Les langues qui s’écrivent sans espaces entre les mots, comme le chinois et le japonais, sont plutôt évaluées à l’aide du taux d’erreur de caractères.










