Testez pas à pas la retranscription automatique d’un fichier audio avec Whisper (OpenAI)

Après avoir, il y a quelques mois, tenter de « créer une religion en 10 minutes avec ChatGPT« , voici un second article d’exploration sur les possibilités nouvelles offertes par l’utilisation de l’intelligence artificielle, de manière plus sérieuse, et surtout bien plus utile. Voici la démarche la plus simple possible pour transcrire un fichier audio (ou le son d’une vidéo) en un fichier texte. Une fonctionnalité bien utile pour tous ceux qui, journalistes, écrivains, conférenciers, auteur de rapports, doivent passer de l’un à l’autre pour leur travail ou leurs créations.
Je vous propose d’utiliser la technologie développée à cette fin par OpenAI, la société à l’origine du moteur d’IA ChatGPT, présentée sous le nom de Whisper. Disponible en Opensource, elle s’utilise sans frais… à condition d’être prêt à quelques menues manipulations.

Il vous faut :
– Un navigateur (Chrome de préférence ici, et oui)
– Un compte Google (et oui)
– Votre fichier source, son ou vidéo.

Et c’est parti :

 

Installation des modules nécessaires en ligne
1. Ouvrez Google colaboratory (abrégé en Google colab), un service de travail partagé proposé par Google, et connectez-vous à votre compte Google (ou créez-en un).

2. Créez et nommez un nouveau notebook (Fichier > créer un nouveau notebook, puis modifier titre nom.ipynb

3. Dans le menu « Execution » aller dans « Modifier le type d’execution » et sélectionez « CPU T4 » si ce n’est déjà fait (cela va permettre d’utiliser le moteur graphique des serveurs de Google, et non la puissance de votre propre machine qui ralentirait considérablement le processus). Enregistrez.

4. Créer une nouvelle ligne de code vierge en cliquant sur le bouton « +Code » dans la barre horizontale de l’écran.

5. Entrez la ligne de commande dans ce nouvel espace:

!pip install git+https://github.com/openai/whisper.git

(Whisper étant en Opensource, vous pouvez trouver ces lignes de commandes sans risque de vous trompez sur le site github du projet : https://github.com/openai/whisper, n’oubliez pas d’ajouter le « ! » en début de ligne, sans espace)

6. Cliquez sur le bouton « lecture » à gauche de la ligne pour l’exécuter.

7. Quand l’encoche verte apparait, tapez une nouvelle ligne de commande « +Code » puis :
!sudo apt update && sudo apt install ffmpeg

8. Cliquez sur le bouton « lecture » à gauche de la ligne.

Importation de votre fichier (son ou vidéo, comme une session teams ou autre)
1. Sur la barre d’outils verticale à droite de l’écran, cliquez sur l’icône « dossier ».

2. Importez votre fichier en le glissant-déposant dans la fenêtre de gauche.

3. Un message vous indiquant que les fichiers seront supprimés à la fin de l’opération. Cliquez sur OK.

4. Laissez bien l’ensemble du fichier se télécharger, notamment s’il est volumineux (vérifiez l’état d’avancement du téléchargement en passant votre curseur sur le nom du fichier apparu dans la fenêtre verticale.)

5. Créez puis tapez une nouvelle ligne de commande (avec « +Code ») contenant le nom de votre fichier source et son extention (ici, un .wav) avec le modèle de description le plus évolué à l’heure actuel, le modèle large, évitant de nombreuses erreurs de retranscription :
!whisper "nom.wav" --model large-v3 --language fr

7. Appuyez sur « lecture »

La retranscription se lance, avec un timecode. Une fois terminée, vous pourrez facilement l’importer ou la partager en ligne pour la retravailler seul ou en groupe.
N’hésitez pas à proposer d’autres techniques, les plus simples possibles, en commentaire.

Enlever le timecode sur le fichier .srt

Il se peut que vous ayez envie d’enlever les nombreux timecode apparaissant avec la retranscription sur le fichier de sous-titre généré en .srt. Voici comment faire :

  1. Ouvrez votre fichier SRT avec un éditeur de texte.
  2. Mettez votre curseur au tout début de votre fichier
  3. Sélectionnez l’option “remplacer” (CTRL + H)
  4. Mettez dans “Rechercher” ^\R?(\d+)\R\d\d:\d\d.+\R
  5. Tapez dans “Remplacer par” $1 – (ou rien si vous ne voulez pas garder la numérotation)
  6. Cliquez sur “Expression Régulière » et décochez « Ajouter à chaque ligne »
  7. Vous tomberez alors sur la transcription numérotée (ou non)
  8. Enregistrez le fichier en format texte, en .doc ou .txt par exemple.