Communitygithub.com

AungMinThu1722/subtitle-voiceover

Film → burmesische Sprachsynchronisation: diarisierte Transkription, gemessene Sprecherzuweisung, editierfertige Untertitel und musikfreie Tonspur. Inklusive Skill-Forge-Paketierer.

Was ist subtitle-voiceover?

Dieser Skill ermöglicht es, aus einem Film oder einer Audiodatei eine vollständige burmesische Sprachsynchronisation (Voice-Over/Dub) zu erstellen. Der gesamte Prozess ist als Python-Pipeline implementiert: Von der automatischen Sprechererkennung und Tonhöhenmessung über die Agent-gestützte Übersetzung von sprechergetaggten Untertiteln ins Burmesische bis hin zum Rendern einer musikfreien Tonspur mit ausgewählten Edge-TTS-Stimmen (z. B. weiblich: my-MM-NilarNeural, männlich: my-MM-ThihaNeural). Der Skill arbeitet mit Claude Code (oder jeder Agent-Skill-Plattform) zusammen – der Agent übernimmt dabei ausschließlich die Übersetzung und das optionale Schreiben eines Opening-Hooks. Die Skripte behalten die Kontrolle über Timestamps und Qualitätssicherung. Der Skill liefert editierfertige Ausgaben: SRT-Untertitel mit Sprecherlabels, eine FCPXML/EDL-Schnittstellendatei, JSON-Qualitätsberichte und eine bereinigte Arbeitsumgebung. Voraussetzung sind Python-Abhängigkeiten (edge-tts, pyyaml), FFmpeg/FFprobe und ein AssemblyAI-API-Key für die Transkription. Der Skill enthält eigene Tests, ein Demofilm und zwei vollständig dokumentierte Referenzdurchläufe im Repository. Das mitgelieferte skill-forge-Tool erstellt, validiert und paketiert Skills nach dem offenen Agent-Skill-Format (SKILL.md).

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add AungMinThu1722/subtitle-voiceover

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation


name: subtitle-voiceover description: Film → burmesische Sprachsynchronisation: diarisierte Transkription, gemessene Sprecherzuweisung, editierfertige Untertitel und musikfreie Tonspur. Inklusive Skill-Forge-Paketierer.

Burmesische Film-Sprachsynchronisation – Agent Skills

Zwei Agent Skills zum Erstellen einer burmesischen Sprachsynchronisation (Dub) aus einem Film und zum Erstellen ähnlicher Skills.

OrdnerBeschreibung
subtitle-voiceover/Der Skill: Wandelt eine Video- oder Audiodatei in eine burmesische Sprachsynchronisation um, mit Sprechererkennung, einem vom Agent geschriebenen Eröffnungshook, einem editierfertigen Untertitelpaar und einer automatischen Bereinigung.
skill-forge/Die Werkzeuge: Erstellt, validiert und paketiert SKILL.md-Skills – und hält die beiden eigenen Skills dieses Repositories spezifikationskonform.

Was macht subtitle-voiceover?

Die Pipeline ist durchgehend als Python-Skript implementiert. Der Agent übernimmt genau eine Aufgabe: die Übersetzung des sprechergetaggten SRT ins Burmesische – plus eine optionale Zeile, den Eröffnungshook. Nichts anderes in der Pipeline fordert das Modell zum Handeln auf.

movie.mp4 ──transcribe.py──▶ transcript.json ──srt_from_transcript.py──▶ movie.en.srt
   └─ detect_voices.py misst die Tonhöhe jedes Sprechers ──▶ voices.detected.yaml  (keine manuelle Zuordnung)
        └── AGENT füllt translation.my.json (+ hook.text) ──apply_translation.py──▶ movie.my.srt
             └── render_voiceover.py ──▶ voiceover.mp3  (filmlange Tonspur, keine Musik)
                  └── Prüfungen, FCPXML/EDL-Übergabe, cleanup.py

Installieren durch Kopieren des Ordners in das Skills-Verzeichnis des Agents oder Entpacken des paketierten Archivs:

cp -r subtitle-voiceover ~/.claude/skills/                    # aus einem Klon
unzip subtitle-voiceover/packages/subtitle-voiceover.skill -d ~/.claude/skills/

