$npx -y skills add calesthio/OpenMontage --skill acestepAI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when generating music, soundtracks, jingles, or working with audio stems. Triggers include background music, soundtrack, jingle, music generation, stem extrac
| 1 | # ACE-Step 1.5 Music Generation |
| 2 | |
| 3 | Open-source music generation (MIT license) via `tools/music_gen.py`. Runs on RunPod serverless. |
| 4 | Requires `RUNPOD_API_KEY` and `RUNPOD_ACESTEP_ENDPOINT_ID` in `.env` (run `--setup` to create endpoint). |
| 5 | |
| 6 | ## Quick Reference |
| 7 | |
| 8 | ```bash |
| 9 | # Basic generation |
| 10 | python tools/music_gen.py --prompt "Upbeat tech corporate" --duration 60 --output bg.mp3 |
| 11 | |
| 12 | # With musical control |
| 13 | python tools/music_gen.py --prompt "Calm ambient piano" --duration 30 --bpm 72 --key "D Major" --output ambient.mp3 |
| 14 | |
| 15 | # Scene presets (video production) |
| 16 | python tools/music_gen.py --preset corporate-bg --duration 60 --output bg.mp3 |
| 17 | python tools/music_gen.py --preset tension --duration 20 --output problem.mp3 |
| 18 | python tools/music_gen.py --preset cta --brand digital-samba --duration 15 --output cta.mp3 |
| 19 | |
| 20 | # Vocals with lyrics |
| 21 | python tools/music_gen.py --prompt "Indie pop jingle" --lyrics "[verse]\nBuild it better\nShip it faster" --duration 30 --output jingle.mp3 |
| 22 | |
| 23 | # Cover / style transfer |
| 24 | python tools/music_gen.py --cover --reference theme.mp3 --prompt "Jazz piano version" --duration 60 --output jazz_cover.mp3 |
| 25 | |
| 26 | # Stem extraction |
| 27 | python tools/music_gen.py --extract vocals --input mixed.mp3 --output vocals.mp3 |
| 28 | |
| 29 | # List presets |
| 30 | python tools/music_gen.py --list-presets |
| 31 | ``` |
| 32 | |
| 33 | ## Creating a Song (Step by Step) |
| 34 | |
| 35 | ### 1. Instrumental background track (simplest) |
| 36 | ```bash |
| 37 | python tools/music_gen.py --prompt "Upbeat indie rock, driving drums, jangly guitar" --duration 60 --bpm 120 --key "G Major" --output track.mp3 |
| 38 | ``` |
| 39 | |
| 40 | ### 2. Song with vocals and lyrics |
| 41 | Write lyrics in a temp file or pass inline. Use structure tags to control song sections. |
| 42 | |
| 43 | ```bash |
| 44 | # Write lyrics to a file first (recommended for longer songs) |
| 45 | cat > /tmp/lyrics.txt << 'LYRICS' |
| 46 | [Verse 1] |
| 47 | Walking through the morning light |
| 48 | Coffee in my hand feels right |
| 49 | Another day to build and dream |
| 50 | Nothing's ever what it seems |
| 51 | |
| 52 | [Chorus - anthemic] |
| 53 | WE KEEP MOVING FORWARD |
| 54 | Through the noise and doubt |
| 55 | We keep moving forward |
| 56 | That's what it's about |
| 57 | |
| 58 | [Verse 2] |
| 59 | Screens are glowing late at night |
| 60 | Shipping code until it's right |
| 61 | The deadline's close but so are we |
| 62 | Almost there, just wait and see |
| 63 | |
| 64 | [Chorus - bigger] |
| 65 | WE KEEP MOVING FORWARD |
| 66 | Through the noise and doubt |
| 67 | We keep moving forward |
| 68 | That's what it's about |
| 69 | |
| 70 | [Outro - fade] |
| 71 | (Moving forward...) |
| 72 | LYRICS |
| 73 | |
| 74 | # Generate the song |
| 75 | python tools/music_gen.py \ |
| 76 | --prompt "Upbeat indie rock anthem, male vocal, driving drums, electric guitar, studio polish" \ |
| 77 | --lyrics "$(cat /tmp/lyrics.txt)" \ |
| 78 | --duration 60 \ |
| 79 | --bpm 128 \ |
| 80 | --key "G Major" \ |
| 81 | --output my_song.mp3 |
| 82 | ``` |
| 83 | |
| 84 | ### 3. Using a preset for video background |
| 85 | ```bash |
| 86 | python tools/music_gen.py --preset tension --duration 20 --output problem_scene.mp3 |
| 87 | ``` |
| 88 | |
| 89 | ### Key tips for good results |
| 90 | - **Caption = overall style** (genre, instruments, mood, production quality) |
| 91 | - **Lyrics = temporal structure** (verse/chorus flow, vocal delivery) |
| 92 | - **UPPERCASE in lyrics** = high vocal intensity |
| 93 | - **Parentheses** = background vocals: "We rise (together)" |
| 94 | - **Keep 6-10 syllables per line** for natural rhythm |
| 95 | - **Don't describe the melody in the caption** — describe the *sound* and *feeling* |
| 96 | - **Use `--seed`** to lock randomness when iterating on prompt/lyrics |
| 97 | |
| 98 | ## Scene Presets |
| 99 | |
| 100 | | Preset | BPM | Key | Use Case | |
| 101 | |--------|-----|-----|----------| |
| 102 | | `corporate-bg` | 110 | C Major | Professional background, presentations | |
| 103 | | `upbeat-tech` | 128 | G Major | Product launches, tech demos | |
| 104 | | `ambient` | 72 | D Major | Overview slides, reflective content | |
| 105 | | `dramatic` | 90 | D Minor | Reveals, announcements | |
| 106 | | `tension` | 85 | A Minor | Problem statements, challenges | |
| 107 | | `hopeful` | 120 | C Major | Solution reveals, resolutions | |
| 108 | | `cta` | 135 | E Major | Call to action, closing energy | |
| 109 | | `lofi` | 85 | F Major | Screen recordings, coding demos | |
| 110 | |
| 111 | ## Task Types |
| 112 | |
| 113 | ### text2music (default) |
| 114 | Generate music from text prompt + optional lyrics. |
| 115 | |
| 116 | ### cover |
| 117 | Style transfer from reference audio. Control blend with `--cover-strength` (0.0-1.0): |
| 118 | - **0.2** — Loose style inspiration (more creative freedom) |
| 119 | - **0.5** — Balanced style transfer |
| 120 | - **0.7** — Close to original structure (default) |
| 121 | - **1.0** — Maximum fidelity to source |
| 122 | |
| 123 | ### extract |
| 124 | Stem separation — isolate individual tracks from mixed audio. |
| 125 | Tracks: `vocals`, `drums`, `bass`, `guitar`, `piano`, `keyboard`, `strings`, `brass`, `woodwinds`, `other` |
| 126 | |
| 127 | ### repaint (future) |
| 128 | Regenerate a specific time segment within existing audio while preserving the rest. |
| 129 | |
| 130 | ### lego (future, requires base model) |
| 131 | Generate individual instrument tracks within an existing audio context. |
| 132 | |
| 133 | ### complete (future, requires base model) |
| 134 | Extend partial composi |