Transcription et sous-titrage open-source, rapide et "gratuit"
Retranscrire des vidéos, c'est pas simple
Écrit par Denise, le 14/02/2023, écrit en 🇫🇷Bonjour ! Vous voulez transcrire et sous-titrer une vidéo rapidement, facilement* et gratuitement** avec des outils open-source ?
* facilement si vous avez un peu de compétences informatiques et que vous savez quoi faire avec un fichier .srt
** gratuitement dans le sens où vous êtes le produit - mais moins comparé aux autres solutions du type pour retranscrire (exemple, Otter.ai)
Voici ma solution pour transcrire et sous-titrer une vidéo de 30 minutes en 2h en utilisant Whisper, Subtitld et Google Colab.
Avant-propos
Google Colab est une espèce de machine mise à disposition pour vous, souvent utilisé dans des cadres académiques, où beaucoup de calculs sont nécessaires. Vous pouvez utiliser que le Python pour interfacer avec. Cette machine est très puissante, et comme nous allons tourner une intelligence artificielle, elle nous aidera à sous-titrer fiablement une vidéo en 15 minutes plutôt que 15 ans.
Je comprends si vous n'aimez pas Google, moi non plus - libre à vous d'utiliser votre machine pour tourner une intelligence artificielle, mais si vous avez ce genre d'argent en coûts d'électricité et matériel, payez un professionnel pour faire le soustitrage et la transcription.
Whisper est une intelligence artificelle de OpenAI qui peut retranscrire et sous-titrer un fichier audio. Elle le fait plutôt rapidement si elle est tournée dans une machine très puissante.
Subtitld est un logiciel de soustitrage. On l'utilisera uniquement pour corriger les fautes de Whisper.
Ce guide ne va pas vous montrer comment installer Whisper, vous allez utiliser un bloc-notes spécial en ligne qui peut executer du code, et qui a déjà du code dessus.
Préparation du bloc-notes Google Colab
Vous pouvez retrouver le bloc-notes en cliquant ici.
Il a été contribué par Jason Boog, dans le cadre de son blogpost sur Whisper.
En l'ouvrant, vous allez retrouver toute une interface qui ressemble à ça.
Votre premier objectif : passer la souris au dessus du rectangle de code, et cliquer sur l'icone d'execution.
À la fin de l'execution, l'interface vous montrera que c'est bon. Suivez le reste des steps et cliquez sur les blocs pour executer le code jusqu'au "Step Three".
Maintenant, il faut mettre votre audio. Après avoir obtenu l'audio MP3 de votre vidéo (à vous de trouver votre sauce pour faire ça), téléversez l'audio dans la machine sur laquelle vous travaillez.
Pour accomplir cela, vous pouvez cliquer en gauche, sur l'icone du dossier, puis bouton droit de la souris sur l'arborescence et cliquez "Upload".
Votre système vous montrera une fenêtre pour téléverser votre fichier.
Vous pouvez aussi ajouter du code pour que la machine télécharge un fichier distant. Cliquez sur +Code en haut de l'écran, et collez ce code, en remplacent <LIEN> avec votre URL, puis executez:
import os
os.system("wget <LIEN> -O /content/test.mp4")
Votre fichier n'apparaîtra pas sur votre arborescence après le téléversement tout de suite. Il faut cliquer sur le bouton de rafraichissement (PAS CELUI DU NAVIGATEUR !) en haut.
Là, vous pouvez mettre le nom de votre fichier en modifiant le code correspondant
au "Step Four". Vous pouvez aussi modifier la langue de votre transcription
en ajoutant au bloc de code
--language fr
(Ou une autre langue, regardez le
Github de Whisper pour les langues implémentées).
Restez sur l'onglet en attendant que la vidéo soit finie - à savoir que ça peut planter si trop de personnes utilisent Google Colab au même temps ou si la video est trop longue.
Quand Whisper aura fini de tourner, vous aurez quelques nouveaux fichiers dans votre arborescence, y compris un fichier .txt et .srt. Gardez les sur votre machine locale en cliquant par dessus avec le bouton droit et en cliquant "Download".
Correction des sous-titres
Whisper n'est pas parfait : si c'est un contexte où plein de personnes parlent, le minutage ne sera pas parfait. Ceci dit - je pense personnellement que même un professionnel aurait des soucis avec le minutage dans ce contexte. De manière générale, Whisper garde quand-même l'intégralité des informations importantes dans les soustitres.
Cependant, pour des anglicismes ou des expressions très spécialisées, Whisper a des difficultés. Il faut donc corriger les expressions qui sont mal entendues.
En ouvrant Subtitld, vous pouvez importer les sous-titres et la vidéo qui va avec.
Avec la touche Espace, vous pouvez arrêter et démarrer la video, et les sous-titres apparaîtront. Dès que vous entendez une incohérence, arrêtez-vous sur le moment précis, cliquez sur le sous-titre correspondant en bas de l'écran, et modifiez le texte qui apparaît sur le côté.
Quand vous aurez terminé, cliquez sur le bouton de sauvegarde en haut de l'écran.
Vous pouvez utiliser Aegisub pour le sous-titrage, mais c'est un enfer sur terre à mettre en place si vous êtes sur Linux. L'utilisation de ce logiciel est plus similaire à un tableur qu'à un créateur de sous-titres, mais il unit le travail de transcription et soustitrage.
Transcription
Pas d'outil spécial pour celle-là. Faudra formatter le .txt dans son traiteur de texte préféré. Un conseil ? Travaillez sur les sous-titres d'abord, et transformez les sous-titres en fichier texte, sur lequel vous poserez vos modifications plus tard.
Conclusion
J'espère avoir été assez concise dans mes propos.
Cliquez ici pour voir les sous-titres en action.
Ce blog post a été fait dans le cadre de mon travail avec La Contre-Voie . Je continue à travailler pour sous-titrer et transcrire leur contenu - si vous avez des alternatives, des suggestions, etc - venez en parler sur le salon Matrix #transcription-et-soustitrage:42l.fr. J'accepte aussi les mails via miaoutage@42l.fr.