Communitygithub.com

andyluu98/VideoMotion

使用VieNeu-TTS从视频项目的script.json生成越南语配音,通过Whisper自动评估发音,保留最佳录音,生成逐词时间戳(voice.wav, words.json)。适用于/videomotion的第4步,或当用户说“生成配音”、“重新朗读句子”、“更换声音”、“修正发音”时。

VideoMotion 是什么?

该技能为AI代理(如Claude Code、Cursor、Codex)提供从视频项目脚本生成越南语配音的功能。它使用VieNeu-TTS引擎生成语音,通过Whisper自动评估发音准确性,并保留最佳录音。输出包含48 kHz单声道音频文件(voice.wav)和详细的时间戳JSON文件(words.json),支持逐词级别的时间对齐。该技能专为/videomotion工作流程的第4步设计,也可通过自然语言命令如“生成配音”、“重新朗读句子”、“更换声音”或“修正发音”触发。它支持缓存机制,只重新生成修改过的句子,并允许通过脚本中的“pron”字段自定义发音,或通过全局配置文件设置跨项目通用的发音修正。支持25种预设声音,包括不同地区口音和语调风格。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/andyluu98/VideoMotion/tree/HEAD/skills/vm-giong

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

配音

变量 VV、PY 与 videomotion 技能中相同。

运行

"$PY" "$VV/tools/voice/voice.py" <项目> > <项目>/voice.log 2>&1

如果脚本长度超过1分钟,则在后台运行。当日志中出现 VOICEDONE 时表示完成。所有生成的音频均根据内容缓存:修改 script.json 中的某句后重新运行,只会重新生成该句。

读取结果

  • 每句输出 score <id>: <分数> ok|WEAK | <Whisper听到的内容>。
  • 运行一次即可。分数仅用于筛选,无需追求高分。因 Whisper 听错英文名称(如“Claude”变成“Clock”,“code”变成“cốt”)导致的 WEAK 并非发音错误。
  • 真正的 WEAK(读错、吞字、数字读错):按以下顺序修正
    1. 重写句子,使其包含越南语主语,避免少于5个词的短句或以英文名称开头;
    2. 在 script.json 的 "pron" 字段中添加条目,例如 "MCP": "em xi pi"(键若包含大写字母,则匹配时区分大小写);
    3. 使用参数 --candidates 4 重新运行。
  • 需要跨项目修正的词:添加到 ~/.motionfly/pron.json。

声音

默认声音为 Ngọc Huyền(女声,北方口音)。部分可用声音:Ngọc Huyền、Mai Anh(新闻播报)、Trúc Ly、Thùy Dung(男声,新闻播报)、Hải Đăng、Thiện Minh(讲故事)、Quang Sơn 和 Ngọc Trân(中部口音)。查看全部25种声音:

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

在 script.json 的 "voice" 字段中设置声音。

输出

  • voice.wav:48 kHz 单声道,包含静音间隔:开头0.5秒,句间0.35秒,| 符号0.55秒,场景间0.7秒,结尾0.8秒。
  • words.json:包含 total、scenes(每个场景的起止时间)、segments(每个句子、分数、weak标志)、words(每个显示的词及其 start、end 时间戳)。显示的单词保持与脚本原文一致,即使实际发音已通过 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".

相关技能