Qué vas a conseguir
Obtener los tiempos reales de cada palabra de tu narración y convertirlos en subtítulos que resalten la palabra activa sin perder legibilidad en el móvil.
Qué necesitas
- La pista de voz final del vídeo, ya montada
- Whisper de OpenAI instalado (requiere Python y ffmpeg) o un editor con transcripción automática
- El guion escrito para revisar la transcripción
1. Qué aporta un subtítulo palabra a palabra
En un subtítulo palabra a palabra, la frase aparece en pantalla y la palabra que se está pronunciando cambia de color, de peso o de fondo; también puedes mostrar las palabras una a una a medida que se dicen. Es el estilo que se suele llamar karaoke. Ayuda a seguir la narración cuando el vídeo empieza sin sonido y marca el ritmo de la voz sobre la imagen.
El efecto solo funciona si el resaltado coincide con lo que se oye. Un resaltado que va por delante o por detrás de la voz se nota enseguida y resulta más molesto que un subtítulo estático. Por eso este tutorial empieza por los tiempos de cada palabra y deja el estilo para después. Si aún no tienes la voz definitiva, cierra antes el guion: cada cambio de grabación obliga a recalcular los tiempos.
2. Obtén el tiempo de cada palabra con Whisper
Whisper es un modelo de reconocimiento de voz de código abierto que se puede ejecutar en tu ordenador desde la línea de comandos. Su opción --word_timestamps, marcada como experimental en el propio código, calcula el inicio y el final de cada palabra. Con salida JSON obtienes una lista de segmentos y, dentro de cada uno, las palabras con sus marcas start y end en segundos.
Indica el idioma con --language es para evitar que lo detecte mal en audios cortos. Si quieres un subtítulo listo para importar, la salida SRT admite --highlight_words True, que subraya cada palabra mientras se pronuncia, y --max_words_per_line para limitar cuántas aparecen a la vez. Ejecuta whisper --help en tu instalación para confirmar las opciones de tu versión.
# Tiempos por palabra en JSON
whisper voz.wav --model turbo --language es \
--word_timestamps True --output_format json --output_dir subtitulos
# SRT con la palabra activa subrayada y frases cortas
whisper voz.wav --model turbo --language es \
--word_timestamps True --highlight_words True \
--max_words_per_line 4 --output_format srt --output_dir subtitulosRevisa siempre la transcripción contra tu guion. Nombres propios, términos técnicos y cifras son los errores más habituales del reconocimiento automático.
3. Sincronía real frente a reparto uniforme
Un atajo frecuente es tomar la duración de una frase y repartirla a partes iguales entre sus palabras. Es fácil de programar, pero la voz no funciona así: las palabras largas duran más, hay pausas antes de una idea importante y los monosílabos pasan casi sin tiempo. Con un reparto uniforme, el resaltado se adelanta en unas palabras y se retrasa en otras.
Con marcas de tiempo por palabra, el resaltado sigue a la voz tal como se grabó. Aun así, revísalo: el reconocimiento puede pegar dos palabras, estirar una sobre un silencio o desplazar unos fotogramas el inicio. Corrige a mano esos casos en el editor o en el JSON antes de generar los subtítulos. Recuerda también que el montaje manda: si recortas la voz después, los tiempos dejan de valer.
- Transcribe la voz final, no una toma provisional.
- Corrige el texto con el guion delante.
- Reproduce el vídeo a velocidad normal y marca los desajustes visibles.
- Ajusta solo las palabras que fallan y vuelve a comprobar.
4. Hazlos legibles en una pantalla pequeña
Un subtítulo animado sigue siendo un subtítulo: si no se lee, no sirve. Muestra frases cortas, de pocas palabras, y no pases de dos líneas. Corta las frases por unidades de sentido, no en mitad de un artículo y su sustantivo. Deja que cada bloque permanezca en pantalla el tiempo suficiente para leerlo entero, aunque la palabra activa vaya cambiando.
Asegura el contraste entre el texto y la imagen que haya detrás en cada momento, no solo en el primer fotograma: un contorno, una sombra o una caja detrás del texto ayudan cuando el fondo cambia. Para la palabra activa basta con una diferencia clara y constante, como otro color o un fondo, sin animaciones que hagan saltar la línea. Coloca el bloque por encima de la franja inferior que ocupan la descripción y los botones de la aplicación, y fuera del lateral derecho; el tutorial de vídeos 3D para TikTok y Shorts explica cómo comprobar esas zonas con un borrador.
5. Elige cómo generar el resultado
Si trabajas con un editor de vídeo que importa SRT, el archivo con --highlight_words es la vía más rápida, aunque el aspecto del resaltado dependerá de cómo el editor interprete ese formato. Muchos editores incluyen además transcripción automática con animación por palabra; en ese caso revisa igualmente el texto y los tiempos que proponen.
Si quieres un estilo propio y repetible, genera los subtítulos por script a partir del JSON: agrupa las palabras en bloques cortos y crea, para cada palabra, un elemento que empiece en su start y termine en su end. En Blender puedes hacerlo con tiras de texto en el Video Sequencer, situándolas en el fotograma que corresponde a cada tiempo con los fps del proyecto. Pieza a Pieza ofrece un kit con las skills que usa el canal para automatizar partes de este tipo de flujo.
import json
FPS = 30
MAX_WORDS = 4
with open("subtitulos/voz.json", encoding="utf-8") as f:
data = json.load(f)
words = [w for seg in data["segments"] for w in seg.get("words", [])]
blocks = [words[i:i + MAX_WORDS] for i in range(0, len(words), MAX_WORDS)]
for block in blocks:
text = " ".join(w["word"].strip() for w in block)
for w in block:
start_frame = round(w["start"] * FPS)
end_frame = round(w["end"] * FPS)
print(start_frame, end_frame, w["word"].strip(), "|", text)Fuentes y criterio de revisión
Guía preparada con asistencia de IA y contrastada con estas referencias. El ejercicio descargable se ha ejecutado en Blender 4.5.13 LTS. Las indicaciones de interfaz pueden variar en otras versiones.
- Whisper, repositorio oficial de OpenAI
- Opciones de línea de comandos de Whisper (transcribe.py)
- Text Strip, Blender 4.5
Si encuentras un paso que no coincide con tu instalación, escríbenos indicando la versión y el paso.
Sigue con tu proyecto
Hazlo con nuestro método.
El Kit Pieza a Pieza reúne las cinco skills de IA con las que hacemos cada episodio: guion, animación, materiales, grafismo y render, para tu agente de IA.