Voraussetzungen: python3 -m pip install --user edge-tts pyyaml, ffmpeg + ffprobe und ein AssemblyAI- Schlüssel in subtitle-voiceover/.env (ASSEMBLYAI_API_KEY=..., git-ignoriert).

Ein Befehl für einen ganzen Film:

python3 scripts/run_pipeline.py night-shift.mp4 --work-dir work --config voiceover.config.yaml \
    --language en --speakers-expected 2 --hook --stages python
# der Agent füllt work/translation.my.json (Text jedes Cues, plus hook.text)
python3 scripts/run_pipeline.py --work-dir work --config voiceover.config.yaml --stages post

Was herauskommt: voiceover.mp3 (die Sprachsynchronisations-Tonspur, beginnend bei 00:00:00, aufgefüllt auf die Filmlänge, ohne Musik), movie.my.srt (Sprecherlabels) und movie.my.subs.srt (reine Untertitelspur), voiceover.fcpxml / .edl / .cue-list.csv, JSON-Qualitätsberichte – und ein work/-Verzeichnis mit den entfernten Arbeitsdateien. Der Editor legt seine eigene Musik unter die Tonspur; die Untertitel können direkt in Premiere Pro, DaVinci Resolve oder Final Cut Pro auf eine Untertitelspur gelegt werden.

Highlights:

  • Automatische Sprecherzuweisung. Die Tonhöhe jedes Sprechers wird aus der Originalaudio des Films gemessen (Autokorrelation, mit einem Pure-Python-Fallback) – weibliche Charaktere erhalten my-MM-NilarNeural, männliche Charaktere my-MM-ThihaNeural. Es wird nichts von Hand zugeordnet; die Konfiguration kann dennoch einen Sprecher festlegen.
  • Zeitstempel gehören den Skripten. Die Übersetzung sieht nie einen beschreibbaren Timecode; der Zusammenführende hängt die ursprünglichen wieder an und meldet alle Änderungen, die verworfen werden mussten.
  • Eröffnungshook. Die ersten 5–10 Sekunden können durch eine vom Agent geschriebene Zeile in der eigenen Stimme des Films ersetzt werden, die neben dem Originaldialog unauffällig ist, mit einem ausgearbeiteten Beispiel in references/hook-guide.md.
  • Nichts wird während eines Durchlaufs generiert. Jede Stufe ist ein vorgefertigtes Skript mit Flags; der Skill enthält eine eigene Testsuite, einen Demofilm und zwei vollständig aufgezeichnete Durchläufe im Ordner demo-film/.

Siehe subtitle-voiceover/README.md für die vollständige Anleitung und SKILL.md für das, was der Agent liest.

skill-forge

Erstellt ein Skill-Verzeichnis, prüft SKILL.md auf das offene Format (Name/Beschreibungsregeln, progressive Offenlegung, referenzierte Dateien, Zeilenbudget) und paketiert einen Skill in ein verteilbares .skill-Archiv, ohne Geheimnisse preiszugeben.

python3 skill-forge/scripts/validate_skill.py subtitle-voiceover --strict
python3 skill-forge/scripts/package_skill.py subtitle-voiceover --out subtitle-voiceover/packages

Tests

bash skill-forge/tests/run_tests.sh              # Validator/Packager-Suite (offline, <1 s)
cd subtitle-voiceover && bash tests/run_tests.sh # Pipeline-Smoke-Tests (echte edge-tts-Aufrufe)

Beide Suites sind in CI eingebunden (ci/github-actions-ci.yml – verschieben Sie sie nach .github/workflows/ci.yml, um sie zu aktivieren, siehe den Kopf dieser Datei); die Pipeline-Suite verwendet keinen AssemblyAI-Schlüssel – sie treibt die echten Skripte mit einem Fixture-Transkript an.

Repository-Struktur

subtitle-voiceover/     der Skill (scripts/, references/, assets/, tests/, demo/, demo-film/, packages/)
skill-forge/            Validierungs- und Paketierungswerkzeuge (scripts/, references/, assets/, tests/, packages/)
ci/github-actions-ci.yml  CI-Definition (nach .github/workflows/ci.yml verschieben, um zu aktivieren)

Lizenz

MIT – siehe LICENSE.

Verwandte Skills