Générer des sous-titres automatiques à partir d'un fichier audio ou d'une vidéo youtube
J'utilise ici une base Linux Ubuntu qu'on peut facilement installer sous Windows avec WSL, (voir https://www.tutos.eu/3347 )
On va utiliser yt-dlp pour le téléchargement audio et Whisper pour la transcription locale.
Pour les vidéos youtube, il est plus simple de télécharger l'audio mp3 avec yt-dlp que de demander à yt-dlp de directement récupérer les sous-titres.
On va commencer par installer ffmpeg et python avec
sudo apt update
sudo apt install -y ffmpeg python3 python3-venv python3-pip pipx
Lien vers le fichier : cliquez ici
Maintenant qu'on a python et pipx, on peut installer yt-dlp avec
pipx install yt-dlp
pipx ensurepath
Lien vers le fichier : cliquez ici
Exemple de retour
Installer Whisper dans un venv (attention cela consomme plusieurs gigas)
python3 -m venv ~/whisper-env
source ~/whisper-env/bin/activate
pip install -U openai-whisper
Lien vers le fichier : cliquez ici
De là pour test l'aide de whisper doit être accessible
whisper --help
Lien vers le fichier : cliquez ici
Exemple
De là adaptez cette commande pour télécharger le mp3 d'une vidéo youtube (si vous devez récupérer le son d'une vidéo youtube)
yt-dlp -x --audio-format mp3 --write-auto-subs -o "Nom_de_ma_video_%(id)s.%(ext)s" <URL>
Lien vers le fichier : cliquez ici
Exemple
yt-dlp -x --audio-format mp3 --write-auto-subs -o "Buanderie_%(id)s.%(ext)s" https://www.youtube.com/watch?v=GEgAPrs5MQw
Lien vers le fichier : cliquez ici
Vous pouvez maintenant utiliser whisper pour générer les sous-titres en "l'activant" avec la commande source puis en lui demandant de traiter tous les fichiers mp3 présents
source ~/whisper-env/bin/activate && whisper *.mp3 --model small --language French
Lien vers le fichier : cliquez ici
Et là c'est parti pour la génération des sous-titres.
Le message UserWarning: FP16 is not supported on CPU; using FP32 instead
veut dire que le programme n'a pas trouvé de carte graphique donc il utilise le CPU à la place.
(whisper-env) myaccount@myubuntu:~$ source ~/whisper-env/bin/activate && whisper *.mp3 --model small --language French
100%|████████████████████████████████████████| 461M/461M [00:04<00:00, 114MiB/s]
/home/myaccount/whisper-env/lib/python3.12/site-packages/whisper/transcribe.py:132: UserWarning: FP16 is not supported on CPU; using FP32 instead
warnings.warn("FP16 is not supported on CPU; using FP32 instead")
[00:00.000 --> 00:02.280] Sur le papier, c'était une toute petite pièce.
[00:02.280 --> 00:05.280] Dans la réalité, c'était un chantier qui m'a clairement mise à l'épreuve.
[00:05.280 --> 00:06.560] Mais j'y ai énormément appris.
[00:06.560 --> 00:09.040] Et le résultat est clairement à la hauteur de mon épuisement.
[00:09.040 --> 00:13.360] Je vous partage cette aventure et je vous dirais aussi combien ça m'a coûté pour obtenir ce résultat.
[00:13.360 --> 00:16.600] Bienvenue dans ce nouveau chantier, j'ai nommé la buandrie.
Article(s) précédent(s)
Article(s) en relation(s)