🎬 SCRIPT punto M D con 6–9 escenas
El SCRIPT punto M D es el corazón de tu video. Describe cada escena en texto: lo que aparece en pantalla y lo que se dice. Un arco bien estructurado garantiza la máxima retención en videos cortos.
El SCRIPT punto M D sigue un arco dramático de 8 etapas: hook → primer principio → mecánica → concepto clave → aplicación → avanzado → ejemplo real → cierre → CTA. Cada etapa es una escena. El arco está pensado para mantener la atención desde el inicio hasta el CTA de inema punto club.
Los videos de ~100 segundos de habla (≈ 1:50 de video) tienen mejor retención y caben como Shorts. Cada escena debe tener 1–3 frases, nunca un monólogo.
Primera frase que llama la atención de inmediato. Pregunta, afirmación audaz o dato sorprendente. Ej.: "¿Y si pudieras crear videos profesionales sin pagar nada?"
Explica el concepto más básico. Sin jerga. Un párrafo que cualquiera pueda entender. Aquí nace la comprensión.
Detalla el mecanismo interno: Chrome captura frames, FFmpeg codifica, Kokoro habla. Técnico, pero directo.
La idea que cambia la forma de ver el problema. Normalmente, una frase memorable. Ej.: "El navegador es una cámara de cine."
Primer comando o paso concreto. El espectador ve cómo usarlo. Ej.: "Ejecuta npx hyperframes init y el proyecto ya estará configurado."
Recurso que distingue al usuario principiante del avanzado. Hooks, flags, voces alternativas, dos formatos. Genera curiosidad y valor.
Este video se hizo con la propia herramienta. O incluye un enlace, una captura de pantalla o un resultado concreto. Rompe el escepticismo.
Una frase que cierra el ciclo del hook. Refuerza la transformación que vivirá quien vea el video. Breve y contundente.
Invita al curso completo en inema punto club. Siempre la última escena. Directo y con una acción clara: "Accede a inema punto club ahora."
- ✓ Cada escena tiene un único foco — no mezcles dos conceptos
- ✓ Narración de 1–3 frases por escena (≤15 segundos)
- ✓ Duración total del habla ≈ 100s para un video de ~1:50
- ✓ Termina siempre con un CTA explícito
- ✗ Escenas demasiado largas — la atención cae después de 15s
- ✗ Hook sin tensión — no promete una transformación
- ✗ Saltar directamente de los fundamentos al nivel avanzado
- ✗ Olvidar el CTA: sin él, el video no convierte
✂️ Narración breve por escena
Cada escena recibe de 1 a 3 frases de narración. El total de ~100 segundos de voz produce aproximadamente 1 minuto y 50 segundos de video — ideal para la retención y compatible con Shorts.
Las personas retienen más información en videos cortos. Con ~100s de habla en total, cada escena dura ≈11–17 segundos: tiempo suficiente para asimilar una idea y lo bastante rápido para no aburrir.
Kokoro TTS funciona mejor con frases simples y directas. Evita el uso excesivo del gerundio, las subordinadas largas o las listas habladas. Si necesitas una pausa, divide el texto en dos frases separadas por un punto.
🗣️ Expandir siglas para la narración
Kokoro TTS lee el texto literalmente. Las siglas, extensiones de archivo y URL deben escribirse tal como se pronuncian, o el TTS las pronunciará de forma extraña o incomprensible.
El texto del archivo sN.txt está escrito para oídos, no para los ojos. Cualquier símbolo, sigla o ruta que no sea una palabra pronunciable debe sustituirse por su pronunciación exacta.
| Texto escrito | Di en sN.txt | Razón |
|---|---|---|
| SKILL.md | SKILL punto M D | extensión de archivo |
| .claude/skills | punto claude barra skills | ruta con símbolos |
| inema.club | inema punto club | URL / dominio |
| build-index.mjs | build guion index punto M J S | nombre de archivo |
| s1.txt | S un punto T X T | nombre de archivo |
| --speed 0.98 | speed cero punto noventa y ocho | flag CLI con número |
| pf_dora | P F underscore dora | identificador de voz |
| npx hyperframes | N P X hyperframes | sigla + comando |
- ✓ "punto claude barra skills" para
.claude/skills - ✓ "inema punto club" para
inema.club - ✓ "SKILL punto M D" para
SKILL.md - ✓ Prueba la pronunciación en voz alta antes de guardar
- ✗ Dejar
SKILL.mdsin expandir - ✗ Usar URL literal
https://inema.club - ✗ Escribir comandos bash como
npx --help - ✗ Poner listas con guiones — el TTS lee el guion en voz alta
Mantén el SCRIPT punto M D con el texto "visual" (con siglas, paths y URLs normales) como referencia humana. El archivo sN.txt es la versión «para los oídos»: el texto ya expandido que va al TTS. Son documentos diferentes con propósitos diferentes.
🔊 Generar WAV con Kokoro
Con los archivos sN.txt listos y expandidos, el comando npx hyperframes tts genera los WAVs localmente. La primera ejecución descarga ~340 MB del modelo Kokoro automáticamente.
La primera vez que lo ejecutas npx hyperframes tts, Kokoro descarga el modelo de voz (~340 MB) automáticamente. Sin clave, sin espeak-ng, sin configuración. Después de la descarga, las siguientes ejecuciones son instantáneas. Asegúrate de tener conexión la primera vez.
La velocidad predeterminada de Kokoro suena ligeramente demasiado rápida para narraciones técnicas en portugués. Con --speed 0.98 la voz se oye natural, sin sonar lenta. No subas de 1.05 — la voz suena metálica.
Ejecuta solo la escena 1 primero. Escucha el resultado. Si la pronunciación de alguna expansión suena extraña, corrige el s1.txt antes de generar los otros 7 archivos. Rehacer cada escena es mucho más rápido que volver a hacer todo.
📏 Medir duraciones con ffprobe
Antes de montar las escenas en el build-index.mjs, necesitas saber exactamente cuántos segundos dura cada narración. El ffprobe devuelve la duración del WAV en segundos en una línea.
O build-index.mjs define cuánto tiempo permanece cada escena en pantalla mediante LEAD, TAIL y la duración del audio. Si no sabes la duración exacta del WAV, el texto desaparecerá de la pantalla antes de que termine la voz, o se quedará inmóvil demasiado tiempo.
- ✓ Genera todos los WAV primero y luego mide
- ✓ Anota las duraciones en SCRIPT punto M D
- ✓ Usa las duraciones en build-index para definir el timing
- ✓ LEAD=0.5 antes de la voz + TAIL=0.9 después de la voz
- ✗ Usar la duración estimada: mide siempre el WAV real
- ✗ Cortar la escena antes de que termine el audio
- ✗ No dejes el LEAD antes de que empiece la narración
- ✗ Olvidar FADE=0.45 al final de la escena
O build-index.mjs usa por defecto: LEAD=0.5 (silencio antes de la voz), TAIL=0.9 (silencio después de la voz) y FADE=0.45 (fade-out de salida). La duración total de la escena = LEAD + duración_del_wav + TAIL.
🎚️ Voces PT-BR disponibles
Kokoro tiene tres voces PT-BR listas para usar: pf_dora (femenina, recomendada por defecto), pm_alex e pm_santa. Cada voz tiene un timbre distinto: elige según el tono del video.
Voz femenina clara y natural en portugués de Brasil. Es la voz predeterminada de narration-template.sh y la recomendada para todos los videos del pipeline HyperFrames.
Voz masculina grave, ideal para contenido más serio o técnico. Una alternativa para variar en series largas o cuando el tono exige más autoridad.
Tercera opción PT-BR con un timbre distinto. Úsala para probar si el contenido específico suena más natural con esa voz o para hacer un A/B test de retención.
- ✓ Usa
pf_doracomo predeterminada — es la más probada - ✓ Mantén la misma voz en todo el video
- ✓ Prueba primero la voz con la escena de mayor complejidad
- ✓ Velocidad
0.95–1.00para narración técnica
- ✗ Mezclar voces dentro del mismo video
- ✗ Speed por encima de 1.05 — suena robótico
- ✗ Speed por debajo de 0.85 — arrastra demasiado
- ✗ Intentar instalar espeak-ng — Kokoro no lo necesita
| Voz | Género | Timbre | Mejor para |
|---|---|---|---|
| pf_dora | Femenina | Claro, natural | Cursos, tutoriales, estándar |
| pm_alex | Femenina | Grave, autoritativo | Tecnología seria, demostraciones |
| pm_santa | Femenina | Diferenciado | Prueba A/B, variedad |
Kokoro tiene un fonemizador nativo para PT-BR: no necesita espeak-ng, que otros motores TTS de código abierto requieren. Sin clave de API ni cuenta en una plataforma. Instalar espeak-ng incluso puede entrar en conflicto con la fonética de Kokoro, así que evítalo.
📋 Resumen del Módulo 2.3
- ✓ SCRIPT punto M D con un arco de 8–9 escenas: hook → principio → mecánica → insight → aplicación → avanzado → ejemplo → cierre → CTA
- ✓ Narración de 1–3 frases por escena; ~100s de habla en total ≈ 1:50 de video
- ✓ Expansión de siglas: "SKILL.md" → "SKILL punto M D"; ".claude/skills" → "punto claude barra skills"; "inema.club" → "inema punto club"
- ✓ Generar WAV:
npx hyperframes tts "assets/txt/s1.txt" --voice pf_dora --speed 0.98 --output assets/audio/s1.wav - ✓ Medir la duración:
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 assets/audio/s1.wav - ✓ Voces PT-BR:
pf_dora(por defecto),pm_alex,pm_santa— sin espeak-ng, sin clave, ~340 MB de descarga única
build-index.mjs usando las duraciones de los WAV. Define LEAD, TAIL, FADE y los tiempos de cada animación para generar el index.html final listo para renderizar.