Train It, Then Talk to It: The Co-Produce AI Training & Prompting Playbook
TL;DR
This is the deep-dive companion to the series: the exact LoRA training command decoded flag by flag (and why those values), then everything you can do with the model once it's trained — generate loops, coax arrangements, flip/restyle existing beats, and PRO song-mode with CFG and negative prompts.
The throughline is prompt vocabulary. Stable Audio 3 only "knows" the words it saw in your captions, so Co-Produce AI pulls your real tag vocabulary straight out of the dataset and hands you prompts written in your model's own language. Match that and adherence jumps.
Includes the full, ready-to-paste prompt libraries: starter loops, an arrangement set, a 100-prompt capability palette (mood, era, instrument, groove, evolving), 20 flip commands, and 20 PRO presets.
📚 Part 4 of a 4-part series. Parts 1–3 covered setup, the full pipeline, and scaling. This post is the practical follow-up to Part 2's training step: now that you've fine-tuned a model, here's how it was trained and how to get the most out of it.
A trained model is only half the instrument. The other half is knowing how it listens — what it learned, what it ignores, and the exact words that steer it. This is that other half.
In this post
- The training command, decoded
- Reality check: how SA3 listens
- How your prompt vocabulary is built
- The caption skeleton to match
- In-vocabulary vs out-of-distribution
- The controlled tag menu
- What improves vs worsens adherence
- Every way to make beats once trained
- Starter loop palette
- Coaxing arrangement
- The five capability levers + library
- Flipping & restyling beats
- PRO generation: CFG & negatives
1. The training command, decoded
Stage · GPU pod · the LoRA fine-tune
Here's the actual command that trains a Co-Produce AI LoRA on a RunPod box, run from inside the Stable Audio 3 repo:
root@pod:/workspace/stable-audio-3# WANDB_MODE=disabled .venv/bin/python scripts/train_lora.py \
--model medium-base \
--data_dir /workspace/sa3_beats \
--rank 16 --lora_alpha 16 --adapter_type dora-rows --dropout 0.05 \
--exclude seconds_total \
--duration 30 --batch_size 8 --lr 2e-4 --steps 4000 \
--base_precision bf16 --seed 42 --num_workers 16 \
--logger csv \
--save_dir /workspace/sweeps/run_r16a16_lr2e4 \
--checkpoint_every 500 --demo_every 250 --log_every 50
Every flag earns its place. Here's what each one does and why it's set this way:
| Flag | What it does & why |
|---|---|
WANDB_MODE=disabled | Turns off Weights & Biases logging so the run is fully local — no account, no network calls, nothing leaves the pod. |
.venv/bin/python | Uses the repo's virtualenv interpreter, not system Python, so the pinned audio/ML stack is exactly what the trainer expects. |
--model medium-base | The base SA3 checkpoint the LoRA attaches to. This must match what you later generate and flip with — a LoRA only fits the base it was trained on. |
--data_dir /workspace/sa3_beats | Your prepared dataset: audio files with matching .txt caption sidecars (the output of Part 2's prepare step). |
--rank 16 | LoRA rank = adapter capacity. 16 is the sweet spot: enough to capture your sound, small enough to train fast and resist overfitting. |
--lora_alpha 16 | Scaling on the LoRA update. Setting alpha equal to rank gives a scaling factor of 1.0 — neutral and predictable behavior. |
--adapter_type dora-rows | DoRA (weight-decomposed LoRA), applied row-wise. Higher fidelity than plain LoRA at the same rank, for little extra cost. |
--dropout 0.05 | Light regularization (5%) to keep the adapter from memorizing individual files. |
--exclude seconds_total | Drops the length conditioning so the model doesn't tie output to a duration token — important when you want flexible-length, loopable beats. |
--duration 30 | Training crop length in seconds. 30s windows give the model whole musical ideas to learn from. |
--batch_size 8 | Eight crops per step — a comfortable fit for a 24 GB card at bf16 with this config. |
--lr 2e-4 | Learning rate. 2e-4 is the reliable default for LoRA on this model — fast enough to converge, stable enough not to blow up. |
--steps 4000 | Total optimization steps. Combined with the checkpoint/demo cadence below, this gives you a range to pick the best stopping point from. |
--base_precision bf16 | bfloat16 compute — memory-efficient and numerically stable on modern (Ampere+) GPUs. |
--seed 42 | Fixes randomness so the run is reproducible. |
--num_workers 16 | Dataloader workers for parallel audio decoding — set near your pod's vCPU count so the GPU never waits on data. |
--logger csv | Writes metrics to a local CSV instead of an online dashboard (pairs with the disabled W&B). |
--save_dir .../run_r16a16_lr2e4 | Output folder whose name encodes the hyperparameters (rank 16, alpha 16, lr 2e-4) so sweep runs stay self-documenting. |
--checkpoint_every 500 | Saves a checkpoint every 500 steps so you can pick the best one by ear — not just whatever the final step produced. |
--demo_every 250 | Renders demo audio every 250 steps. This is your overfit early-warning system: listen as it trains. |
--log_every 50 | Writes a metrics line every 50 steps for a fine-grained loss curve. |
run_r16a16_lr2e4 is a sweep cell — change one hyperparameter, change one part of the name, and your runs never collide. The checkpoint_every + demo_every pairing is the real trick: it turns training into something you audition rather than just launch and hope. You keep the checkpoint that sounds like your catalog but not like specific files.
2. Reality check: how Stable Audio 3 listens
Before any prompting, internalize two hard constraints — they shape everything that follows.
loop, so the model learned to make one-idea, loopable beats — not arranged songs. That's great for beats and sample packs, and it's exactly why structure is hard (more on coaxing it in §10).
So the job isn't to fight the model — it's to speak its language. The next sections are about finding that language and using it.
3. How your prompt vocabulary is built
Stage · on the pod · pure shell, no GPU
The model only knows the words it saw in training. So instead of guessing, Co-Produce AI pulls the real tag vocabulary straight from your captions and shows you a few captions to copy their exact style. It uses find/xargs so it won't choke on ~14k files:
root@pod:/workspace# { echo "# Co-Produce AI — prompt vocabulary (from your captions)"; echo; \
echo "## sample captions — match THIS style/format:"; \
find /workspace/sa3_beats -name '*.txt' | head -5 | while read f; do echo "- $(cat "$f")"; done; echo; \
echo "## most common tags (count | tag) — build prompts from the top ones:"; \
find /workspace/sa3_beats -name '*.txt' -print0 | xargs -0 cat | tr ',' '\n' \
| sed 's/^ *//;s/ *$//' | grep -v '^$' | sort | uniq -c | sort -rn | head -120; \
} > /workspace/prompts.txt && echo "wrote /workspace/prompts.txt" && sed -n '1,30p' /workspace/prompts.txt
It writes a prompts.txt cheat sheet and prints the top of it:
# Co-Produce AI — prompt vocabulary (from your captions)
## sample captions — match THIS style/format:
- hip hop, 120.0 BPM, key of C major, loop, warm, gritty, distorted, 808 heavy, sub bass, melodic
- hip hop, 81.1 BPM, key of A# major, loop, dark, mellow, laid back, hypnotic, gritty, distorted, drum heavy
- hip hop, 150.0 BPM, key of G major, loop, dark, mellow, laid back, hypnotic, gritty, distorted, dusty vinyl, drum heavy
- hip hop, 83.3 BPM, key of C minor, loop, dark, 808 heavy, sub bass, melodic, drum and bass
- hip hop, 81.1 BPM, key of A# major, loop, dark, mellow, laid back, hypnotic, gritty, distorted, drum heavy
## most common tags (count | tag) — build prompts from the top ones:
13855 loop
9162 808 heavy
9010 sub bass
8612 gritty
8149 distorted
7165 melodic
6561 warm
6172 dark
4810 mellow
4810 laid back
2997 hypnotic
2845 bass heavy
2370 trap
2180 energetic
1697 dusty vinyl
Two shorter one-liners do the same job if you just want a quick look:
# most common tag phrases across all training captions
cat /workspace/sa3_beats/*.txt | tr ',' '\n' | sed 's/^ *//;s/ *$//' | grep -v '^$' | sort | uniq -c | sort -rn | head -100
# look at a few captions to copy their STYLE/format exactly
for f in $(ls /workspace/sa3_beats/*.txt | head -5); do echo "--- $f"; cat "$f"; echo; done
4. The caption skeleton to match
Every training caption follows one format. Match this skeleton exactly and adherence jumps:
hip hop, {BPM} BPM, key of {KEY}, loop, {mood / texture tags…}
Notes that matter:
loopappears in 100% of captions — keep it for beats; it signals a loopable one-idea beat.- Lead with genre, BPM, and key, then color. Earlier tokens carry more weight.
- Use 4–8 strong, complementary descriptors — tight and coherent beats a long, contradictory list.
prompts.txt next to your generation prompt and literally copy the comma rhythm of a sample caption. Matching the style and vocabulary of your captions is the single biggest lever you have over output quality.
5. In-vocabulary vs out-of-distribution
The model's strong vocabulary is mood, texture, and low-end — not exotic instruments. Lean into what it saw a lot of:
- Mood / texture / low-end (strong):
808 heavy,sub bass,gritty,distorted,melodic,warm,dark,mellow,laid back,hypnotic,bass heavy. - Genres (strong):
trap,boom bap,drill. - Eras (strong):
2000s,2020s.
6. The controlled tag menu
Co-Produce AI's tagger (auto_tag.py) uses a controlled vocabulary — so the full "list of possible tags" is literally that menu, plus BPM and key. This is the universe your captions are drawn from:
| Group | Tags |
|---|---|
| Mood / feel | dark, bright, warm, cold, aggressive, mellow, melancholic, uplifting, eerie, dreamy, nostalgic, triumphant, tense, playful, romantic, gritty, smooth, epic, minimal, lush, raw, polished, soulful, jazzy, hard hitting, laid back, energetic, hypnotic, spacey |
| Genre | boom bap, trap, drill, lofi, rnb, soul, funk, rock, metal, punk, house, techno, dubstep, drum and bass, ambient, orchestral |
| Texture / production | dusty vinyl, tape saturated, distorted, clean, reverb drenched, dry |
| Low end | 808 heavy, sub bass, reese bass, wobble bass, bass heavy |
| Instrumentation | piano led, guitar driven, synth heavy, string section, vocal chops, male vocal, female vocal, rap vocal, instrumental; (heuristics also add: drum heavy, melodic) |
| Era | 1970s, 1990s, modern |
| Numeric | BPM (e.g. 92) and key (e.g. A minor) attached per clip |
7. What improves vs worsens adherence
Levers that genuinely help, roughly in order of impact:
- In-vocabulary words. Terms the model saw steer it hard; novel words get ignored or muddy. (That's why the extraction step matters.)
- Explicit BPM + key. SA3 responds to a number and a key name far better than "fast" or "sad." Put them early.
- Concrete instruments. "upright bass, Rhodes, rimshot snare" shapes timbre much more than abstract adjectives.
- Front-loading. Genre + BPM + key first, then color — earlier tokens carry more weight.
- 4–8 strong, coherent descriptors. Tight, complementary tags make a focused beat.
- Texture/era words.
dusty vinyl,tape saturated,1990sdramatically change the feel and are cheap to add.
8. Every way to make beats once trained
Once the LoRA exists, Co-Produce AI gives you several distinct generation modes. Pick by what you're after:
| Mode | What it's for | Settings that make it work |
|---|---|---|
| Loop generation | One-idea, loopable beats and sample-pack material — the model's comfort zone. | Keep loop in the prompt, ~30s, LoRA strength ~0.7. |
| Arrangement / full track | Beats that evolve over time (intro/build/drop/outro) — partial and less reliable. | Swap loop → full track + section words, longer --duration (90s), lower --lora-strength (~0.6). |
| Flip / restyle | Take an existing beat and re-skin it in a new style while keeping its bones. | sa3_workflow.py flip with --strength controlling how far it travels (§12). |
| PRO song mode | Maximum control — CFG, step count, seed, and negative prompts. | sa3_workflow.py song with --cfg, --steps, --negative (§13). |
| Interactive (Gradio) | Auditioning with a live CFG slider and instant playback. | Launch the repo's run_gradio.py on the pod and forward its port. |
run_gradio.py on the pod — it exposes a CFG slider (higher = follows the prompt harder, but too high = harsh artifacts). Audition there, then bake your favorite settings into batch commands.
9. Starter loop palette
Two sets to begin with. First, five verbose examples that show the full skeleton — genre + BPM + key + 3–4 mood words + specific instruments + texture/era + mix descriptor:
1) boom bap hip hop instrumental, 92 BPM, A minor, dusty vinyl, jazzy, soulful, laid back, chopped soul sample, warm upright bass, crisp rimshot snare, swung drums, faint vinyl crackle, 1990s, dry mix
2) trap instrumental, 140 BPM, F# minor, dark, aggressive, hard hitting, booming 808 sub bass, rapid hi-hat rolls, ominous bell melody, sparse piano stabs, modern, reverb drenched
3) lofi hip hop instrumental, 72 BPM, C major, mellow, nostalgic, warm, dusty vinyl, mellow Rhodes chords, soft swung drums, tape saturated, gentle sub bass, laid back, instrumental
4) west coast g-funk instrumental, 96 BPM, G minor, smooth, funky, soulful, high synth lead whine, deep sub bass, funk guitar, clean drums, talkbox, 1990s, bright
5) drill instrumental, 144 BPM, D minor, dark, eerie, gritty, hard hitting, sliding 808 bass, dark piano melody, sparse hi-hats, ominous strings, distorted texture, modern
Then a 16-prompt palette (4 per lane), all in your exact caption format and built from your highest-frequency tags:
# TRAP
hip hop, 140 BPM, key of F# minor, loop, trap, dark, 808 heavy, sub bass, gritty, energetic, distorted
hip hop, 144 BPM, key of C minor, loop, trap, dark, hypnotic, 808 heavy, sub bass, bass heavy, melodic
hip hop, 136 BPM, key of G minor, loop, trap, 2020s, energetic, 808 heavy, sub bass, gritty, distorted
hip hop, 132 BPM, key of A minor, loop, trap, dark, melodic, 808 heavy, sub bass, warm, hypnotic
# BOOM BAP
hip hop, 90 BPM, key of A minor, loop, boom bap, dusty vinyl, warm, mellow, laid back, melodic, gritty
hip hop, 88 BPM, key of D minor, loop, boom bap, 2000s, dusty vinyl, warm, gritty, melodic, laid back
hip hop, 93 BPM, key of E minor, loop, boom bap, dark, dusty vinyl, mellow, gritty, melodic
hip hop, 86 BPM, key of C major, loop, boom bap, warm, laid back, dusty vinyl, mellow, melodic
# DRILL
hip hop, 144 BPM, key of D minor, loop, drill, dark, hypnotic, 808 heavy, sub bass, gritty, distorted
hip hop, 142 BPM, key of F minor, loop, drill, dark, 808 heavy, sub bass, bass heavy, energetic, distorted
hip hop, 145 BPM, key of B minor, loop, drill, dark, hypnotic, melodic, 808 heavy, sub bass, gritty
hip hop, 140 BPM, key of G minor, loop, drill, 2020s, dark, 808 heavy, sub bass, distorted, energetic
# MELLOW
hip hop, 82 BPM, key of C minor, loop, mellow, laid back, warm, hypnotic, melodic, dusty vinyl
hip hop, 75 BPM, key of A minor, loop, mellow, laid back, warm, dusty vinyl, melodic
hip hop, 80 BPM, key of F major, loop, mellow, warm, laid back, hypnotic, melodic, gritty
hip hop, 72 BPM, key of D minor, loop, mellow, dark, laid back, dusty vinyl, hypnotic, melodic
# extra — high-energy 2020s
hip hop, 150 BPM, key of G minor, loop, 2020s, energetic, bass heavy, 808 heavy, sub bass, dark, distorted
10. Coaxing arrangement
You can pull some structure out of the model — partial and less reliable, but real. Use three levers together:
- Longer
--duration(60–120s) so the model invents intros/builds/variation instead of a static loop. - Drop
loop, add arrangement words the base model knows:full track,song structure,intro,build up,drop,breakdown,beat switch,outro,evolving arrangement,dynamic. - Lower
--lora-strengthto ~0.5–0.65 so the base SA3 model's arrangement knowledge comes through instead of your LoRA's loop bias.
Run these at longer length and lower LoRA strength (--duration 90 --lora-strength 0.6; drop to 0.5 for more structure, raise toward 0.75 for more of your sound):
# format: name | prompt | duration(s) | lora-strength
arr_boombap|hip hop, 90 BPM, key of A minor, full track, boom bap, intro, beat switch, breakdown, outro, dusty vinyl, warm, melodic, evolving arrangement|90|0.6
arr_trap|hip hop, 140 BPM, key of F# minor, full track, trap, sparse intro, build up, heavy drop, breakdown, outro, dark, 808 heavy, sub bass, energetic|90|0.6
arr_drill|hip hop, 144 BPM, key of D minor, full track, drill, eerie intro, beat switch, drop, outro, dark, hypnotic, 808 heavy, sub bass, distorted|90|0.6
arr_mellow|hip hop, 78 BPM, key of C minor, full track, mellow, soft intro, build up, breakdown, outro, warm, laid back, dusty vinyl, melodic, evolving arrangement|90|0.6
arr_trapmelodic|hip hop, 136 BPM, key of G minor, full track, trap, melodic intro, build up, drop, beat switch, outro, dark, 808 heavy, sub bass, hypnotic|90|0.6
arr_boombapsoul|hip hop, 88 BPM, key of E minor, full track, boom bap, soulful intro, main groove, breakdown, outro, dusty vinyl, warm, gritty, melodic|90|0.6
arr_drillhard|hip hop, 142 BPM, key of B minor, full track, drill, dark intro, build up, hard drop, breakdown, outro, 808 heavy, sub bass, energetic, distorted|90|0.6
arr_trapcine|hip hop, 130 BPM, key of C minor, full track, trap, cinematic intro, string build up, heavy drop, breakdown, outro, dark, epic, 808 heavy, sub bass|90|0.6
arr_mellowdark|hip hop, 82 BPM, key of D minor, full track, mellow, ambient intro, build up, drop, outro, dark, hypnotic, dusty vinyl, melodic, evolving arrangement|90|0.6
arr_funk|hip hop, 96 BPM, key of G minor, full track, intro, main groove, beat switch, breakdown, outro, warm, funky, melodic, bass heavy, dynamic|90|0.6
arr_phonk|hip hop, 135 BPM, key of E minor, full track, trap, phonk, memphis, dark intro, build up, drop, breakdown, outro, distorted, 808 heavy, sub bass, gritty|90|0.6
arr_jazzboombap|hip hop, 87 BPM, key of F major, full track, boom bap, jazzy intro, main groove, breakdown, outro, soulful, warm, dusty vinyl, melodic, laid back|90|0.6
arr_soulchop|hip hop, 92 BPM, key of C minor, full track, boom bap, soul sample intro, chops, beat switch, breakdown, outro, soulful, warm, gritty, dusty vinyl|90|0.6
arr_westcoast|hip hop, 98 BPM, key of G minor, full track, west coast, g-funk, intro, main groove, beat switch, outro, warm, funky, bass heavy, melodic|90|0.6
arr_ukdrill|hip hop, 145 BPM, key of A minor, full track, uk drill, dark intro, build up, sliding 808 drop, breakdown, outro, dark, hypnotic, sub bass, distorted|90|0.6
arr_cinematic|hip hop, 128 BPM, key of D minor, full track, trap, ambient intro, cinematic build up, heavy drop, breakdown, outro, spacey, epic, 808 heavy, sub bass|90|0.6
arr_trapsoul|hip hop, 75 BPM, key of B minor, full track, rnb, smooth intro, build up, drop, breakdown, outro, soulful, warm, mellow, melodic, sub bass|90|0.6
arr_gospel|hip hop, 84 BPM, key of A minor, full track, boom bap, gospel intro, organ chords, main groove, breakdown, outro, soulful, warm, uplifting, melodic|90|0.6
arr_horror|hip hop, 140 BPM, key of C minor, full track, trap, eerie intro, tense build up, hard drop, breakdown, outro, dark, eerie, distorted, 808 heavy, sub bass|90|0.6
arr_lofijazz|hip hop, 72 BPM, key of E major, full track, lofi, mellow intro, jazzy chords, build up, breakdown, outro, warm, nostalgic, dusty vinyl, laid back, melodic|90|0.6
loop → full track + section words on purpose, but the model gives you evolving sections — not a labeled intro/hook/verse arrangement. Lock the precise structure in your DAW.
11. The five capability levers + library
SA3 actually responds to five distinct "capability" levers. Each has its trigger tokens and the settings that make it work:
| Lever | Trigger tokens | Settings |
|---|---|---|
| Evolving arrangement structure/dynamics over time | intro, build up, drop, breakdown, beat switch, climax, outro, evolving arrangement | full track, ~90s, strength 0.6 |
| Production & era sonic age/finish | dusty vinyl, tape saturated, cassette, 1990s/2000s/2020s, clean, hi-fi, bitcrushed, warm analog | loop, 30s, strength 0.7 |
| Instrumentation-led a named lead drives the beat | rhodes, grand piano, brass stabs, choir, strings, flute, organ, saxophone, synth lead, 808 bass | loop, 30s, strength 0.7 |
| Groove & rhythm feel the pocket | half time, double time, swung, triplet hi-hats, syncopated, rolling hats, sparse drums, shuffle | loop, 30s, strength 0.7 |
| Mood & cinematic texture emotional color | dark, eerie, cinematic, epic, dreamy, nostalgic, ominous, ethereal, reverb drenched | ~45s, strength 0.65 |
Here's the full capability library — 100 presets, grouped by lever. Format: name|prompt|duration|strength. Prefixes: ev_ evolving · prod_ production/era · inst_ instrument · grv_ groove · mood_ mood.
# ── EVOLVING ARRANGEMENT (full track · ~90s · 0.6) ──
ev_boombap|hip hop, 90 BPM, key of A minor, full track, boom bap, intro, main groove, beat switch, breakdown, outro, dusty vinyl, warm, melodic, evolving arrangement|90|0.6
ev_trap|hip hop, 140 BPM, key of F# minor, full track, trap, sparse intro, build up, heavy drop, breakdown, outro, dark, 808 heavy, sub bass, energetic|90|0.6
ev_drill|hip hop, 144 BPM, key of D minor, full track, drill, eerie intro, build up, drop, beat switch, outro, dark, hypnotic, 808 heavy, distorted|90|0.6
ev_mellow|hip hop, 78 BPM, key of C minor, full track, mellow, soft intro, build up, breakdown, outro, warm, laid back, dusty vinyl, melodic|90|0.6
ev_climax|hip hop, 132 BPM, key of G minor, full track, trap, slow intro, rising tension, climax, breakdown, outro, dark, 808 heavy, sub bass, epic|90|0.6
ev_switch|hip hop, 95 BPM, key of E minor, full track, boom bap, intro, beat switch halfway, double time outro, dusty vinyl, gritty, melodic, warm|90|0.6
ev_strip|hip hop, 84 BPM, key of D minor, full track, mellow, full intro, stripped back breakdown, build back, outro, warm, hypnotic, dusty vinyl, melodic|90|0.6
ev_build|hip hop, 138 BPM, key of B minor, full track, trap, ambient intro, slow build up, hard drop, outro, dark, 808 heavy, sub bass, energetic|90|0.6
ev_drill2|hip hop, 142 BPM, key of F minor, full track, drill, dark intro, build up, sliding drop, breakdown, outro, hypnotic, sub bass, distorted, gritty|90|0.6
ev_west|hip hop, 96 BPM, key of G minor, full track, west coast, intro, main groove, beat switch, breakdown, outro, warm, funky, bass heavy, melodic|90|0.6
ev_lofi|hip hop, 72 BPM, key of F major, full track, lofi, mellow intro, evolving arrangement, breakdown, outro, warm, nostalgic, dusty vinyl, laid back|90|0.6
ev_two|hip hop, 88 BPM, key of A minor, full track, boom bap, intro, two part arrangement, beat switch, outro, soulful, warm, gritty, melodic|90|0.6
ev_dynamic|hip hop, 130 BPM, key of C minor, full track, trap, dynamic intro, build up, drop, half time breakdown, outro, dark, 808 heavy, sub bass|90|0.6
ev_tense|hip hop, 146 BPM, key of B minor, full track, drill, tense intro, rising build, hard drop, breakdown, outro, dark, eerie, sub bass, distorted|90|0.6
ev_soul|hip hop, 86 BPM, key of E minor, full track, boom bap, soul sample intro, chop switch, breakdown, outro, soulful, dusty vinyl, warm, melodic|90|0.6
ev_grand|hip hop, 128 BPM, key of D minor, full track, trap, cinematic intro, string build up, grand drop, breakdown, outro, epic, dark, 808 heavy, sub bass|90|0.6
ev_mellow2|hip hop, 80 BPM, key of C major, full track, mellow, soft intro, gentle build, warm breakdown, outro, laid back, dusty vinyl, melodic, warm|90|0.6
ev_energy|hip hop, 150 BPM, key of G minor, full track, trap, sparse intro, build up, energetic drop, beat switch, outro, 2020s, 808 heavy, sub bass, dark|90|0.6
ev_minimal|hip hop, 92 BPM, key of A minor, full track, boom bap, minimal intro, layered build, full groove, breakdown, outro, dusty vinyl, warm, melodic|90|0.6
ev_journey|hip hop, 100 BPM, key of D minor, full track, intro, evolving arrangement, multiple sections, beat switch, climax, outro, dark, melodic, warm, hypnotic|90|0.6
# ── PRODUCTION / ERA (loop · 30s · 0.7) ──
prod_lofi90|hip hop, 90 BPM, key of A minor, loop, boom bap, 1990s, dusty vinyl, tape saturated, warm, gritty, mellow, melodic|30|0.7
prod_2000s|hip hop, 95 BPM, key of E minor, loop, 2000s, warm, gritty, dusty vinyl, melodic, bass heavy|30|0.7
prod_modern|hip hop, 140 BPM, key of F# minor, loop, trap, 2020s, clean, hi-fi, 808 heavy, sub bass, dark, energetic|30|0.7
prod_cassette|hip hop, 75 BPM, key of C minor, loop, lofi, cassette, tape saturated, vinyl crackle, warm, nostalgic, mellow, laid back|30|0.7
prod_dusty|hip hop, 88 BPM, key of D minor, loop, boom bap, dusty vinyl, gritty, warm, distorted, melodic, drum heavy|30|0.7
prod_clean|hip hop, 136 BPM, key of G minor, loop, trap, clean, polished, modern, 808 heavy, sub bass, melodic|30|0.7
prod_bitcrush|hip hop, 130 BPM, key of B minor, loop, trap, bitcrushed, distorted, gritty, dark, 808 heavy, sub bass|30|0.7
prod_analog|hip hop, 84 BPM, key of F major, loop, boom bap, warm analog, tape saturated, dusty vinyl, soulful, melodic|30|0.7
prod_reverb|hip hop, 82 BPM, key of D minor, loop, mellow, reverb drenched, spacey, warm, dreamy, melodic, dusty vinyl|30|0.7
prod_70s|hip hop, 92 BPM, key of A minor, loop, boom bap, 1970s soul, warm, dusty vinyl, soulful, melodic|30|0.7
prod_hifi|hip hop, 145 BPM, key of D minor, loop, drill, hi-fi, clean, modern, 808 heavy, sub bass, dark, distorted|30|0.7
prod_raw|hip hop, 93 BPM, key of B minor, loop, boom bap, raw, gritty, distorted, dark, drum heavy, dusty vinyl|30|0.7
prod_warmtape|hip hop, 78 BPM, key of E minor, loop, lofi, tape saturated, warm, vinyl crackle, mellow, nostalgic, melodic|30|0.7
prod_crisp|hip hop, 138 BPM, key of G minor, loop, trap, crisp, clean, modern, 808 heavy, sub bass, hypnotic|30|0.7
prod_saturate|hip hop, 90 BPM, key of A minor, loop, boom bap, saturated, gritty, warm, distorted, dusty vinyl, melodic|30|0.7
prod_lush|hip hop, 80 BPM, key of C major, loop, mellow, lush, polished, warm, dreamy, melodic, laid back|30|0.7
prod_vinyl|hip hop, 86 BPM, key of D minor, loop, boom bap, vinyl crackle, dusty vinyl, warm, soulful, mellow, melodic|30|0.7
prod_2010|hip hop, 70 BPM, key of F minor, loop, trap, 2010s, dark, 808 heavy, sub bass, melodic, hypnotic|30|0.7
prod_wide|hip hop, 100 BPM, key of A minor, loop, polished, wide, clean, modern, melodic, bass heavy, warm|30|0.7
prod_grime|hip hop, 140 BPM, key of C minor, loop, gritty, distorted, raw, dark, 808 heavy, sub bass, energetic|30|0.7
# ── INSTRUMENTATION-LED (loop · 30s · 0.7) ──
inst_rhodes|hip hop, 82 BPM, key of C minor, loop, boom bap, rhodes piano lead, upright bass, dusty vinyl, warm, jazzy, melodic|30|0.7
inst_grand|hip hop, 140 BPM, key of F# minor, loop, trap, grand piano melody, 808 heavy, sub bass, dark, melodic, energetic|30|0.7
inst_brass|hip hop, 92 BPM, key of A minor, loop, boom bap, brass stabs, upright bass, dusty vinyl, soulful, warm, melodic|30|0.7
inst_choir|hip hop, 130 BPM, key of D minor, loop, trap, choir vocals, dark, 808 heavy, sub bass, epic, cinematic|30|0.7
inst_strings|hip hop, 144 BPM, key of B minor, loop, drill, string section, dark, eerie, 808 heavy, sub bass, distorted|30|0.7
inst_flute|hip hop, 138 BPM, key of G minor, loop, trap, flute melody, 808 heavy, sub bass, dark, melodic, hypnotic|30|0.7
inst_guitar|hip hop, 90 BPM, key of E minor, loop, boom bap, electric guitar, warm, gritty, dusty vinyl, melodic, soulful|30|0.7
inst_organ|hip hop, 84 BPM, key of A minor, loop, boom bap, gospel organ, warm, soulful, uplifting, melodic, dusty vinyl|30|0.7
inst_bells|hip hop, 142 BPM, key of F minor, loop, drill, dark bells, 808 heavy, sub bass, hypnotic, distorted|30|0.7
inst_synthlead|hip hop, 96 BPM, key of G minor, loop, west coast, synth lead whine, funky, warm, bass heavy, melodic|30|0.7
inst_sax|hip hop, 86 BPM, key of D minor, loop, boom bap, saxophone, jazzy, soulful, warm, dusty vinyl, laid back|30|0.7
inst_harp|hip hop, 80 BPM, key of C major, loop, mellow, harp, dreamy, warm, lush, melodic, laid back|30|0.7
inst_marimba|hip hop, 136 BPM, key of F# minor, loop, trap, marimba melody, 808 heavy, sub bass, dark, melodic, energetic|30|0.7
inst_pluck|hip hop, 145 BPM, key of B minor, loop, drill, plucked guitar, dark, 808 heavy, sub bass, hypnotic, distorted|30|0.7
inst_pad|hip hop, 78 BPM, key of E minor, loop, mellow, warm synth pads, dreamy, spacey, hypnotic, melodic, laid back|30|0.7
inst_vibes|hip hop, 88 BPM, key of A minor, loop, boom bap, vibraphone, jazzy, soulful, warm, dusty vinyl, mellow|30|0.7
inst_808bass|hip hop, 132 BPM, key of C minor, loop, trap, 808 bass slides, sub bass, dark, hard hitting, energetic, melodic|30|0.7
inst_keys|hip hop, 92 BPM, key of D minor, loop, boom bap, dusty electric piano, warm, soulful, mellow, melodic, dusty vinyl|30|0.7
inst_synthpluck|hip hop, 140 BPM, key of G minor, loop, trap, synth plucks, 808 heavy, sub bass, dark, hypnotic, melodic|30|0.7
inst_acoustic|hip hop, 84 BPM, key of F major, loop, boom bap, acoustic guitar, warm, soulful, laid back, dusty vinyl, melodic|30|0.7
# ── GROOVE / RHYTHM FEEL (loop · 30s · 0.7) ──
grv_halftime|hip hop, 140 BPM, key of F# minor, loop, trap, half time feel, 808 heavy, sub bass, dark, hard hitting, melodic|30|0.7
grv_swing|hip hop, 90 BPM, key of A minor, loop, boom bap, swung drums, dusty vinyl, warm, laid back, gritty, melodic|30|0.7
grv_triplets|hip hop, 138 BPM, key of D minor, loop, trap, triplet hi-hats, 808 heavy, sub bass, dark, energetic, hypnotic|30|0.7
grv_double|hip hop, 75 BPM, key of C minor, loop, trap, double time hats, 808 heavy, sub bass, dark, melodic, hypnotic|30|0.7
grv_sparse|hip hop, 144 BPM, key of B minor, loop, drill, sparse drums, sliding 808, dark, hypnotic, sub bass, distorted|30|0.7
grv_busy|hip hop, 142 BPM, key of F minor, loop, drill, busy rolling hats, 808 heavy, sub bass, dark, energetic, distorted|30|0.7
grv_pocket|hip hop, 88 BPM, key of E minor, loop, boom bap, laid back pocket, swung, dusty vinyl, warm, soulful, melodic|30|0.7
grv_syncopated|hip hop, 96 BPM, key of G minor, loop, west coast, syncopated groove, funky, warm, bass heavy, melodic|30|0.7
grv_boombapswing|hip hop, 92 BPM, key of A minor, loop, boom bap, boom bap swing, dusty vinyl, gritty, warm, drum heavy, melodic|30|0.7
grv_fourfloor|hip hop, 120 BPM, key of C minor, loop, four on the floor, energetic, warm, bass heavy, melodic, hypnotic|30|0.7
grv_offbeat|hip hop, 84 BPM, key of D minor, loop, mellow, off beat groove, swung, warm, dusty vinyl, hypnotic, melodic|30|0.7
grv_rolling|hip hop, 146 BPM, key of B minor, loop, drill, rolling hi-hats, sliding 808, dark, energetic, sub bass, distorted|30|0.7
grv_shuffle|hip hop, 86 BPM, key of F major, loop, boom bap, shuffle groove, dusty vinyl, soulful, warm, laid back, melodic|30|0.7
grv_hardhit|hip hop, 130 BPM, key of C minor, loop, trap, hard hitting drums, 808 heavy, sub bass, dark, energetic, distorted|30|0.7
grv_laid|hip hop, 78 BPM, key of E minor, loop, lofi, laid back swing, dusty vinyl, warm, nostalgic, mellow, melodic|30|0.7
grv_bounce|hip hop, 98 BPM, key of G minor, loop, west coast, bouncy groove, funky, warm, bass heavy, melodic|30|0.7
grv_minimaldrums|hip hop, 82 BPM, key of A minor, loop, mellow, minimal drums, sparse, warm, hypnotic, dusty vinyl, melodic|30|0.7
grv_fasthats|hip hop, 150 BPM, key of D minor, loop, trap, fast hi-hat rolls, 808 heavy, sub bass, dark, energetic, 2020s|30|0.7
grv_headnod|hip hop, 90 BPM, key of C minor, loop, boom bap, head nod groove, swung, dusty vinyl, gritty, warm, melodic|30|0.7
grv_htswitch|hip hop, 140 BPM, key of F minor, loop, trap, half time switch, 808 heavy, sub bass, dark, hard hitting, hypnotic|30|0.7
# ── MOOD / CINEMATIC TEXTURE (~45s · 0.65) ──
mood_dark|hip hop, 140 BPM, key of F# minor, loop, trap, dark, ominous, eerie, 808 heavy, sub bass, distorted, tense|45|0.65
mood_cinematic|hip hop, 128 BPM, key of D minor, full track, trap, cinematic, epic, dark, string section, 808 heavy, sub bass|45|0.65
mood_dreamy|hip hop, 78 BPM, key of C major, loop, mellow, dreamy, ethereal, spacey, warm, lush, melodic, reverb drenched|45|0.65
mood_nostalgic|hip hop, 82 BPM, key of E minor, loop, lofi, nostalgic, warm, dusty vinyl, melancholic, mellow, melodic|45|0.65
mood_triumphant|hip hop, 92 BPM, key of A major, full track, boom bap, triumphant, uplifting, brass stabs, soulful, warm, melodic|45|0.65
mood_eerie|hip hop, 144 BPM, key of B minor, loop, drill, eerie, dark, ominous, 808 heavy, sub bass, distorted, tense|45|0.65
mood_melancholic|hip hop, 80 BPM, key of D minor, loop, mellow, melancholic, dark, warm, dusty vinyl, melodic, hypnotic|45|0.65
mood_spacey|hip hop, 88 BPM, key of F minor, loop, mellow, spacey, ambient, dreamy, reverb drenched, hypnotic, melodic|45|0.65
mood_tense|hip hop, 142 BPM, key of C minor, full track, drill, tense, dark, building, 808 heavy, sub bass, distorted, eerie|45|0.65
mood_ethereal|hip hop, 76 BPM, key of A minor, loop, mellow, ethereal, dreamy, lush, warm, spacey, melodic, laid back|45|0.65
mood_ominous|hip hop, 136 BPM, key of G minor, loop, trap, ominous, dark, tense, 808 heavy, sub bass, hypnotic, distorted|45|0.65
mood_warmsoul|hip hop, 86 BPM, key of E major, loop, boom bap, soulful, warm, uplifting, dusty vinyl, melodic, nostalgic|45|0.65
mood_epic|hip hop, 130 BPM, key of D minor, full track, trap, epic, cinematic, dark, string section, 808 heavy, sub bass|45|0.65
mood_cold|hip hop, 140 BPM, key of B minor, loop, drill, cold, dark, eerie, 808 heavy, sub bass, distorted, minimal|45|0.65
mood_hopeful|hip hop, 90 BPM, key of C major, loop, boom bap, uplifting, warm, soulful, bright, dusty vinyl, melodic|45|0.65
mood_haunting|hip hop, 138 BPM, key of F minor, loop, trap, haunting, eerie, dark, 808 heavy, sub bass, hypnotic, reverb drenched|45|0.65
mood_lush|hip hop, 80 BPM, key of A major, loop, mellow, lush, warm, dreamy, romantic, melodic, laid back|45|0.65
mood_grim|hip hop, 145 BPM, key of D minor, loop, drill, grim, dark, ominous, gritty, 808 heavy, sub bass, distorted|45|0.65
mood_bittersweet|hip hop, 84 BPM, key of E minor, loop, lofi, bittersweet, melancholic, nostalgic, warm, dusty vinyl, melodic|45|0.65
mood_grand|hip hop, 126 BPM, key of C minor, full track, trap, grand, cinematic, epic, dark, choir, 808 heavy, sub bass|45|0.65
loop prompts stay loop-like; the ev_ / full-track ones are where arrangement shows up.
12. Flipping & restyling beats
Mode · GPU · audio-to-audio
Flip mode takes an existing beat and re-skins it in a new style while keeping its bones. Here's the command with every option annotated:
.venv/bin/python scripts/sa3_workflow.py flip \
--model medium-base \ # base SA3 model your LoRA was trained on (don't change)
--lora "$LORA" \ # path to your trained .safetensors
--lora-strength 0.7 \ # how strongly YOUR sound flavors it (0.6–0.8)
--input "$IN" \ # the beat you're restyling (wav/mp3)
--prompt "hip hop, loop, trap, dark, 808 heavy, sub bass, gritty, distorted, energetic" \
--strength 0.5 \ # init_noise_level = how far from the input: 0.3 light · 0.5–0.6 restyle · 0.85 heavy
--duration 30 \ # output length in seconds (set near your input's length)
--out /workspace/flips/trapdark.wav
Twenty ready-to-run flips covering every direction — light touches, full restyles, and heavy remixes. Set $LORA to your adapter and $IN to the beat you're flipping:
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, trap, dark, 808 heavy, sub bass, gritty, distorted, energetic" --strength 0.5 --duration 30 --out /workspace/flips/trapdark.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, boom bap, dusty vinyl, warm, soulful, gritty, melodic" --strength 0.55 --duration 30 --out /workspace/flips/boombap.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, lofi, tape saturated, dusty vinyl, warm, nostalgic, mellow, laid back" --strength 0.5 --duration 30 --out /workspace/flips/lofi.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, drill, dark, hypnotic, sliding 808, sub bass, distorted" --strength 0.6 --duration 30 --out /workspace/flips/drill.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.65 --input "$IN" --prompt "hip hop, loop, cinematic, epic, dark, string section, 808 heavy, sub bass, dramatic" --strength 0.6 --duration 30 --out /workspace/flips/cinematic.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, boom bap, soulful, warm, gospel organ, dusty vinyl, uplifting, melodic" --strength 0.55 --duration 30 --out /workspace/flips/soulful.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, west coast, g-funk, funky, warm, synth lead, bass heavy, melodic" --strength 0.6 --duration 30 --out /workspace/flips/westcoast.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.65 --input "$IN" --prompt "hip hop, loop, mellow, dreamy, ethereal, spacey, reverb drenched, warm, lush, melodic" --strength 0.55 --duration 30 --out /workspace/flips/dreamy.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, boom bap, raw, gritty, distorted, dark, dusty vinyl, drum heavy" --strength 0.5 --duration 30 --out /workspace/flips/gritty.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, trap, 2020s, clean, modern, 808 heavy, sub bass, energetic, hypnotic" --strength 0.55 --duration 30 --out /workspace/flips/2020s.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, trap, eerie, ominous, dark, tense, 808 heavy, sub bass, distorted" --strength 0.6 --duration 30 --out /workspace/flips/eerie.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, boom bap, jazzy, rhodes, upright bass, soulful, warm, dusty vinyl, mellow" --strength 0.55 --duration 30 --out /workspace/flips/jazzy.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, trap, hard hitting, aggressive, dark, 808 heavy, sub bass, distorted, energetic" --strength 0.5 --duration 30 --out /workspace/flips/hard.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, mellow, warm, soulful, dusty vinyl, laid back, melodic, nostalgic" --strength 0.5 --duration 30 --out /workspace/flips/warm.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, minimal, sparse, dark, hypnotic, sub bass, 808 heavy, mellow" --strength 0.55 --duration 30 --out /workspace/flips/minimal.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, trap, phonk, memphis, distorted, dark, 808 heavy, sub bass, gritty" --strength 0.65 --duration 30 --out /workspace/flips/phonk.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, boom bap, uplifting, bright, soulful, warm, brass stabs, melodic" --strength 0.55 --duration 30 --out /workspace/flips/uplift.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, trap, dark, 808 heavy, sub bass, distorted, hard hitting, energetic" --strength 0.85 --duration 30 --out /workspace/flips/heavyremix.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, warm, dusty vinyl, gritty, melodic, soulful" --strength 0.3 --duration 30 --out /workspace/flips/lighttouch.wav
.venv/bin/python scripts/sa3_workflow.py flip --model medium-base --lora "$LORA" --lora-strength 0.7 --input "$IN" --prompt "hip hop, loop, boom bap, swung drums, dusty vinyl, hard hitting, gritty, warm, melodic" --strength 0.5 --duration 30 --out /workspace/flips/drumswap.wav
--lora-strength controls how much of your trained sound flavors the result, while --strength (init noise) controls how far the output travels from the input beat. Low init = a light re-skin that keeps the original's groove; high init = a near-total remix. Tune them independently.
13. PRO generation: CFG & negatives
Mode · GPU · maximum control
Song mode exposes the pro controls: --cfg (prompt adherence), --steps (detail vs speed), --seed (reproducibility), and crucially --negative (traits to push away from). Note negatives work in song mode — unlike plain generation:
.venv/bin/python scripts/sa3_workflow.py song --model medium-base --lora "$LORA" --lora-strength 0.7 \
--prompt "hip hop, 140 BPM, key of F# minor, loop, trap, dark, 808 heavy, sub bass, gritty, energetic" \
--cfg 8 --steps 200 --seed 11 \
--negative "off-key, out of tune, vocals, singing, muddy mix, clipping, harsh noise" \
--out /workspace/gen_pro/trap1.wav
Quick guide to the dials: CFG 6 = loose, 8–9 = tight (too high gets harsh); steps 150 = fast, 240 = detailed; negative = a comma list of traits to avoid. Twenty PRO presets, format name|prompt|duration|lora_strength|cfg|steps|seed|negative:
pro_trap1|hip hop, 140 BPM, key of F# minor, loop, trap, dark, 808 heavy, sub bass, gritty, energetic|30|0.7|8|200|11|off-key, out of tune, vocals, singing, muddy mix, clipping, harsh noise
pro_trap2|hip hop, 136 BPM, key of G minor, loop, trap, 2020s, clean, modern, 808 heavy, sub bass, hypnotic|30|0.7|8|220|22|off-key, out of tune, vocals, singing, muddy, clipping, hiss, lo-fi, distortion
pro_boombap1|hip hop, 90 BPM, key of A minor, loop, boom bap, dusty vinyl, warm, soulful, gritty, melodic|30|0.7|7|180|33|off-key, out of tune, vocals, singing, clipping, harsh noise
pro_boombap2|hip hop, 88 BPM, key of E minor, loop, boom bap, jazzy, rhodes, upright bass, soulful, warm, melodic|30|0.7|7|200|44|off-key, out of tune, vocals, singing, muddy mix, clipping
pro_drill1|hip hop, 144 BPM, key of D minor, loop, drill, dark, hypnotic, sliding 808, sub bass, distorted|30|0.7|8|200|55|off-key, out of tune, vocals, singing, muddy mix, clipping
pro_drill2|hip hop, 145 BPM, key of B minor, loop, drill, dark, eerie, 808 heavy, sub bass, gritty, energetic|30|0.7|8|210|66|off-key, out of tune, vocals, singing, muddy, clipping, harsh noise
pro_mellow1|hip hop, 78 BPM, key of C minor, loop, mellow, warm, laid back, dusty vinyl, melodic, hypnotic|24|0.7|6|150|77|off-key, out of tune, vocals, singing, clipping, harsh noise
pro_lofi1|hip hop, 72 BPM, key of F major, loop, lofi, tape saturated, dusty vinyl, warm, nostalgic, mellow|24|0.7|6|150|88|off-key, out of tune, vocals, singing, clipping
pro_cine1|hip hop, 128 BPM, key of D minor, full track, trap, cinematic, epic, dark, string section, 808 heavy, sub bass|90|0.6|9|220|99|off-key, out of tune, vocals, singing, muddy mix, clipping, harsh noise
pro_soul1|hip hop, 86 BPM, key of A minor, loop, boom bap, soulful, gospel organ, warm, uplifting, dusty vinyl, melodic|30|0.7|7|190|101|off-key, out of tune, vocals, singing, clipping, harsh noise
pro_west1|hip hop, 96 BPM, key of G minor, loop, west coast, g-funk, funky, synth lead, warm, bass heavy, melodic|30|0.7|7|190|111|off-key, out of tune, vocals, singing, muddy, clipping
pro_phonk1|hip hop, 135 BPM, key of E minor, loop, trap, phonk, memphis, dark, distorted, 808 heavy, sub bass, gritty|30|0.7|7|180|121|off-key, out of tune, vocals, singing, clipping, harsh noise
pro_hard1|hip hop, 150 BPM, key of D minor, loop, trap, hard hitting, aggressive, dark, 808 heavy, sub bass, energetic|30|0.7|8|200|131|off-key, out of tune, vocals, singing, muddy mix, clipping
pro_dreamy1|hip hop, 80 BPM, key of C major, loop, mellow, dreamy, ethereal, spacey, reverb drenched, warm, lush, melodic|30|0.65|6|160|141|off-key, out of tune, vocals, singing, clipping, harsh noise
pro_eerie1|hip hop, 142 BPM, key of C minor, loop, trap, eerie, ominous, dark, tense, 808 heavy, sub bass, distorted|30|0.7|8|200|151|off-key, out of tune, vocals, singing, muddy, clipping
pro_clean1|hip hop, 138 BPM, key of G minor, loop, trap, 2020s, clean, hi-fi, polished, 808 heavy, sub bass, melodic|30|0.7|8|230|161|off-key, out of tune, vocals, singing, muddy, clipping, hiss, lo-fi, distortion
pro_jazz1|hip hop, 84 BPM, key of F major, loop, boom bap, jazzy, saxophone, upright bass, soulful, warm, laid back, melodic|30|0.7|7|200|171|off-key, out of tune, vocals, singing, clipping, harsh noise
pro_minimal1|hip hop, 92 BPM, key of A minor, loop, minimal, sparse, dark, hypnotic, sub bass, 808 heavy, mellow|30|0.7|7|180|181|off-key, out of tune, vocals, singing, clipping, busy, cluttered
pro_uplift1|hip hop, 90 BPM, key of C major, loop, boom bap, uplifting, bright, soulful, brass stabs, warm, melodic|30|0.7|7|190|191|off-key, out of tune, vocals, singing, muddy, clipping
pro_grand1|hip hop, 126 BPM, key of C minor, full track, trap, grand, cinematic, epic, dark, choir, 808 heavy, sub bass|90|0.6|9|240|201|off-key, out of tune, vocals, singing, muddy mix, clipping, harsh noise
instrumental, clean elsewhere and fix the rest in post). And the CLI song wrapper uses a default CFG; for a live CFG slider, audition in run_gradio.py.
Revisit Part 2: The Pipeline →
This playbook picks up exactly where Part 2's training step left off. If you need the upstream context — organizing your library, building captions, preparing the dataset, and choosing an engine — it's all there. And once your beats are generated, Part 2's post-process and pack-building steps turn them into a shippable product.
Or jump to Part 3: Reference & Scaling →
Explore the project on GitHub. Co-Produce AI web services go live Fall 2026 — in development now, with ~80% of the SaaS backend built and test runs running locally from the dashboard launcher.