# Comment transcrire de l’audio avec Whisper?

Date: 2022-10-01 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/transcrire-audio-avec-whisper/

**Answer:** Installez Whisper et l’outil audio gratuit ffmpeg, puis lancez une seule commande comme `whisper interview.mp3 --model small --language French` : Whisper écrit une transcription en texte brut et deux fichiers de sous-titres avec horodatage. Choisissez la taille de modèle que votre ordinateur peut gérer, indiquez-lui la langue et les noms difficiles, et vérifiez toujours le résultat à l’oreille.

Whisper, le modèle de reconnaissance vocale qu’OpenAI a publié en code source ouvert le 21 septembre, fonctionne sur votre propre ordinateur. Cela le rend utile précisément pour le genre d’enregistrement que bien des gens ont qui dort dans leur téléphone : une entrevue, une réunion, un cours ou un mémo vocal. Vous lui donnez un fichier audio, et il vous rend une transcription.

Ce guide suit une tâche réelle du début à la fin : une entrevue de 15 minutes enregistrée en français sur un téléphone, transformée en texte que vous pouvez citer et en sous-titres que vous pouvez joindre à une vidéo.

## Avant de commencer

Il vous faut trois choses :

1. **Python**, le langage de programmation dans lequel Whisper est écrit, en version 3.7 ou plus récente.
2. **ffmpeg**, un programme gratuit qui lit presque tous les formats audio et vidéo. Sur Mac, il s’installe avec Homebrew; sous Windows et Linux, avec les outils de paquets habituels.
3. **Whisper lui-même**, installé avec une seule commande `pip` tirée de sa page GitHub.

La première fois que vous utilisez un modèle, Whisper le télécharge automatiquement. Une **carte graphique** (GPU) accélère beaucoup le travail, mais les plus petits modèles fonctionnent aussi sur le processeur d’un ordinateur portable ordinaire, seulement plus lentement.

## Un exemple concret : transcrire une entrevue

Disons que le fichier s’appelle `entrevue-boulangere.m4a` : une boulangère d’un petit village parle de son commerce. Voici les étapes.

**Étape 1 : choisir un modèle.** La commande utilise le modèle **small** à moins que vous en choisissiez un autre. Small est un bon point de départ pour un ordinateur portable. Si votre machine a un GPU performant, **medium** est nettement plus exact.

**Étape 2 : lancer la commande.**

```prompt
whisper entrevue-boulangere.m4a --model medium --language French --initial_prompt "Entrevue avec Josée Lacasse, Boulangerie du Ruisseau, Saint-André-Avellin." -o transcripts
```

Chaque partie a un rôle :

| Partie | Ce qu’elle fait |
|---|---|
| `--model medium` | Choisit la taille du modèle |
| `--language French` | Saute la détection automatique, qui autrement devine la langue à partir des 30 premières secondes |
| `--initial_prompt "…"` | Donne au modèle un texte de départ, ce qui aide pour les noms, les lieux et l’orthographe |
| `-o transcripts` | Enregistre les résultats dans un dossier appelé `transcripts` |

Les noms de cet exemple sont inventés; utilisez les vrais noms et lieux de votre propre enregistrement. Un prompt rédigé en français pousse aussi le modèle vers la ponctuation et les accents du français.

**Étape 3 : lire les résultats.** Whisper affiche chaque ligne avec son horodatage au fur et à mesure. Quand il a terminé, le dossier contient trois fichiers qui portent le même nom que l’audio :

- `.txt` : la transcription brute, prête à coller dans un document.
- `.srt` et `.vtt` : deux formats de sous-titres courants, où chaque ligne est liée à une heure de début et de fin, prêts à charger dans un logiciel de montage vidéo ou un lecteur Web.

**Étape 4 : vérifier.** Faites jouer l’audio pendant que vous lisez le texte. Portez une attention particulière aux noms, aux nombres et aux premiers et derniers mots de chaque segment, que l’article sur Whisper compte parmi les endroits où les erreurs ont tendance à se glisser. Whisper peut aussi rester coincé à répéter une phrase ou, plus rarement, écrire une phrase que personne n’a dite. Pour tout ce que vous publierez ou citerez, une écoute attentive n’est pas facultative.

