ACE-Step Songwriting Guide
Professional music creation knowledge for writing captions, lyrics, and choosing music parameters for ACE-Step.
Output Format
After using this guide, produce two things for the acestep skill:
- Caption (
-c): Style/genre/instruments/emotion description
- Lyrics (
-l): Complete structured lyrics with tags
- Parameters:
--duration, --bpm, --key, --time-signature, --language
Caption: The Most Important Input
Caption is the most important factor affecting generated music.
Supports multiple formats: simple style words, comma-separated tags, complex natural language descriptions.
Common Dimensions
| Dimension |
Examples |
| Style/Genre |
pop, rock, jazz, electronic, hip-hop, R&B, folk, classical, lo-fi, synthwave |
| Emotion/Atmosphere |
melancholic, uplifting, energetic, dreamy, dark, nostalgic, euphoric, intimate |
| Instruments |
acoustic guitar, piano, synth pads, 808 drums, strings, brass, electric bass |
| Timbre Texture |
warm, bright, crisp, muddy, airy, punchy, lush, raw, polished |
| Era Reference |
80s synth-pop, 90s grunge, 2010s EDM, vintage soul, modern trap |
| Production Style |
lo-fi, high-fidelity, live recording, studio-polished, bedroom pop |
| Vocal Characteristics |
female vocal, male vocal, breathy, powerful, falsetto, raspy, choir |
| Speed/Rhythm |
slow tempo, mid-tempo, fast-paced, groovy, driving, laid-back |
| Structure Hints |
building intro, catchy chorus, dramatic bridge, fade-out ending |
Caption Writing Principles
- Specific beats vague — "sad piano ballad with female breathy vocal" > "a sad song"
- Combine multiple dimensions — style+emotion+instruments+timbre anchors direction precisely
- Use references well — "in the style of 80s synthwave" conveys complex aesthetic quickly
- Texture words are useful — warm, crisp, airy, punchy influence mixing and timbre
- Don't pursue perfection — Caption is a starting point, iterate based on results
- Granularity determines freedom — Less detail = more model creativity; more detail = more control
- Avoid conflicting words — "classical strings" + "hardcore metal" degrades output
- Fix: Repetition reinforcement — Repeat the elements you want more
- Fix: Conflict to evolution — "Start with soft strings, middle becomes metal rock, end turns to hip-hop"
- Don't put BPM/key/tempo in Caption — Use dedicated parameters instead
Lyrics: The Temporal Script
Lyrics controls how music unfolds over time. It carries:
- Lyric text itself
- Structure tags ([Verse], [Chorus], [Bridge]...)
- Vocal style hints ([raspy vocal], [whispered]...)
- Instrumental sections ([guitar solo], [drum break]...)
- Energy changes ([building energy], [explosive drop]...)
Structure Tags
| Category |
Tag |
Description |
| Basic Structure |
[Intro] |
Opening, establish atmosphere |
|
[Verse] / [Verse 1] |
Verse, narrative progression |
|
[Pre-Chorus] |
Pre-chorus, build energy |
|
[Chorus] |
Chorus, emotional climax |
|
[Bridge] |
Bridge, transition or elevation |
|
[Outro] |
Ending, conclusion |
| Dynamic Sections |
[Build] |
Energy gradually rising |
|
[Drop] |
Electronic music energy release |
|
[Breakdown] |
Reduced instrumentation, space |
| Instrumental |
[Instrumental] |
Pure instrumental, no vocals |
|
[Guitar Solo] |
Guitar solo |
|
[Piano Interlude] |
Piano interlude |
| Special |
[Fade Out] |
Fade out ending |
|
[Silence] |
Silence |
Combining Tags
Use - for finer control, but keep it concise:
✅ [Chorus - anthemic]
❌ [Chorus - anthemic - stacked harmonies - high energy - powerful - epic]
Put complex style descriptions in Caption, not in tags.
Caption-Lyrics Consistency
Models are not good at resolving conflicts. Checklist:
- Instruments in Caption ↔ Instrumental section tags in Lyrics
- Emotion in Caption ↔ Energy tags in Lyrics
- Vocal description in Caption ↔ Vocal control tags in Lyrics
Vocal Control Tags
| Tag |
Effect |
[raspy vocal] |
Raspy, textured vocals |
[whispered] |
Whispered |
[falsetto] |
Falsetto |
[powerful belting] |
Powerful, high-pitched singing |
[spoken word] |
Rap/recitation |
[harmonies] |
Layered harmonies |
[call and response] |
Call and response |
[ad-lib] |
Improvised embellishments |
Energy and Emotion Tags
| Tag |
Effect |
[high energy] |
High energy, passionate |
[low energy] |
Low energy, restrained |
[building energy] |
Increasing energy |
[explosive] |
Explosive energy |
[melancholic] |
Melancholic |
[euphoric] |
Euphoric |
[dreamy] |
Dreamy |
[aggressive] |
Aggressive |
Lyric Writing Tips
- 6-10 syllables per line — Model aligns syllables to beats; keep similar counts for lines in same position (±1-2)
- Uppercase = stronger intensity —
WE ARE THE CHAMPIONS! (shouting) vs walking through the streets (normal)
- Parentheses = background vocals —
We rise together (together)
- Extend vowels —
Feeeling so aliiive (use cautiously, effects unstable)
- Clear section separation — Blank lines between sections
Avoiding "AI-flavored" Lyrics
| Red Flag |
Description |
| Adjective stacking |
"neon skies, electric hearts, endless dreams" — vague imagery filler |
| Rhyme chaos |
Inconsistent patterns or forced rhymes breaking meaning |
| Blurred boundaries |
Lyric content crosses structure tags |
| No breathing room |
Lines too long to sing in one breath |
| Mixed metaphors |
Water → fire → flying — listeners can't anchor |
Metaphor discipline: One core metaphor per song, explore its multiple aspects.
Music Metadata
Most of the time, let LM auto-infer. Only set manually when you have clear requirements.
| Parameter |
Range |
Description |
bpm |
30–300 |
Slow 60–80, mid 90–120, fast 130–180 |
keyscale |
Key |
e.g. C Major, Am. Common keys (C, G, D, Am, Em) most stable |
timesignature |
Time sig |
4/4 (most common), 3/4 (waltz), 6/8 (swing) |
vocal_language |
Language |
Usually auto-detected from lyrics |
duration |
Seconds |
See duration calculation below |
When to Set Manually
| Scenario |
Set |
| Daily generation |
Let LM auto-infer |
| Clear tempo requirement |
bpm |
| Specific style (waltz) |
timesignature=3/4 |
| Match other material |
bpm + duration |
| Specific key color |
keyscale |
Duration Calculation
Estimation Method
- Intro/Outro: 5-10 seconds each
- Instrumental sections: 5-15 seconds each
- Typical structures:
- 2 verses + 2 choruses: 120-150s minimum
- 2 verses + 2 choruses + bridge: 180-240s minimum
- Full song with intro/outro: 210-270s (3.5-4.5 min)
BPM and Duration Relationship
- Slower BPM (60-80): Need MORE duration for same lyrics
- Medium BPM (100-130): Standard duration
- Faster BPM (150-180): Can fit more lyrics, but still need breathing room
Rule of thumb: When in doubt, estimate longer. A song too short feels rushed.
Note: Lyrics tags (piano, powerful, whispered) are consistent with Caption (piano ballad, building to powerful chorus, intimate).
1---2name: acestep-songwriting3description: Music songwriting guide for ACE-Step. Provides professional knowledge on writing captions, lyrics, choosing BPM/key/duration, and structuring songs. Use this skill when users want to create, write, or plan a song before generating it with ACE-Step.4---5
6# ACE-Step Songwriting Guide
7
8Professional music creation knowledge for writing captions, lyrics, and choosing music parameters for ACE-Step.
9
10## Output Format
11
12After using this guide, produce two things for the acestep skill:
131. **Caption** (`-c`): Style/genre/instruments/emotion description
142. **Lyrics** (`-l`): Complete structured lyrics with tags
153. **Parameters**: `--duration`, `--bpm`, `--key`, `--time-signature`, `--language`
16
17---
18
19## Caption: The Most Important Input
20
21**Caption is the most important factor affecting generated music.**
22
23Supports multiple formats: simple style words, comma-separated tags, complex natural language descriptions.
24
25### Common Dimensions
26
27| Dimension | Examples |
28|-----------|----------|
29| **Style/Genre** | pop, rock, jazz, electronic, hip-hop, R&B, folk, classical, lo-fi, synthwave |
30| **Emotion/Atmosphere** | melancholic, uplifting, energetic, dreamy, dark, nostalgic, euphoric, intimate |
31| **Instruments** | acoustic guitar, piano, synth pads, 808 drums, strings, brass, electric bass |
32| **Timbre Texture** | warm, bright, crisp, muddy, airy, punchy, lush, raw, polished |
33| **Era Reference** | 80s synth-pop, 90s grunge, 2010s EDM, vintage soul, modern trap |
34| **Production Style** | lo-fi, high-fidelity, live recording, studio-polished, bedroom pop |
35| **Vocal Characteristics** | female vocal, male vocal, breathy, powerful, falsetto, raspy, choir |
36| **Speed/Rhythm** | slow tempo, mid-tempo, fast-paced, groovy, driving, laid-back |
37| **Structure Hints** | building intro, catchy chorus, dramatic bridge, fade-out ending |
38
39### Caption Writing Principles
40
411. **Specific beats vague** — "sad piano ballad with female breathy vocal" > "a sad song"
422. **Combine multiple dimensions** — style+emotion+instruments+timbre anchors direction precisely
433. **Use references well** — "in the style of 80s synthwave" conveys complex aesthetic quickly
444. **Texture words are useful** — warm, crisp, airy, punchy influence mixing and timbre
455. **Don't pursue perfection** — Caption is a starting point, iterate based on results
466. **Granularity determines freedom** — Less detail = more model creativity; more detail = more control
477. **Avoid conflicting words** — "classical strings" + "hardcore metal" degrades output
48 - **Fix: Repetition reinforcement** — Repeat the elements you want more
49 - **Fix: Conflict to evolution** — "Start with soft strings, middle becomes metal rock, end turns to hip-hop"
508. **Don't put BPM/key/tempo in Caption** — Use dedicated parameters instead
51
52---
53
54## Lyrics: The Temporal Script
55
56Lyrics controls how music unfolds over time. It carries:
57- Lyric text itself
58- **Structure tags** ([Verse], [Chorus], [Bridge]...)
59- **Vocal style hints** ([raspy vocal], [whispered]...)
60- **Instrumental sections** ([guitar solo], [drum break]...)
61- **Energy changes** ([building energy], [explosive drop]...)
62
63### Structure Tags
64
65| Category | Tag | Description |
66|----------|-----|-------------|
67| **Basic Structure** | `[Intro]` | Opening, establish atmosphere |
68| | `[Verse]` / `[Verse 1]` | Verse, narrative progression |
69| | `[Pre-Chorus]` | Pre-chorus, build energy |
70| | `[Chorus]` | Chorus, emotional climax |
71| | `[Bridge]` | Bridge, transition or elevation |
72| | `[Outro]` | Ending, conclusion |
73| **Dynamic Sections** | `[Build]` | Energy gradually rising |
74| | `[Drop]` | Electronic music energy release |
75| | `[Breakdown]` | Reduced instrumentation, space |
76| **Instrumental** | `[Instrumental]` | Pure instrumental, no vocals |
77| | `[Guitar Solo]` | Guitar solo |
78| | `[Piano Interlude]` | Piano interlude |
79| **Special** | `[Fade Out]` | Fade out ending |
80| | `[Silence]` | Silence |
81
82### Combining Tags
83
84Use `-` for finer control, but keep it concise:
85
86```
87✅ [Chorus - anthemic]
88❌ [Chorus - anthemic - stacked harmonies - high energy - powerful - epic]
89```
90
91Put complex style descriptions in Caption, not in tags.
92
93### Caption-Lyrics Consistency
94
95**Models are not good at resolving conflicts.** Checklist:
96- Instruments in Caption ↔ Instrumental section tags in Lyrics
97- Emotion in Caption ↔ Energy tags in Lyrics
98- Vocal description in Caption ↔ Vocal control tags in Lyrics
99
100### Vocal Control Tags
101
102| Tag | Effect |
103|-----|--------|
104| `[raspy vocal]` | Raspy, textured vocals |
105| `[whispered]` | Whispered |
106| `[falsetto]` | Falsetto |
107| `[powerful belting]` | Powerful, high-pitched singing |
108| `[spoken word]` | Rap/recitation |
109| `[harmonies]` | Layered harmonies |
110| `[call and response]` | Call and response |
111| `[ad-lib]` | Improvised embellishments |
112
113### Energy and Emotion Tags
114
115| Tag | Effect |
116|-----|--------|
117| `[high energy]` | High energy, passionate |
118| `[low energy]` | Low energy, restrained |
119| `[building energy]` | Increasing energy |
120| `[explosive]` | Explosive energy |
121| `[melancholic]` | Melancholic |
122| `[euphoric]` | Euphoric |
123| `[dreamy]` | Dreamy |
124| `[aggressive]` | Aggressive |
125
126### Lyric Writing Tips
127
1281. **6-10 syllables per line** — Model aligns syllables to beats; keep similar counts for lines in same position (±1-2)
1292. **Uppercase = stronger intensity** — `WE ARE THE CHAMPIONS!` (shouting) vs `walking through the streets` (normal)
1303. **Parentheses = background vocals** — `We rise together (together)`
1314. **Extend vowels** — `Feeeling so aliiive` (use cautiously, effects unstable)
1325. **Clear section separation** — Blank lines between sections
133
134### Avoiding "AI-flavored" Lyrics
135
136| Red Flag | Description |
137|----------|-------------|
138| **Adjective stacking** | "neon skies, electric hearts, endless dreams" — vague imagery filler |
139| **Rhyme chaos** | Inconsistent patterns or forced rhymes breaking meaning |
140| **Blurred boundaries** | Lyric content crosses structure tags |
141| **No breathing room** | Lines too long to sing in one breath |
142| **Mixed metaphors** | Water → fire → flying — listeners can't anchor |
143
144**Metaphor discipline**: One core metaphor per song, explore its multiple aspects.
145
146---
147
148## Music Metadata
149
150**Most of the time, let LM auto-infer.** Only set manually when you have clear requirements.
151
152| Parameter | Range | Description |
153|-----------|-------|-------------|
154| `bpm` | 30–300 | Slow 60–80, mid 90–120, fast 130–180 |
155| `keyscale` | Key | e.g. `C Major`, `Am`. Common keys (C, G, D, Am, Em) most stable |
156| `timesignature` | Time sig | `4/4` (most common), `3/4` (waltz), `6/8` (swing) |
157| `vocal_language` | Language | Usually auto-detected from lyrics |
158| `duration` | Seconds | See duration calculation below |
159
160### When to Set Manually
161
162| Scenario | Set |
163|----------|-----|
164| Daily generation | Let LM auto-infer |
165| Clear tempo requirement | `bpm` |
166| Specific style (waltz) | `timesignature=3/4` |
167| Match other material | `bpm` + `duration` |
168| Specific key color | `keyscale` |
169
170---
171
172## Duration Calculation
173
174### Estimation Method
175
176- **Intro/Outro**: 5-10 seconds each
177- **Instrumental sections**: 5-15 seconds each
178- **Typical structures**:
179 - 2 verses + 2 choruses: 120-150s minimum
180 - 2 verses + 2 choruses + bridge: 180-240s minimum
181 - Full song with intro/outro: 210-270s (3.5-4.5 min)
182
183### BPM and Duration Relationship
184
185- **Slower BPM (60-80)**: Need MORE duration for same lyrics
186- **Medium BPM (100-130)**: Standard duration
187- **Faster BPM (150-180)**: Can fit more lyrics, but still need breathing room
188
189**Rule of thumb**: When in doubt, estimate longer. A song too short feels rushed.
190
191---
192
193Note: Lyrics tags (piano, powerful, whispered) are consistent with Caption (piano ballad, building to powerful chorus, intimate).