Locución AI · Voice-over con edge-tts
Sintetiza frase por frase → elimina silencios → WAV a 48 kHz → durations.json. Los subtítulos y las duraciones de los planos se alinean con la locución real, sin más desincronización.
Parte de ecommerce-video-skills · Script:
scripts/tts_edge.py(solo depende deedge-tts+ ffmpeg)
Entradas Inputs
- Guion de locución (una frase por línea, o el campo
linedestoryboard.json) - Preferencias de idioma / voz (masculino/femenino, alegre/serena), velocidad
- Entorno:
pip install edge-tts, ffmpeg, conexión a internet para acceder al servicio TTS de Microsoft
Pasos Steps
-
Reescribe como guion de locución «fácil de leer» (ver reglas), cada frase de 8–20 caracteres.
-
Elige la voz (
python scripts/tts_edge.py --list zh-CNpara ver todas):Escenario Voz recomendada Recomendación enérgica (masculino) zh-CN-YunxiNeuralRecomendación cercana (femenino) zh-CN-XiaoxiaoNeural/zh-CN-XiaoyiNeuralPromoción apasionada zh-CN-YunjianNeuralExplicación profesional zh-CN-YunyangNeuralTaiwán / Hong Kong zh-TW-HsiaoChenNeural/zh-HK-HiuMaanNeuralInglés en-US-AndrewNeural·en-US-AvaNeural·en-US-EmmaNeural -
Sintetiza:
pip install edge-tts # Prueba una frase python scripts/tts_edge.py "夏天带冰水出门,不到中午就变温了?" --voice zh-CN-YunxiNeural --rate "+10%" -o out/hook.wav # Storyboard completo (una frase por plano → build/tts/l00.wav … + durations.json) python scripts/tts_edge.py --storyboard storyboard.json --outdir build/tts -
Prueba 2 frases antes de procesar todo: velocidad
+5%~+15%suena más natural para ventas; más de+20%parece apresurado. -
Entrega a
ffmpeg-auto-assemble(que llamará este script automáticamente) o a tu software de edición.
Reglas para reescribir el guion Script rules
- Escribe los números como se leen:
2核8G→两核八G;24h→二十四小时; separa letras con espaciosA I. Los subtítulos pueden mantener la escritura original (camposub). - Cada frase solo trata un tema; la coma es el punto de respiración, finaliza con punto o signo de interrogación para que la entonación caiga.
- Elimina palabras formales: «此款产品具有…» → «这只杯子…».
- Si el nombre de una marca en inglés se pronuncia mal, escribe la pronunciación fonética o en pinyin en
line, y mantén la ortografía correcta ensub.
Plantilla de prompt Prompt template
Reescribe el siguiente texto promocional como un guion de locución adecuado para TTS: cada frase de 8–20 caracteres, una idea por frase, lenguaje coloquial;
los números y letras deben escribirse como se leen; además, genera una columna «versión subtítulos» que mantenga la escritura original y resalte **en negrita** 1 palabra clave.
No añadas puntos de venta o datos que no estén en el original. Original: {…}
Lista de verificación Checklist
- Prueba 2 frases para confirmar voz/velocidad
- Números, letras, marcas se pronuncian correctamente
-
durations.jsongenerado, duración total dentro del objetivo - Antes de uso comercial, verifica los requisitos de etiquetado de voz AI en la plataforma y región (p. ej. «Generado por AI»)
Problemas comunes y soluciones Failure fixes
| Problema | Solución |
|---|---|
edge-tts failed / timeout | Problema de red, el script reintenta 3 veces; cambia de red o espera; sin conexión usa assemble.py --tts none para previsualizar video |
| Pronunciación incorrecta | Escribe la pronunciación fonética o en pinyin en line, mantén el original en sub |
| Pausas largas entre frases | Ya se eliminan silencios al inicio y final automáticamente; ajusta pad en el storyboard (por defecto 0.25s) |
| Voz monótona | Cambia a YunjianNeural/XiaoyiNeural; --pitch "+5Hz"; usa signo de interrogación/exclamación al final |
| Necesito voz humana | edge-tts es sintético; para requisitos altos, usa grabaciones reales; el pipeline aún funciona (coloca los audios en build/tts/lXX.wav) |
edge-tts es mantenido por la comunidad (rany2/edge-tts, LGPL-3.0) y llama al servicio en línea de Microsoft; este repositorio solo lo instala como dependencia, no incluye su código.