Communitygithub.com

andyluu98/VideoMotion

Genera voz en vietnamita usando VieNeu-TTS desde script.json de un proyecto de video, autoevalúa la pronunciación con Whisper, conserva la mejor lectura y extrae marcas de tiempo de cada palabra (voice.wav, words.json). Se usa en el paso 4 de /videomotion, o cuando el usuario dice "generar voz", "releer frase", "cambiar voz", "corregir pronunciación".

¿Qué es VideoMotion?

Este skill, parte del ecosistema de /videomotion, automatiza la generación de locuciones en vietnamita para proyectos de video. Lee el archivo script.json del proyecto, envía cada frase al motor de TTS VieNeu-TTS, y luego evalúa automáticamente la pronunciación usando Whisper para asignar una puntuación. Conserva la mejor lectura cuando se ejecuta múltiples veces (con --candidates), y produce un archivo voice.wav de 48 kHz con pausas predefinidas y un archivo words.json detallado que contiene las marcas de inicio y fin de cada palabra, segmento y escena. Soporta más de 25 voces, incluyendo opciones regionales (norte, centro, sur) y estilos (noticias, narración). Es útil para creadores de contenido que buscan locuciones precisas y consistentes sin edición manual. El skill también permite corregir pronunciaciones personalizadas mediante el campo "pron" en script.json o un archivo global ~/.motionfly/pron.json, y maneja automáticamente el cacheo de frases ya generadas para ahorrar tiempo en iteraciones.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/andyluu98/VideoMotion/tree/HEAD/skills/vm-giong

Preguntar en tu IA favorita

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

Documentación

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
    1. 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;
    2. agregar una entrada en "pron" dentro de script.json, por ejemplo "MCP": "em xi pi" (la clave con mayúsculas coincide exactamente con mayúsculas/minúsculas);
    3. 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 con start, end). La palabra mostrada mantiene el texto original del guion, incluso si la pronunciación ha sido modificada mediante pron.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

andyluu98/VideoMotion

Làm video tiếng Việt từ một yêu cầu, AI làm đạo diễn, không khung dựng sẵn: ý tưởng lớn, kịch bản, giọng VieNeu, phân cảnh theo lời, nhạc nền, dựng từng cảnh bằng agent Sonnet chạy song song (HyperFrames + GSAP), phụ đề, xuất MP4. Dùng khi người dùng gõ "/videomotion", "làm video", "video giải thích", "clip ngắn về X", "biến bài này thành video".

andyluu98/VideoMotion

Kiểm tra và cài đặt mọi thứ VideoMotion cần (Node.js, ffmpeg, HyperFrames, môi trường Python, giọng VieNeu, Whisper). Dùng khi người dùng mới cài plugin, gõ "/vm-cai-dat", "cài đặt video", "kiểm tra máy làm video", hoặc khi một bước làm video báo thiếu công cụ.

andyluu98/VideoMotion

Dựng hình cho dự án VideoMotion đã có giọng và phân cảnh: tải phông của style, viết màu, giao từng cảnh cho agent vm-canh chạy song song, ghép, kiểm tra kỹ thuật, render, ghép âm thanh và phụ đề. Dùng ở bước 7 của /videomotion, hoặc khi người dùng nói "dựng lại cảnh", "render", "xuất video", "sửa hình cảnh X".

andyluu98/VideoMotion

Chọn hoặc tạo nhạc nền cho dự án video, đo nhịp, rồi trộn với giọng (nhạc tự hạ khi có lời, chuẩn -14 LUFS). Dùng ở bước 6 của /videomotion, hoặc khi người dùng gửi file nhạc, nói "đổi nhạc", "nhạc sôi động hơn", "nhạc nhỏ lại".

Skills relacionados