Table des matières


Créé le: 2025-11-04 ; Révisé le: 2025-11-04

Whisper - Reconnaissance automatique de la parole

Vidéo (16 minutes)

Introduction (00:00)

Whisper est un logiciel créé par OpenAI qui permet de reconnaître automatiquement la parole dans des fichiers audio et vidéo. Il génère plusieurs fichiers de sortie :

  • Un fichier texte complet qui peut être utilisé pour faire des sommaires avec un AI
  • Un fichier SRT pour les sous-titres (compatible avec VLC et autres lecteurs vidéo)
  • D’autres formats de sortie pour différents usages

Bien que quelques mots puissent nécessiter des corrections, la qualité est généralement excellente selon le modèle utilisé. Le modèle medium est particulièrement bon pour le français.

Whisper peut être utilisé de deux façons :

  • Via l’API OpenAI (payante)
  • En installation locale (Open Source)

Liens officiels :

Utiliser sans installation avec Docker (02:15)

L’utilisation avec Docker est la façon la plus simple d’utiliser Whisper sans avoir à l’installer localement. Une image Docker pré-configurée est disponible sur GitHub.

Choix du modèle

Le modèle medium est suggéré pour le français. Les modèles plus petits (Small, Base, Tiny) donnent des résultats moins satisfaisants en français, même s’ils peuvent être acceptables pour l’anglais.

Le modèle large est plus performant, mais nécessite idéalement un GPU pour être utilisé efficacement.

Avec GPU (Nvidia recommandé)

Note: La configuration GPU avec Docker peut être complexe, surtout dans WSL (Windows Subsystem for Linux). Nvidia est plus simple à configurer qu’AMD.

docker run -ti --rm \
    --gpus all \
    -v $(pwd):/workspace \
    -v ~/.cache/whisper:/root/.cache/whisper \
    foilen/fdi-openai-whisper:latest \
    whisper --model medium audio.mp3

Sans GPU (CPU uniquement)

Le processeur normal fonctionne très bien avec le modèle medium, même si c’est plus lent qu’avec un GPU.

docker run -ti --rm \
    -v $(pwd):/workspace \
    -v ~/.cache/whisper:/root/.cache/whisper \
    foilen/fdi-openai-whisper:latest \
    whisper --model medium audio.mp3

Explication des paramètres:

  • -v $(pwd):/workspace : Monte le répertoire courant dans le conteneur
  • -v ~/.cache/whisper:/root/.cache/whisper : Cache le modèle téléchargé pour éviter de le re-télécharger à chaque utilisation (1.42 GB pour le modèle medium)
  • --model medium : Spécifie le modèle à utiliser
  • La première exécution sera plus long dû au téléchargement du modèle, mais les utilisations suivantes seront instantanées

Processus d’exécution (05:32)

Lorsque Whisper s’exécute :

  1. Détection de la langue : Analyse les 30 premières secondes pour détecter automatiquement la langue
  2. Traitement progressif : Affiche la progression en temps réel
  3. Génération des fichiers : Tous les fichiers sont créés en même temps à la fin du traitement
  4. Performance : Utilise le CPU et la mémoire (le GPU si configuré avec --gpus all)

Note: Sans GPU, vous verrez un message indiquant que FP16 (Floating Point 16) n’est pas disponible, ce qui est normal et n’empêche pas le bon fonctionnement.

Les fichiers de sortie générés (06:51)

Lorsque Whisper traite un fichier audio ou vidéo, il génère plusieurs fichiers de formats différents, chacun ayant un usage spécifique :

Fichier JSON

Contient toutes les informations détaillées de la transcription :

  • Le texte complet
  • Les segments découpés par temps (début, fin en secondes)
  • Les tokens pour chaque segment
  • La langue détectée et les paramètres de compression

Utilité: Idéal pour créer des logiciels qui analysent le texte, associent des images à des moments spécifiques ou envoient le contenu à un AI pour analyse.

Fichier SRT

Format de sous-titres standard compatible avec VLC et autres lecteurs vidéo.

Utilité: Permet d’afficher des sous-titres directement dans les lecteurs vidéo. Peut être uploadé sur YouTube pour faciliter la traduction automatique vers d’autres langues.

Fichier TXT

Texte brut avec le contenu transcrit, découpé par phrases complètes (pas par temps).

Utilité: Lecture simple du contenu, copier-coller vers d’autres applications, analyse de texte.

Fichier TSV

Format “Tab-Separated Values” - similaire au CSV mais avec des tabulations au lieu de virgules.

Utilité: Plus facile à traiter que JSON pour certains systèmes et évite les problèmes de virgules dans le texte (si c’était un CSV).

Fichier VTT

Format WebVTT pour les sous-titres web.

Utilité: Sous-titres pour les vidéos web et HTML5.

Installer pour un utilisateur dans un venv Python

Si vous préférez une installation locale sans Docker, vous pouvez installer Whisper dans un environnement virtuel Python (venv). Cette méthode évite les problèmes de permissions et de conflits de dépendances.

Pourquoi un venv? Sur Ubuntu, l’installation avec pip global ne fonctionne pas lorsque Python est installé via APT. Le système empêche l’installation de dépendances globales. Un environnement virtuel Python (venv) résout ce problème en créant une installation isolée avec ses propres dépendances et versions.

Installer (10:51)

Créez et activez l’environnement virtuel, puis installez Whisper :

VENV_DIR="$HOME/.whisper-venv"
python3 -m venv "$VENV_DIR"
source "$VENV_DIR/bin/activate"

pip install --upgrade pip

pip install -U openai-whisper

Note importante: L’installation télécharge toutes les dépendances Nvidia (même si vous n’avez pas de GPU Nvidia), ce qui peut prendre beaucoup d’espace disque.

Important: Lorsque vous faites source, vous ajoutez l’environnement à votre bash actuel. Vous ne créez pas un nouveau bash. Donc si vous faites exit, vous fermez complètement votre terminal, pas seulement le venv.

Utiliser (14:50)

À chaque fois que vous voulez utiliser Whisper, activez d’abord l’environnement virtuel :

source ~/.whisper-venv/bin/activate

whisper --model medium audio.mp3

Avantage: Si vous avez déjà téléchargé le modèle avec Docker (dans ~/.cache/whisper), Whisper utilisera automatiquement ce cache et ne re-téléchargera pas le modèle.