Communitygithub.com

andyluu98/VideoMotion

使用 VieNeu-TTS 生成越南語配音,透過 Whisper 自動評分發音,保留最佳版本,並提供逐字時間戳記 (voice.wav, words.json)。適用於 /videomotion 的第 4 步,或當使用者說「生成語音」、「重新朗讀句子」、「更換語音」、「修正發音」時。

VideoMotion 是什麼?

此技能為 AI 影片製作專案 (VideoMotion) 提供越南語語音生成與品質控制流程。它整合了 VieNeu-TTS 文字轉語音引擎與 OpenAI Whisper 語音辨識系統,自動為 script.json 中的每句台詞生成配音 (voice.wav),並透過 Whisper 進行發音評分,以篩選出最佳朗讀版本。當 Whisper 回報的發音品質不佳 (WEAK) 時,技能會提供具體的修正策略:優先改寫句子以符合越南語語法習慣,其次在 script.json 的 "pron" 欄位中加入自訂發音規則 (例如 "MCP": "em xi pi"),最後可透過 --candidates 4 參數強制產生更多候選版本。此技能支援 25 種越南語語音角色 (如 Ngọc Huyền、Mai Anh、Trúc Ly 等),可透過 script.json 的 "voice" 欄位指定,並會將所有生成結果快取,以利後續疊代修正時僅重新生成被修改的句子。其輸出包含 48kHz 單聲道 WAV 檔案與 words.json 結構化時間戳記,後者提供場景、段落與單字的精確起訖時間,方便後續影片剪輯。

相容平台✓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" <du-an> > <du-an>/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".

相關技能