Communitygithub.com

presenter-voiceover

Úsalo para escribir o generar una locución / narración para cualquier video, demo o presentación: reglas de guion estilo presentador, marcas de pausas, voz Kokoro offline, pulido y mezcla ajustada al video.

¿Qué es presenter-voiceover?

Esta habilidad está diseñada para crear narraciones profesionales con estilo de presentador para videos, demos o presentaciones. Proporciona reglas detalladas de escritura de guiones que priorizan la claridad, el ritmo y la emoción por encima de la lectura literal del texto en pantalla, con técnicas como 'una idea por línea', 'hilo héroe' y 'enfoque al final'. El flujo de trabajo incluye marcado de pausas (respiración, dramática, compás) y control de velocidad por línea para ajustar el ritmo. Soporta múltiples motores de voz: Kokoro (offline, más de 50 voces, incluyendo mezclas) y ElevenLabs premium en la nube. Las herramientas (`speak.py`, `polish_vo.py`, `mix_narration.py`) permiten generar, pulir (ecualización, compresión, sala) y mezclar la narración con el video y la música, respetando el tiempo visual. También incluye verificación de deriva y regeneración selectiva de líneas sin reprocesar todo. Es ideal para creadores de contenido, formadores y desarrolladores que necesitan locuciones rápidas, coherentes y de calidad profesional sin estudios de grabación.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Sanjayyykumar/ai-essentials/tree/HEAD/skills/presenter-voiceover

Preguntar en tu IA favorita

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

Documentación

Locución tipo presentador

Herramientas: $VIDEO_ROOT/voice/ de video-generations (speak.py, speak_cast.py, polish_vo.py, mix_narration.py, el_cache.py); modelos en $VIDEO_ROOT/models (python studio/get_models.py).

1. Escribe como un presentador (el guion importa más que la voz)

  • Nunca leer la pantalla. El texto en pantalla declara el hecho; la voz añade significado, emoción o la historia detrás. Si una línea repite palabra por palabra lo que está en pantalla, reescríbela o elimínala. Excepciones: nombres de productos y el eslogan final.

  • Una idea por línea. Frases cortas, de 6 a 12 palabras. Inglés hablado, se permiten contracciones.

  • Hilo héroe. Sigue a una persona (p.ej. Aroon, Anita, Dr Rao) y haz referencia a ella; la gente recuerda historias, no funciones.

  • Enfoque al final. Coloca la palabra clave al final de su frase ("…cada equipo tiene solo uno."); la voz cae naturalmente ahí. Contexto al inicio: "A las dos catorce, temprano en la mañana, // Aroon // se desploma."

  • Regla de tres para beneficios y listas, con tiempos uniformes.

  • Contraste y giro: problema → "Ahora, imagina…" → solución.

  • Aperturas: comienza cada sección con un anclaje ("Primero, para las familias.", "Ahora, entra al hospital.").

  • Cierres: las afirmaciones terminan con un punto para un tono descendente y conclusivo. Cierra con la promesa o el eslogan, una invitación clara, luego "Gracias."

  • Ritmo (estilo de la casa): una entrega lenta y con muchas pausas suena robótica ("demasiadas pausas, pocas palabras"). Por defecto, usa un ritmo fluido de presentador:

    • velocidad 1.00 para la mayoría de las líneas, 1.02 para listas/explicaciones largas, 0.95–0.97 para eslóganes y cierres, 0.93 solo para el único gancho emocional.
    • Como máximo un compás ... por línea, y solo en el giro emocional ("A las dos catorce, temprano en la mañana ... Aroon se desploma", "¿Qué pasaría si ... bastara un solo toque?"). Usa / con moderación; prefiere comas simples.
    • Velocidad medida en este estilo: aproximadamente 2.6–2.8 palabras habladas por segundo (af_kore). Presupuesto = palabras / 2.7 + 0.35 s de cola de pulido; una línea debe caber antes del siguiente tiempo visual.
    • Deja un silencio deliberado (1–1.5 s, sin línea) después de la construcción del problema y después del impacto emocional de la solución ("Más tranquilo que esa primera noche.").
    • Densidad: alrededor de 230–250 palabras narradas para una película de 2.5 minutos; cada escena recibe al menos una línea, por lo que ninguna escena permanece en silencio más de ~3 s excepto los silencios planificados.
  • Honestidad: sin resultados inventados; los nombres y cifras ficticios son datos de demostración.

  • Ruta rápida (para ahorrar tiempo): escribe todas las líneas → estima las duraciones con el presupuesto anterior → corrige los excesos en el texto antes de generar → genera una vez. Regenerar en la computadora portátil cuesta unos 25–40 s por línea, por lo que la mayor parte del tiempo se destina al texto que se reescribe.

2. Marcado (archivo de narración)

LINES = [(start_s, speed, text), ...], VOICE = '...', más un docstring con notas de entrega. Ejemplo: voice/examples/narration_demo.py.

  • / = pausa de respiración (0.25 s), // = pausa dramática (0.55 s), ... = compás sostenido (0.8 s).
  • Vuelve a deletrear los nombres que el motor pronuncia mal en voice/lexicon.py (p.ej. Arun → "Aroon", Dr → "Doctor") y prueba una línea primero.
  • Diálogo con varias voces: LINES = [(key, voice, speed, text), ...] para speak_cast.py (voice/examples/dialogue_demo.py).

3. Voz

  • Motor: Kokoro mediante kokoro-onnx, offline, más de 50 voces. Buenas elecciones para presentador: af_kore / af_heart (femenina tranquila y segura), hm_omega / hm_psi (masculina india), am_onyx (masculina profunda), bm_george (masculina británica), hf_alpha / hf_beta (femenina india). Las mezclas funcionan: hm_omega:0.6,am_onyx:0.4.
  • Para una nueva elección de voz, genera 3 líneas representativas (gancho, solución, eslogan) por candidato y deja que el usuario elija antes de la ejecución completa.
  • El énfasis a nivel de palabra no se puede forzar; créalo con frases, puntuación, pausas y velocidad. El énfasis exacto necesita una grabación humana.
  • Voz premium en la nube: voice/el_cache.py (ElevenLabs; cada línea se factura una vez, luego se almacena en caché).

4. Generar → pulir → mezclar

  1. python voice/speak.py <narration>.py work/vo [voice] — reanudable; cada frase se habla por separado y se une con los silencios marcados.
  2. python voice/polish_vo.py work/vo work/vo_polished — recortar, ecualización cálida/clara, compresión suave, sala sutil, cola de desvanecimiento.
  3. python voice/mix_narration.py <silent.mp4> <music.wav> <narration>.py work/vo_polished <out.mp4> — coloca líneas, acelera una línea larga como máximo 1.08×, desplaza líneas posteriores solo cuando sea necesario, atenúa la música, −16 LUFS, escribe .srt.
  4. Revisa el informe de deriva. Cada línea debe estar dentro de ~0.5 s de su tiempo visual. Si la deriva se acumula, acorta o elimina una línea (prefiere líneas que repiten la pantalla) y mueve los tiempos de inicio a sus tiempos visuales; vuelve a mezclar sin regenerar las líneas intactas. Para rehacer algunas líneas, mueve sus clips antiguos a un lado y vuelve a ejecutar speak.py; solo completa los clips faltantes. Mantén la numeración de clips sincronizada con LINES.
  5. Entrega el MP4 y SRT.

Skills relacionados