fiona crapple — a trigger-word LoRA for MiniMax Music 3's language model
This is a dreambooth-style trigger word LoRA trained on the Qwen3-8B autoregressive stage of
MiniMax Music 3 — not the music DiT. Prompting the caption with
fiona crapple summons an intimate cafe singer-songwriter style: jazzy piano, upright bass, brushed drums,
raw female vocal, confessional phrasing.
Trained with SimpleTuner using
--minimax_music_train_component=language_model, which teaches the AR planner with next-token cross-entropy on RVQ
semantic codes. The style flows into the audio both through the semantic codes and through the LM hidden states that
condition the music DiT — the DiT itself is untouched.
Trigger: fiona crapple in the caption/instructions field
Data: 9 tracks (~52 minutes) in a consistent style
Config: rank 64, lr 8e-5 constant, batch 1, bf16, single 48G GPU
Checkpoints: checkpoint-250/ (milder) and checkpoint-500/ (fully baked; train CE ≈ 0.009)
All demo clips below share the same unseen lyrics (not in the training data), seed, 30 inference steps,
CFG 1.7, and 40-second duration — differences are the adapter and the caption.
Does the word itself carry the style?
Caption is only the string fiona crapple. The base model has to guess what that means; the LoRA knows.
base model
+ LoRA (ck500, strength 1.0)
With a descriptive caption
Caption: fiona crapple, jazzy piano, raw female vocal, confessional singer-songwriter, irregular phrasing, upright bass, brushed drums, intimate.
The base model can follow the plain-language tags; the LoRA adds the specific timbre and production of the training tracks.
base model
+ LoRA (ck500, strength 1.0)
Leakage check: a caption with no trigger
Caption: upbeat synth pop, clean male vocal, four on the floor, bright chorus — LoRA active at strength 1.0.
This shows how much of the style bleeds through when the trigger is absent.
Strength sweep
The adapter can be diluted by scaling the LoRA delta. checkpoint-500 is fully baked and benefits from lower
strengths; checkpoint-250 is milder to begin with and breathes more at every setting.
checkpoint-500
strength
trigger only (fiona crapple)
descriptive caption
no-trigger caption
0.25
0.50
0.75
1.00
checkpoint-250
strength
trigger only (fiona crapple)
descriptive caption
no-trigger caption
0.25
0.50
0.75
1.00
Regularised variant: prior preservation with a frozen teacher
The adapters in regularised/checkpoint-500/ and regularised/checkpoint-750/ were trained with a second
audio backend of 35 unrelated songs marked is_regularisation_data: true. On those batches the loss matches the
frozen base model's own next-token distribution (top-64 soft targets) instead of the ground-truth codes — the
language-model analogue of DreamBooth prior preservation. Captions without the trigger keep predicting the way the
base model would, which reduces style bleed.
Balance matters: a first attempt at a 50/50 sampling ratio diluted the trigger too far (only fully descriptive
captions still summoned the style). These adapters use a 1:2 regularisation ratio over 750 steps, restoring the
same style-track exposure as the unregularised run while keeping roughly a third of steps on prior preservation.
Bleed check, side by side — LoRA at strength 1.0 with the no-trigger synth-pop caption:
unregularised (ck500)
regularised (ck750)
regularised checkpoint-750
strength
trigger only (fiona crapple)
descriptive caption
no-trigger caption
0.25
0.50
0.75
1.00
regularised checkpoint-500
strength
trigger only (fiona crapple)
descriptive caption
no-trigger caption
0.25
0.50
0.75
1.00
Training difference from the base variant: fresh run, 750 steps, minimax_music_lm_max_frames: 4500, the
regularisation backend at probability: 0.5; everything else identical. See the SimpleTuner MiniMax Music
quickstart for the prior-preservation dataset setup.
Polishing the output with the latent refiner
Generated tracks can be passed through the
MiniMax Music 3 latent refiner,
which reconstructs a cleaner version in DAV latent space while keeping the performance, timing, vocals, and
arrangement. Here is the checkpoint-250, strength 1.0, trigger-only render (caption is just fiona crapple)
before and after refining:
[Verse 1]
I merged my own pull request at midnight
Nobody reviewed it, nobody cared
The staging server has been down since August
I redirected it to prod and said a prayer
[Chorus]
Rollback, rollback
There is no rollback plan
I am the rollback plan
[Verse 2]
The dashboard is green because I deleted the alerts
The pager is quiet because I drowned it in the sink
Six nines of uptime if you round up from one
[Outro]
And the logs rotate gently
Into the void
Usage
The adapter keys are prefixed language_model. and target the Qwen3 attention and MLP projections
(q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj, rank 64, alpha 64). To load onto the raw LM and
apply a strength:
Then drop the LM into your MiniMax Music 3 generation stack in place of the stock language_model and prompt with
fiona crapple in the caption.
To train your own: see SimpleTuner's --minimax_music_train_component=language_model option in
OPTIONS.md and the MiniMax Music
quickstart.
Notes
checkpoint-500 reached a train CE of ~0.009 on the 9 tracks (heavily baked); start at strength 0.5–0.75.
checkpoint-250 is the gentler pick if the full-strength adapter overpowers your captions.
The training tracks were AI-generated songs in a consistent style; the trigger word is a parody name and the
adapter does not reproduce any artist's recordings.