Reverse email, phone number, username or name lookup - Predicta Search
Predicta
Search
Back to blog
tutorial
osint-tool

Outil OSINT : comment transcrire une vidéo

Predicta Lab

February 14, 2023 · 8 min read

Aujourd'hui, nous allons utiliser Whisper, un système de reconnaissance vocale automatique développé par OpenAI, pour obtenir la transcription d'une vidéo. Il prend en charge plus de 90 langues avec des degrés de fiabilité variables, mais il serait proche d'une « robustesse et d'une précision de niveau humain » pour l'anglais. Heureusement pour nous, il a été rendu accessible au public en open source en septembre dernier.

Cet article explique comment installer et utiliser Whisper avec peu de compétences en code. Nous le mettrons ensuite à l'épreuve avec une vidéo TikTok d'un soldat russe décrivant des combats par-dessus le bruit des explosions et une musique de fond.

Pourquoi ?

Les outils de transcription sont très précieux lorsqu'on enquête sur un sujet dans une langue que l'on ne parle pas : ils permettent de prendre en compte du contenu audio sans posséder les compétences linguistiques nécessaires et sans dépendre de sources secondaires. Malheureusement, ces outils ont tendance à n'être disponibles que pour la reconnaissance vocale en anglais, et ils sont souvent coûteux.

Ainsi, un système open source entraîné sur 680 000 heures de données multilingues a le potentiel d'être particulièrement utile.

Néanmoins, Whisper présente encore un frein à l'utilisation : il faut l'installer et l'utiliser en ligne de commande. Si vous êtes comme moi, cela peut suffire à vous décourager, mais rassurez-vous, j'ai accompli la tâche ingrate de comprendre comment l'installer et le faire fonctionner, pour pouvoir vous l'expliquer simplement.

Avertissement : Voici la procédure d'installation sur un système d'exploitation Mac. Si vous travaillez sous Windows ou Linux, vous trouverez des indications pour installer et utiliser Whisper ici et ici.

Comment ?

Installer les dépendances

1. Allez dans le Launchpad

2. Ouvrez le dossier « Autre »

3. Ouvrez l'application « Terminal »

Pour les instructions suivantes, tapez les commandes écrites en italique. Veillez à les recopier exactement, y compris les espaces et la casse des lettres.

4. Installez brew

La commande ci-dessous tient sur une seule ligne, vous n'avez pas besoin de revenir à la ligne en la copiant.

/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

5. Installez Python

brew install python

6. Vérifiez que l'installation a réussi

python3 --version

Si le terminal affiche « Python 3.0 » ou une version supérieure, l'installation a réussi.

7. Installez PyTorch

pip3 install torch torchvision torchaudio

8. Installez ffmpeg

brew install ffmpeg

Configurer Whisper

9. Créez un dossier dédié à Whisper

mkdir Whisper

10. Déplacez-vous dans ce dossier depuis le Terminal

cd Whisper

Avant de passer à l'étape suivante, il est utile de comprendre ce que sont les environnements virtuels. Un environnement virtuel est une fonction qui permet de garder les outils et leurs dépendances (comme Whisper et PyTorch) séparés du reste de votre machine, en créant un environnement virtuel Python isolé dans lequel les installer. Ainsi, si vous craignez d'installer ou de faire quelque chose que vous ne devriez pas, vous pouvez le faire dans un espace contrôlé qui n'affectera pas le reste de votre système et qui pourra facilement être supprimé en cas de problème.

11. OPTIONNEL : création de l'environnement virtuel dans un fichier

virtualenv -v venv

12. OPTIONNEL : basculer dans l'environnement virtuel

source venv/bin/activate

13. Installation de Whisper

pip install -U openai-whisper

Utiliser Whisper

Remarque : Whisper utilisant ffmpeg, il prend en charge les mêmes formats audio. Heureusement, ffmpeg prend en charge de nombreux formats différents ; tapez ffmpeg -formats dans la ligne de commande pour en voir la liste.

11. Utiliser Whisper pour la transcription de la parole en texte

