Communitygithub.com

andyluu98/VideoMotion

Sinh giọng đọc tiếng Việt bằng VieNeu-TTS từ script.json của một dự án video, tự chấm phát âm bằng Whisper, giữ bản đọc tốt nhất, lấy mốc thời gian từng từ (voice.wav, words.json). Dùng ở bước 4 của /videomotion, hoặc khi người dùng nói "sinh giọng", "đọc lại câu", "đổi giọng", "sửa phát âm".

What is VideoMotion?

VideoMotion is a Claude Code agent skill that sinh giọng đọc tiếng Việt bằng VieNeu-TTS từ script.json của một dự án video, tự chấm phát âm bằng Whisper, giữ bản đọc tốt nhất, lấy mốc thời gian từng từ (voice.wav, words.json). Dùng ở bước 4 của /videomotion, hoặc khi người dùng nói "sinh giọng", "đọc lại câu", "đổi giọng", "sửa phát âm".

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

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Giọng đọc

Biến VV, PY như trong skill videomotion.

Chạy

"$PY" "$VV/tools/voice/voice.py" <du-an> > <du-an>/voice.log 2>&1

Chạy nền nếu kịch bản dài hơn 1 phút. Xong khi log in VOICEDONE. Mọi bản sinh được cache theo nội dung: sửa một câu trong script.json rồi chạy lại thì chỉ câu đó được sinh lại.

Đọc kết quả

  • Mỗi câu in score <id>: <điểm> ok|WEAK | <điều Whisper nghe được>.
  • Chạy một lượt là đủ. Điểm chỉ để sàng lọc, không cần đuổi theo điểm cao. WEAK do Whisper nghe sai tên tiếng Anh ("Claude" thành "Clock", "code" thành "cốt") không phải lỗi đọc.
  • WEAK thật (đọc sai, nuốt chữ, đọc chữ số sai): sửa theo thứ tự
    1. viết lại câu cho có chủ ngữ tiếng Việt, tránh câu ngắn dưới 5 từ hoặc mở đầu bằng tên tiếng Anh;
    2. thêm mục vào "pron" trong script.json, ví dụ "MCP": "em xi pi" (khóa có chữ hoa thì khớp đúng hoa thường);
    3. chạy lại với --candidates 4.
  • Từ cần sửa cho mọi dự án: thêm vào ~/.motionfly/pron.json.

Giọng

Mặc định Ngọc Huyền (nữ, Bắc). Một số giọng có sẵn: Ngọc Huyền, Mai Anh (tin tức), Trúc Ly, Thùy Dung (Nam, tin tức), Hải Đăng, Thiện Minh (kể chuyện), Quang Sơn và Ngọc Trân (Trung). Xem đủ 25 giọng:

"$PY" -c "from vieneu import Vieneu; [print(v[0]) for v in Vieneu().list_preset_voices()]"

Đặt giọng ở khóa "voice" trong script.json.

Đầu ra

  • voice.wav: 48 kHz mono, có khoảng nghỉ: đầu 0,5 s, giữa câu 0,35 s, dấu | 0,55 s, giữa cảnh 0,7 s, cuối 0,8 s.
  • words.json: total, scenes (mốc đầu cuối từng cảnh), segments (từng câu, điểm, cờ weak), words (từng từ hiển thị với start, end). Từ hiển thị giữ đúng chữ trong kịch bản, kể cả khi chữ đọc đã được đổi qua 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".

Related Skills