Communitygithub.com

AungMinThu1722/sous-titres-voix-off

Film → voix-off en birman : transcription diarisée, assignation vocale mesurée, sous-titres prêts pour le montage et piste sans musique. Inclut un packager de compétences.

Qu'est-ce que sous-titres-voix-off ?

Cette compétence permet à un agent IA de transformer un fichier vidéo ou audio en une voix-off complète en birman, incluant la détection des locuteurs, la génération d’un accroche d’ouverture rédigée par l’agent, une paire de sous-titres prête pour le montage, et un nettoyage automatique. Le pipeline est entièrement scripté en Python : l’agent n’intervient que pour traduire le fichier SRT avec les étiquettes des locuteurs en birman et rédiger l’accroche optionnelle. La hauteur vocale de chaque locuteur est mesurée automatiquement à partir de l’audio du film (autocorrélation avec repli Python pur), ce qui permet d’assigner les voix synthétiques birmanes (my-MM-NilarNeural pour les femmes, my-MM-ThihaNeural pour les hommes) sans aucun mappage manuel. Le résultat inclut un fichier MP3 de la voix-off (démarrant à 00:00:00, sans musique), des fichiers SRT avec ou sans étiquettes de locuteurs, des fichiers FCPXML/EDL/CSV pour l’import dans les logiciels de montage, et des rapports de qualité JSON. La compétence est conçue pour fonctionner avec Claude Code et d’autres agents compatibles avec les SKILL.md, et elle est livrée avec ses propres tests, un film factice, et deux exemples de sessions enregistrées.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add AungMinThu1722/subtitle-voiceover

Demander à votre IA préférée

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

Documentation


name: sous-titres-voix-off description: Film → voix-off en birman : transcription diarisée, assignation vocale mesurée, sous-titres prêts pour le montage et piste sans musique. Inclut un packager de compétences.

Doublage de film birman — Compétences Agent

Deux Compétences Agent pour construire un doublage (voix-off) birman à partir d'un film, et pour créer des compétences similaires.

DossierDescription
sous-titres-voix-off/La compétence : transforme un fichier vidéo ou audio en une voix-off birmane avec détection des locuteurs, un accroche d'ouverture rédigée par l'agent, une paire de sous-titres prête pour le montage et un nettoyage automatique.
forge-compétences/L'outillage : crée, valide et empaquette des compétences SKILL.md — et maintient les deux compétences de ce dépôt conformes aux spécifications.

Que fait sous-titres-voix-off ?

Le pipeline est entièrement scripté en Python. L'agent ne fait qu'un seul travail : traduire le SRT avec étiquettes de locuteurs en birman — plus une ligne optionnelle, l'accroche d'ouverture. Rien d'autre dans le pipeline ne demande au modèle d'agir.

movie.mp4 ──transcription.py──▶ transcript.json ──srt_depuis_transcript.py──▶ movie.en.srt
   └─ detection_voix.py mesure la hauteur de chaque locuteur ──▶ voix.detectees.yaml  (pas de mappage manuel)
        └── AGENT remplit traduction.my.json (+ accroche.texte) ──appliquer_traduction.py──▶ movie.my.srt
             └── generer_voix_off.py ──▶ voix-off.mp3  (piste longueur film, sans musique)
                  └── vérifications, transfert FCPXML/EDL, nettoyage.py

Installez-la en copiant le dossier dans le répertoire des compétences de votre agent, ou en décompressant l'archive empaquetée :

cp -r sous-titres-voix-off ~/.claude/skills/                    # depuis un clone
unzip sous-titres-voix-off/packages/sous-titres-voix-off.skill -d ~/.claude/skills/

Prérequis : python3 -m pip install --user edge-tts pyyaml, ffmpeg + ffprobe, et une clé AssemblyAI dans sous-titres-voix-off/.env (ASSEMBLYAI_API_KEY=..., ignoré par git).

Une commande pour tout un film :

python3 scripts/lancer_pipeline.py night-shift.mp4 --work-dir travail --config voix-off.config.yaml \
    --language en --intervenants-prevus 2 --accroche --etapes python
# l'agent remplit travail/traduction.my.json (texte de chaque réplique, plus accroche.texte)
python3 scripts/lancer_pipeline.py --work-dir travail --config voix-off.config.yaml --etapes post

Ce qui est produit : voix-off.mp3 (la piste voix-off, démarrant à 00:00:00, prolongée jusqu'à la durée du film, sans musique), movie.my.srt (étiquettes de locuteurs) et movie.my.subs.srt (piste de sous-titres simple), voiceover.fcpxml / .edl / .cue-list.csv, des rapports de qualité JSON — et un répertoire travail/ avec les fichiers de travail nettoyés. Le monteur pose sa propre bande-son sous la piste ; les sous-titres se placent directement sur une piste de sous-titres dans Premiere Pro, DaVinci Resolve ou Final Cut Pro.

Points forts :

  • Assignation vocale automatique. La hauteur de chaque locuteur est mesurée à partir de l'audio du film lui-même (autocorrélation, avec un repli en Python pur) — les personnages féminins reçoivent my-MM-NilarNeural, les personnages masculins my-MM-ThihaNeural. Rien n'est mappé manuellement ; la configuration peut néanmoins fixer un locuteur.
  • Les horodatages appartiennent aux scripts. La traduction ne voit jamais de code temporel modifiable ; la fusion rattache les horodatages d'origine et signale toute modification qu'elle a dû écarter.
  • Accroche d'ouverture. Les 5 à 10 premières secondes peuvent être remplacées par une ligne unique rédigée par l'agent dans la propre voix du film, indétectable à côté du dialogue original, avec un exemple concret dans references/guide-accroche.md.
  • Rien n'est généré pendant une exécution. Chaque étape est un script prédéfini acceptant des indicateurs ; la compétence embarque sa propre suite de tests, un film factice et deux exemples d'exécution complets dans film-demo/.

Consultez sous-titres-voix-off/README.md pour la procédure complète et SKILL.md pour ce que l'agent lit.

forge-compétences

Crée la structure d'un dossier de compétence, vérifie SKILL.md par rapport au format ouvert (règles nom/description, divulgation progressive, références de fichiers inclus, budget de lignes), et empaquette une compétence dans une archive .skill distribuable sans fuite de secrets.

python3 forge-compétences/scripts/valider_competence.py sous-titres-voix-off --strict
python3 forge-compétences/scripts/empaqueter_competence.py sous-titres-voix-off --out sous-titres-voix-off/packages

Tests

bash forge-compétences/tests/lancer_tests.sh              # suite validateur/empaqueteur (hors ligne, <1 s)
cd sous-titres-voix-off && bash tests/lancer_tests.sh # tests de fumée du pipeline (appels réels à edge-tts)

Les deux suites sont intégrées à CI (ci/github-actions-ci.yml — déplacez-le vers .github/workflows/ci.yml pour l'activer, voir l'en-tête de ce fichier) ; la suite du pipeline n'utilise pas de clé AssemblyAI — elle pilote les vrais scripts avec un transcript factice.

Structure du dépôt

sous-titres-voix-off/     la compétence (scripts/, references/, assets/, tests/, demo/, film-demo/, packages/)
forge-compétences/        outillage de validation et d'empaquetage (scripts/, references/, assets/, tests/, packages/)
ci/github-actions-ci.yml  définition CI (déplacer vers .github/workflows/ci.yml pour activer)

Licence

MIT — voir LICENSE.

Skills associés