Je vous suggère de placer le fichier audio dans le même dossier que Whisper, comme vous le feriez normalement, afin que votre [chemin relatif vers le fichier cible] soit simplement le nom du fichier (par exemple audio.wav).

whisper [chemin relatif vers le fichier cible] --model medium

Après avoir lancé cette commande, attendez que la transcription soit terminée. Le résultat devrait ressembler à ceci :

Vous retrouverez également ces résultats dans différents formats (.txt, .json, .srt, .tsv, .vtt) dans votre dossier Whisper.

Vous pouvez également demander à Whisper de traduire directement la transcription en anglais à l'aide des commandes suivantes :

15. OPTIONNEL : traduction directe de la parole transcrite

whisper [chemin relatif vers le fichier cible] --task translate

Cependant, d'après ce que j'ai pu observer, la traduction n'est pas aussi fiable que ce que l'on peut obtenir sur Deepl par exemple ; il est donc préférable de ne se fier à Whisper que pour la transcription de la parole en texte.

Le test

Nous allons maintenant vérifier si le résultat de la transcription de la parole en texte russe correspond à ce qui est dit dans la vidéo TikTok. Pour cela, j'ai demandé l'aide de notre analyste russophone. Bien qu'elle ne soit pas parfaitement bilingue, elle connaît suffisamment le russe pour reconnaître si le texte transcrit correspond à ce qui est dit dans la vidéo, ce qui est exactement ce dont nous avons besoin.

Sujet

Nous allons exécuter Whisper sur l'audio d'une vidéo TikTok. La vidéo montre un soldat russe interviewé non loin des combats. C'est un bon exemple, non seulement parce qu'elle est en russe, une langue que je ne parle pas mais que je rencontre souvent dans mes enquêtes, mais aussi parce que la parole y est parasitée par le bruit des explosions et une musique de fond. Il sera intéressant de voir si cela pose problème pour la reconnaissance de la parole ou non.

Contenu embarqué

Résultats

Le texte en cyrillique ci-dessous est la transcription du TikTok, telle que fournie par Whisper. L'analyste qui l'a corrigée est sûre à 80 % de l'exactitude de son travail.

La correspondance entre les phrases surlignées en jaune et l'audio n'a pu être ni confirmée ni infirmée. Ce sont des moments où le soldat ne parle pas clairement ou où les bruits de fond couvrent sa voix, rendant difficile toute certitude sur ce qu'il dit.

Par ailleurs, comme surligné en rose, Whisper n'a pas identifié les particules de liaison (« в » et « с ») et a donc mal transcrit l'acronyme « ВСУ » en « ССУ ».

Enfin, le texte écrit en rouge indique les moments où la parole n'a pas été transcrite par l'outil ; les phrases en rouge sont des propositions de transcription.

Dans l'ensemble, on peut estimer que Whisper est un outil puissant, qui a produit une transcription globalement fiable de la langue russe, malgré la dégradation de l'environnement sonore due à l'usage d'un langage familier, à la musique de fond et aux bruits de combat.

Limites

1. L'impact de l'extraction

Nous avons essayé d'exécuter Whisper sur deux fichiers différents du même audio : les deux sont le son extrait de notre vidéo TikTok, mais ils ont été extraits par des moyens différents.

La première procédure consistait à télécharger la vidéo depuis TikTok à l'aide de l'outil GitHub yt-dlp, puis à extraire le son dans un fichier .m4a séparé à l'aide de l'application QuickTime Player (Fichier > Exporter sous > Audio uniquement).

La seconde procédure téléchargeait directement le son au format .mp3 à l'aide de l'application en ligne SSSTIK.

Après avoir fait passer chaque fichier séparément dans Whisper, nous avons constaté de légères différences dans la transcription. Voici un tableau répertoriant tous les écarts, avec leur traduction selon Deepl Translates.

2. Le taux d'erreur selon la langue cible

Comme nous l'avons dit, Whisper prend en charge plus de 90 langues différentes. Cependant, il existe des disparités dans les taux d'erreur par mot (WER) selon les langues.

