Communitygithub.com

andyluu98/VideoMotion

BGM配乐及音频混音工具:为视频项目选择或生成背景音乐,自动检测节拍,并与语音进行智能混音(对白时自动降低音乐音量,输出符合-14 LUFS标准)。适用于 /videomotion 流程的第6步,或当用户上传音乐文件、说“换音乐”、“音乐更活泼”、“音乐小一点”时使用。

VideoMotion 是什么?

VideoMotion BGM 技能是一个为视频项目自动选择、生成和混音背景音乐的工具。它支持三种音乐来源:用户上传的音乐文件、通过代码合成的音乐(默认选项),以及未来会集成的 ACE-Step 库。该技能能根据视频时长、情绪风格(如 calm、inspiring、upbeat、tech)和节拍(BPM)自动生成音乐,并输出节拍数据文件(beats.json),以便进行精准的按节拍剪辑。混音阶段,技能使用专业的音频混合脚本,将音乐与人声以设定的音量比例混合,并自动执行 ducking(对白时降低音乐音量),最终输出符合广播标准 -14 LUFS 的音频文件。用户还可以通过自然语言指令(如“音乐小一点”、“音乐更活泼”)调整混音参数。此技能主要集成在 /videomotion 工作流中,也可作为独立工具在用户上传音乐或发出相关指令时触发。

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

在你喜欢的 AI 中提问

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

文档

背景音乐

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

选择来源(按优先级)

  1. 用户提供的音乐文件: 复制到 <project>/music/bgm.<ext> 并转换为 bgm.wav: ffmpeg -y -i <file> -ar 48000 -ac 2 <project>/music/bgm.wav。如果音乐比视频短,则通知用户(混音器会将缺失部分静音)。
  2. ACE-Step(此版本尚未实现;安装后会在此处注明)。
  3. 通过代码合成的音乐(当没有来源1和2时的默认选项):
"$PY" "$VV/tools/music/synth.py" <project> --duration <words.json中的总时长> --mood <mood> [--bpm N] [--seed N]

根据视频风格和内容选择 mood:

mood(情绪)默认 BPM适合场景
calm84白板讲解、慢速教学、严肃主题
inspiring96说明视频、培训教程、正面故事
upbeat112广告、宣传片、快速蒙太奇
tech104深色主题、科技产品、数据可视化

更改 --seed 值可在同一 mood 下获得不同旋律。除非用户提供了文件并确认许可,否则切勿从网上下载音乐并将其打包到仓库或项目中。

节拍检测(需要按节拍剪辑时)

合成音乐已包含 music/beats.json。用户提供的音乐需通过从 bestagentkits 复制的脚本进行检测:

"$PY" "$VV/vendor/bestagentkits/fit-beat-grid.py" <project>/music/bgm.wav --min-bpm 70 --max-bpm 140

将输出的 BPM 和 BEAT0 写入 music/beats.json(格式:{"bpm":..,"beat0":..,"source":"fit-beat-grid"})。各小节的 dB 数据可指示音乐渐强(build)和爆发(drop)的位置:如果可能,将脚本的高潮场景与 drop 位置对齐。

混音

"$PY" "$VV/tools/audio/mix.py" mix <project> [--music-db -6] [--duck-db 5]
  • --music-db:说话时音乐相对于人声的音量(默认 -6 dB)。用户说“音乐小一点”则调低(-9);“听不到音乐”则调高(-4)。
  • --duck-db:无人声时音乐增大的音量(默认 5 dB)。
  • 输出 MIXDONE I=<LUFS> TP=<dBTP>。当 I 在 -14 ± 0.5 范围内且 TP 不超过 -1.0 时达标。

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

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".

相关技能