Communitygithub.com

subtítulos-locución

Película → locución en birmano: transcripción con diarización de hablantes, asignación de voces medida, subtítulos listos para el editor y pista sin música.

¿Qué es subtítulos-locución?

Esta habilidad para Claude (Agent Skills) convierte un archivo de video o audio en una locución completa en birmano, lista para usar en software de edición como Premiere Pro, DaVinci Resolve o Final Cut Pro. El pipeline es completamente Python: primero transcribe con diarización de hablantes usando AssemblyAI, luego mide el tono de cada hablante para asignar automáticamente voces sintéticas de Microsoft Edge TTS (femenino: my-MM-NilarNeural, masculino: my-MM-ThihaNeural). El agente solo traduce los subtítulos con etiquetas de hablante al birmano y opcionalmente escribe una línea de apertura (hook). El resto del proceso (renderizado de audio, generación de subtítulos, exportación FCPXML/EDL/CSV y limpieza) se maneja mediante scripts predefinidos. La habilidad incluye su propio conjunto de pruebas, una película de ejemplo y dos ejecuciones completas grabadas. También incluye la herramienta 'skill-forge' para validar, empaquetar y distribuir habilidades SKILL.md de forma segura.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación


name: subtítulos-locución description: Película → locución en birmano: transcripción con diarización de hablantes, asignación de voces medida, subtítulos listos para el editor y pista sin música. Incluye empaquetador skill-forge.

Locución de películas en birmano — Habilidades de agente

Dos Habilidades de agente para crear una locución en birmano (doblaje) a partir de una película, y para crear habilidades similares.

CarpetaQué es
subtítulos-locución/La habilidad: convierte un archivo de video o audio en una locución en birmano con detección de hablantes, un gancho de apertura escrito por el agente, un par de subtítulos listos para el editor y una limpieza automática.
skill-forge/Las herramientas: crea, valida y empaqueta habilidades SKILL.md — y mantiene las dos habilidades de este repositorio limpias según las especificaciones.

¿Qué hace subtítulos-locución?

El pipeline es Python con scripts de principio a fin. El agente hace exactamente un trabajo: traducir los subtítulos etiquetados por hablante al birmano — más una línea opcional, el gancho de apertura. Nada más en el pipeline le pide al modelo que actúe.

movie.mp4 ──transcribe.py──▶ transcript.json ──srt_from_transcript.py──▶ movie.en.srt
   └─ detect_voices.py mide el tono de cada hablante ──▶ voices.detected.yaml  (sin mapeo manual)
        └── AGENT rellena translation.my.json (+ hook.text) ──apply_translation.py──▶ movie.my.srt
             └── render_voiceover.py ──▶ voiceover.mp3  (pista con duración de la película, sin música)
                  └── comprobaciones, entrega FCPXML/EDL, cleanup.py

Instálelo copiando la carpeta en el directorio de habilidades de su agente, o descomprimiendo el archivo empaquetado:

cp -r subtítulos-locución ~/.claude/skills/                    # desde un clon
unzip subtítulos-locución/packages/subtitle-voiceover.skill -d ~/.claude/skills/

Requisitos: python3 -m pip install --user edge-tts pyyaml, ffmpeg + ffprobe, y una clave de AssemblyAI en subtítulos-locución/.env (ASSEMBLYAI_API_KEY=..., ignorada por git).

Un solo comando para una película completa:

python3 scripts/run_pipeline.py night-shift.mp4 --work-dir work --config voiceover.config.yaml \
    --language en --speakers-expected 2 --hook --stages python
# el agente rellena work/translation.my.json (texto de cada señal, más hook.text)
python3 scripts/run_pipeline.py --work-dir work --config voiceover.config.yaml --stages post

Lo que se obtiene: voiceover.mp3 (la pista de locución, comenzando en 00:00:00, rellenada hasta la duración de la película, sin música), movie.my.srt (etiquetas de hablante) y movie.my.subs.srt (pista de subtítulos simple), voiceover.fcpxml / .edl / .cue-list.csv, informes de calidad JSON — y un directorio work/ con los archivos de trabajo eliminados. El editor coloca su propia banda sonora debajo de la pista; los subtítulos caen directamente en una pista de subtítulos en Premiere Pro, DaVinci Resolve o Final Cut Pro.

Aspectos destacados:

  • Asignación automática de voces. El tono del hablante se mide a partir del audio de la propia película (autocorrelación, con un fallback en Python puro) — los personajes femeninos reciben my-MM-NilarNeural, los masculinos my-MM-ThihaNeural. Nada se asigna manualmente; la configuración puede fijar un hablante.
  • Las marcas de tiempo son propiedad de los scripts. La traducción nunca ve un código de tiempo modificable; la fusión vuelve a adjuntar las originales e informa de cualquier edición que haya tenido que descartar.
  • Gancho de apertura. Los primeros 5–10 segundos pueden ser reemplazados por una línea escrita por el agente con la propia voz de la película, indetectable junto al diálogo original, con un ejemplo trabajado en references/hook-guide.md.
  • No se genera nada durante una ejecución. Cada etapa es un script preescrito que recibe indicadores; la habilidad incluye su propio conjunto de pruebas, una película de ejemplo y dos ejecuciones completas grabadas en demo-film/.

Consulte subtítulos-locución/README.md para obtener el tutorial completo y SKILL.md para lo que el agente lee.

skill-forge

Crea una estructura de directorio de habilidad, verifica SKILL.md según el formato abierto (reglas de nombre/descripción, divulgación progresiva, referencias a archivos empaquetados, presupuesto de líneas) y empaqueta una habilidad en un archivo .skill distribuible sin filtrar secretos.

python3 skill-forge/scripts/validate_skill.py subtítulos-locución --strict
python3 skill-forge/scripts/package_skill.py subtítulos-locución --out subtítulos-locución/packages

Pruebas

bash skill-forge/tests/run_tests.sh              # suite de validador/empaquetador (sin conexión, <1 s)
cd subtítulos-locución && bash tests/run_tests.sh # pruebas de humo del pipeline (llamadas reales a edge-tts)

Ambas suites están conectadas a CI (ci/github-actions-ci.yml — muévalo a .github/workflows/ci.yml para activarlo, consulte el encabezado de ese archivo); la suite del pipeline no usa ninguna clave de AssemblyAI — ejecuta los scripts reales contra una transcripción de ejemplo.

Estructura del repositorio

subtitle-voiceover/     la habilidad (scripts/, references/, assets/, tests/, demo/, demo-film/, packages/)
skill-forge/            herramientas de validación y empaquetado (scripts/, references/, assets/, tests/, packages/)
ci/github-actions-ci.yml  definición de CI (muévalo a .github/workflows/ci.yml para habilitarlo)

Licencia

MIT — consulte LICENSE.

Skills relacionados