Si vous préférez Python, la même tâche tient en quelques lignes : chargez un modèle, appelez `transcribe` sur le fichier, et vous obtenez un dictionnaire contenant le texte complet, une liste de segments horodatés et la langue détectée.

> **À essayer :** enregistrez-vous pendant deux minutes en train de décrire votre rue, en mentionnant au moins deux noms de lieux locaux. Transcrivez l’enregistrement une fois sans prompt et une fois avec un `--initial_prompt` qui énumère ces noms. Comparez les deux fichiers `.txt` et comptez les différences.

## Obtenir de meilleurs résultats

Quelques habitudes font une grande différence :

- **Enregistrez proprement.** Placez le téléphone près de la personne qui parle, loin d’un réfrigérateur ou d’un moulin à café. Whisper gère le bruit mieux que bien des systèmes, mais un audio propre reste gagnant.
- **Montez d’une taille pour le travail important.** Les plus gros modèles sont plus lents, mais font moins d’erreurs, surtout dans les langues autres que l’anglais.
- **Servez-vous des sous-titres pour vous repérer.** Même si vous n’avez besoin que du texte, le fichier `.srt` vous indique exactement où se trouve chaque phrase dans l’enregistrement, ce qui accélère beaucoup la vérification.
- **Pensez à la confidentialité.** Comme Whisper fonctionne sur votre propre machine, l’enregistrement n’a pas à quitter votre ordinateur, ce qui compte pour les entrevues confidentielles.

## Quelle est son exactitude en français?

Le français est l’une des langues où Whisper est le plus fort après l’anglais. Ses données d’entraînement comprenaient 9 752 heures de parole française avec transcriptions, l’une des plus grandes parts parmi toutes les langues.

L’article mesure l’exactitude avec le **taux d’erreur sur les mots** (WER, pour *word error rate*) : la proportion de mots que le modèle rate, en les remplaçant, en les omettant ou en les ajoutant. Plus il est bas, mieux c’est; un WER de 10 % signifie qu’environ un mot sur dix doit être corrigé. Voici ses résultats en français sur trois jeux de test publics :

| Jeu de test (type de parole) | Modèle small | Medium | Large |
|---|---|---|---|
| Multilingual LibriSpeech (livres audio) | 16,2 % | 8,9 % | 8,9 % |
| Common Voice 9 (bénévoles qui lisent des phrases) | 22,7 % | 16,0 % | 14,7 % |
| FLEURS (phrases lues, nombreux locuteurs) | 15,0 % | 8,7 % | 7,7 % |

Deux leçons ressortent. D’abord, la taille du modèle compte énormément en français : sur les tests de livres audio et de FLEURS, le modèle small fait presque deux fois plus d’erreurs que medium, alors qu’en anglais l’écart entre les deux est beaucoup plus mince. Ensuite, les résultats varient selon le genre d’enregistrement, si bien que le même modèle peut être très bon sur une lecture claire et plus faible sur un audio informel ou amateur.

Ces jeux de test sont surtout composés de parole lue, et l’article ne donne pas de résultats par accent; ils en disent donc peu sur une entrevue au débit rapide en français québécois, pleine d’expressions locales. L’approche pratique consiste à le tester vous-même : transcrivez quelques minutes du genre d’audio que vous avez réellement avec les modèles small et medium, comparez-les à l’enregistrement, et choisissez le plus petit modèle qui vous donne un texte que vous acceptez de corriger.

## Sources

- whisper/transcribe.py (command-line options, commit of 30 September 2022): https://github.com/openai/whisper/blob/0b1ba3d46ebf7fe6f953acfd8cad62a4f851b49f/whisper/transcribe.py
- Robust Speech Recognition via Large-Scale Weak Supervision: https://cdn.openai.com/papers/whisper.pdf
- openai/whisper (README): https://github.com/openai/whisper
