算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
iopho-audio-director【设计与创意】Plan and assemble the complete audio layer for product videos — BGM selection/generation, voiceover assembly with ducking, SFX placement, and master audio export. Two modes: PLAN (generate audio-plan.md strategy) and ASSEMBLE (execute with FFmpeg). Includes Suno AI music prompt templates with timecodes and proven duck levels. Use when planning audio …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Plan and produce the complete audio layer for product videos: BGM + VO + SFX → master audio.
plan — Generate audio strategyRead the project's storyboard and context, then output an audio-plan.md with:
1. Architecture Decision
Total duration: {X}s @ {fps}fps = {frames} frames
VO coverage: {Y}% of scenes have voiceover
BGM strategy: {continuous bed | scene-matched segments | minimal/ambient}
SFX density: {minimal | moderate | rich}
2. BGM Specification
Scene 1 (0:00-0:08): Low energy — ambient pad, space for hook
Scene 2 (0:08-0:15): Rising — add percussion, build
Scene 3 (0:15-0:30): Peak — full arrangement for demo
...
3. VO Timing Table
| Scene | Start (s) | Start (f) | VO Text | Est. Duration | Engine |
|---|---|---|---|---|---|
| hook-1a | 5.3 | 160 | "..." | 3.5s | ElevenLabs |
4. SFX Placement
| Timestamp | SFX | Trigger | Duration |
|---|---|---|---|
| 0:05 | UI click | Button press in demo | 0.3s |
5. Duck Schedule
| Time Range | BGM Level | Reason |
|---|---|---|
| 0:00-0:05 | 0dB | Music-only intro |
| 0:05-0:09 | -18dB | VO speaking |
| 0:09-0:12 | -12dB | Instrumental visual |
assemble — Execute the audio planTakes individual audio files and combines them into the master audio track.
Inputs needed:
bgm.mp3 — background music (trimmed to video length)master-vo.mp3 — assembled voiceover (from /iopho-voiceover-tts assemble)Assembly sequence:
Trim BGM to video length with fade-out:
ffmpeg -i bgm-full.mp3 -t {duration} -af "afade=t=out:st={duration-3}:d=3" bgm.mp3
Duck BGM under VO (sidechain compress): See references/audio-recipes.md §2b for the ffmpeg command.
Layer SFX at timestamps: See references/audio-recipes.md §2d for adelay placement.
Normalize to platform target:
Export master audio:
{project}/audio/master-audio.mp3 — final mix
{project}/audio/master-audio-loud.mp3 — social media version (-14 LUFS)
analyze — Inspect existing audioRun scripts/analyze_audio.py on any audio file to get:
python3 scripts/analyze_audio.py path/to/audio.mp3 --output analysis.json
python3 scripts/analyze_audio.py path/to/audio.mp3 --gemini # optional AI analysis
Use analysis output to:
| Question | Answer | Action |
|---|---|---|
| Have a storyboard? | Yes | Start with plan mode |
| Have a storyboard? | No | Run /iopho-video-director Phase 1 first |
| Need BGM? | Generate new | Use Suno prompt template from recipes §3 |
| Need BGM? | Have a track | Skip to assemble mode |
| Need VO? | Yes | Run /iopho-voiceover-tts first, then assemble |
| Need VO? | No (music video / MG) | Simpler: just trim + normalize BGM |
| Platform? | YouTube | Target -16 LUFS |
| Platform? | TikTok/Reels | Target -14 LUFS (louder) |
These settings are battle-tested in production (78s explainer, 10 VO segments):
| Parameter | Value | Source |
|---|---|---|
| VO duck level | -18dB | {project}-audio-plan.md |
| Instrumental duck | -12dB | {project}-audio-plan.md |
| Duck fade-down | 200ms | tested in ffmpeg |
| Duck fade-up | 500ms | tested in ffmpeg |
| VO rate-limit (ElevenLabs) | 0.5s between calls | API throttle |
| MP3 bitrate | 128-192kbps | balance quality/size |
| Sample rate | 44100Hz | standard (48kHz for App Store) |
| FPS constant | 30 | project-wide |
See references/audio-recipes.md for:
/iopho-voiceover-tts — produces master-vo.mp3 that this skill ducks under BGM/iopho-video-director — calls this at Phase 1 (plan) and Phase 2 (assemble)/suno-music-creator — generates BGM from Suno prompts (external skill)/remotion-best-practices → rules/audio.md — integrates master-audio into Remotion/iopho-product-context — reads context.md for brand tone → influences BGM mood