Communitygithub.com

haoyiyin/easy-subtitle

Génération hors-ligne de sous-titres SRT depuis un fichier audio/vidéo via faster-whisper. Détection automatique de la langue + alignement optionnel avec un script original pour corriger les erreurs de Whisper. Fonctionne entièrement sur CPU local.

Qu'est-ce que easy-subtitle ?

Cette compétence permet de générer des fichiers de sous-titres SRT à partir de fichiers audio ou vidéo, entièrement en local et sans appel API, en utilisant le moteur faster-whisper. Elle détecte automatiquement la langue parlée dans le fichier multimédia, ce qui la rend utile pour des contenus multilingues. Une fonctionnalité avancée permet de corriger les erreurs de transcription de Whisper en alignant le résultat avec un script original fourni (utile pour les vidéos dont le texte parlé est connu à l'avance). La compétence prend en charge le traitement par lots et offre des options de réglage comme la taille du modèle (pour un compromis rapidité/précision) et la détection d'activité vocale (VAD) pour améliorer la segmentation des silences. Elle fonctionne sur macOS, Linux et Windows, et nécessite une installation préalable de ffmpeg et du package easy-subtitle. L'utilisateur peut ainsi produire des sous-titres précis sans dépendre de services cloud, ce qui est idéal pour des projets où la confidentialité des données est importante ou lorsque la connexion internet n'est pas fiable.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add haoyiyin/easy-subtitle

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Quand l'utiliser

Utilisez cette compétence lorsque l'utilisateur a besoin de :

  • Générer des sous-titres SRT à partir d'un fichier audio ou vidéo (hors ligne, sans appel API)
  • Détecter automatiquement la langue parlée dans un fichier multimédia
  • Corriger les erreurs de transcription de Whisper à l'aide d'un script original fourni
  • Traiter par lots des fichiers multimédia en sous-titres

Ne PAS utiliser pour :

  • La transcription en temps réel/en direct (faster-whisper est en mode batch uniquement)
  • Les formats de sortie autres que SRT (seul SRT est pris en charge)
  • La transcription basée sur le cloud (c'est un outil local uniquement)

Procédure

  1. Installez les dépendances : pip install faster-whisper. Installez ffmpeg pour votre système d'exploitation :
    • macOS : brew install ffmpeg
    • Linux : sudo apt install ffmpeg (Debian/Ubuntu) ou sudo dnf install ffmpeg (Fedora)
    • Windows : choco install ffmpeg (Chocolatey) ou scoop install ffmpeg (Scoop), ou téléchargez depuis https://ffmpeg.org
  2. Assurez-vous que le paquet easy-subtitle est installé : pip install -e . depuis la racine du projet.
  3. Transcription de base : Lancez easy-subtitle -i video.mp4 pour générer video.srt avec détection automatique de la langue.
  4. Spécifier la langue : Lancez easy-subtitle -i audio.wav -l zh si vous connaissez la langue (plus rapide et plus précis que la détection automatique).
  5. Correction avec un script original : Lancez easy-subtitle -i video.mp4 --original-text script.txt pour aligner et corriger la transcription à l'aide du script fourni.
  6. Ajuster la taille du modèle : Utilisez -m small pour la rapidité ou -m large-v3 pour la précision. La valeur par défaut est medium.
  7. Ajuster la VAD : Utilisez --vad-min-silence 1000 pour un fractionnement plus agressif des silences (contenu plus silencieux). Utilisez --no-vad pour désactiver.

Pièges

  • La première exécution télécharge le modèle (~1,5 Go pour le modèle medium) — prévoyez du temps et de l'espace disque supplémentaires.
  • La détection automatique de la langue par Whisper peut être imprécise pour des extraits très courts (<5 secondes) — utilisez -l pour spécifier la langue manuellement.
  • L'alignement avec un script original fonctionne mieux lorsque le texte correspond exactement à l'audio. Les improvisations, pauses et écarts seront laissés tels quels (sortie de Whisper).
  • faster-whisper utilise par défaut la quantification INT8 sur CPU — c'est rapide mais légèrement moins précis que FP16 sur GPU.
  • ffmpeg doit être installé séparément (ce n'est pas un paquet Python).
    • macOS : brew install ffmpeg
    • Linux : sudo apt install ffmpeg
    • Windows : choco install ffmpeg ou téléchargez depuis https://ffmpeg.org

Vérification

  1. Exécutez easy-subtitle --version pour confirmer l'installation.
  2. Testez une transcription de base : easy-subtitle -i test_audio.mp3 -m tiny devrait produire un fichier .srt rapidement.
  3. Vérifiez la sortie SRT : ouvrez-la dans un lecteur vidéo ou vérifiez qu'elle contient des blocs numérotés avec des horodatages au format HH:MM:SS,mmm --> HH:MM:SS,mmm.
  4. Testez l'alignement avec un script original : fournissez un texte qui correspond à l'audio — la sortie doit contenir le texte exact du script, et non la transcription de Whisper.

Skills associés