Generación de Voz
Las variables VV y PY se definen como en el skill videomotion.
Ejecución
"$PY" "$VV/tools/voice/voice.py" <proyecto> > <proyecto>/voice.log 2>&1
Ejecutar en segundo plano si el guion dura más de 1 minuto. Finaliza cuando aparezca VOICEDONE en el log. Cada lectura se cachea por contenido: si se modifica una frase en script.json y se vuelve a ejecutar, solo esa frase se regenera.
Lectura de resultados
- Cada frase imprime
score <id>: <puntuación> ok|WEAK | <lo que Whisper escuchó>. - Una sola ejecución es suficiente. La puntuación solo sirve para filtrar, no es necesario perseguir una puntuación alta. WEAK causado por Whisper al escuchar mal nombres en inglés ("Claude" como "Clock", "code" como "cốt") no es un error de lectura.
- WEAK real (lectura incorrecta, saltos de palabras, errores en números): corregir en este orden
- reescribir la frase para que tenga un sujeto en vietnamita, evitar frases de menos de 5 palabras o que comiencen con un nombre en inglés;
- agregar una entrada en
"pron"dentro descript.json, por ejemplo"MCP": "em xi pi"(la clave con mayúsculas coincide exactamente con mayúsculas/minúsculas); - volver a ejecutar con
--candidates 4.
- Para palabras que se deben corregir en todos los proyectos: agregar a
~/.motionfly/pron.json.
Voces
Por defecto Ngọc Huyền (femenino, Norte). Algunas voces disponibles: Ngọc Huyền, Mai Anh (noticias), Trúc Ly, Thùy Dung (Sur, noticias), Hải Đăng, Thiện Minh (narración), Quang Sơn y Ngọc Trân (Centro). Ver las 25 voces completas:
"$PY" -c "from vieneu import Vieneu; [print(v[0]) for v in Vieneu().list_preset_voices()]"
Establecer la voz en la clave "voice" de script.json.
Salida
voice.wav: 48 kHz mono, con pausas: inicio 0,5 s, entre frases 0,35 s, entre|0,55 s, entre escenas 0,7 s, final 0,8 s.words.json:total,scenes(marcas de inicio y fin de cada escena),segments(cada frase, puntuación, bandera weak),words(cada palabra mostrada constart,end). La palabra mostrada mantiene el texto original del guion, incluso si la pronunciación ha sido modificada mediantepron.