Le diagramme ci-dessous présente ces taux d'erreur pour chaque langue, appliqués au jeu de données Fleurs (couramment utilisé pour les benchmarks de transcription et de traduction). Les langues affichant des taux d'erreur plus faibles indiquent que leurs transcriptions sont plus fiables que celles des langues présentant des taux d'erreur plus élevés.

Comme indiqué en rouge, le russe affiche un taux d'erreur par mot de 5,6 %, ce qui le rend globalement fiable. En revanche, le chinois affiche un taux d'erreur par mot de 14,7 %, ce qui peut être significatif. Là encore, c'est un facteur à garder à l'esprit lors de l'utilisation de Whisper.

Conclusion

Whisper est un excellent outil de transcription pour de nombreuses langues, d'autant plus qu'il existe peu d'options abordables et variées pour la transcription de langues autres que l'anglais. Une fois le processus d'installation surmonté et les lignes de commande comprises, il permet de comprendre et d'analyser du contenu audio dans des langues que l'on ne maîtrise pas forcément. Personnellement, j'ai aussi été impressionnée par la qualité de la transcription malgré les éléments sonores parasitant la parole dans la vidéo testée (bruit de fond et musique). De plus, Whisper permet de ne pas dépendre de solutions externes et de réaliser la transcription localement, sur son propre ordinateur.

Néanmoins, cet outil n'est évidemment pas parfait : il est préférable de consulter le taux d'erreur par mot pour votre langue cible avant de vous fier à sa transcription, et vous devriez toujours évaluer l'impact des méthodes d'extraction du son lorsque vous utilisez Whisper.

Ces éléments à l'esprit, mon seul conseil est d'en profiter au maximum !

Si vous souhaitez être averti dès que nous publions de nouveaux contenus, n'hésitez pas à nous suivre sur Twitter, Youtube, et LinkedIn. Vous pouvez retrouver le reste de nos articles sur Medium.

Written by Predicta Lab

Don't miss our future newsletters !

Get the latest OSINT news, monthly recaps and product updates in your inbox.

More articles from Predicta Lab

GEOINT: Comment utiliser Overpass Turbo pour l'OSINT

February 21, 2024 · 8 min read

GEOINT: Comment utiliser Overpass Turbo pour l'OSINT

Overpass Turbo (OPT) permet de rechercher des informations cartographiées dans la base de données d'Open Street Map grâce à des requêtes en lignes de commande, c'est un outil de géolocalisation hors-pair. Cet article présente comment construire des requêtes simples afin de rendre cet outil accessible à tous.

tutorial
geoint
osint-tool
OSINT Tools: Facilitez vos investigations avec Tampermonkey

May 17, 2023 · 6 min read

OSINT Tools: Facilitez vos investigations avec Tampermonkey

Tampermonkey est une extension de navigateur qui permet d’ajouter ou de modifier les fonctionnalités des sites web que vous visitez : voyons comment créer ses propres userscripts pour gagner du temps dans vos investigations.

tutorial
osint-tool
Securi’Tips: Qu’est-ce que le phishing et comment le détecter sur smartphone ?

April 26, 2023 · 4 min read

Securi’Tips: Qu’est-ce que le phishing et comment le détecter sur smartphone ?

Malgré les apparences, ce message n’est pas envoyé par l’ANTAI : c’est un piège destiné à récupérer les informations de paiement du destinataire. Voyons ce qu’est exactement le phishing et comment le détecter sur smartphone.

tutorial
cybersecurity
phishing
Comment désindexer une page Google ?

March 9, 2023 · 12 min read

Comment désindexer une page Google ?

Vous avez sans doute déjà cherché votre nom sur Google, les résultats affichaient probablement des profils de réseaux sociaux et peut-être même des pages dont vous aviez oublié l'existence. Cet article va vous expliquer comment faire désindexer de Google une page web contenant vos données personnelles.

tutorial
digital-footprint
google
background shape