Instructions to use ntc-ai/minimax-music3-concept-sliders with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use ntc-ai/minimax-music3-concept-sliders with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("MiniMaxAI/MiniMax-Music-3", dtype=torch.bfloat16, device_map="cuda") pipe.load_lora_weights("ntc-ai/minimax-music3-concept-sliders") prompt = "Same prompt and lyrics. Energy slider Off then Loud +1. Unidirectional lyric-hold LM." image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
README: display-only math, v24 demo clips for gender/distortion/joy
Browse files
README.md
CHANGED
|
@@ -90,11 +90,11 @@ caption REFs) live under [`samples/uni-lyric/`](samples/uni-lyric/).
|
|
| 90 |
|
| 91 |
**+1 female**
|
| 92 |
|
| 93 |
-
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/gender-female.mp3" type="audio/mpeg"></audio>
|
| 94 |
|
| 95 |
**+2 female**
|
| 96 |
|
| 97 |
-
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/gender-female-2.mp3" type="audio/mpeg"></audio>
|
| 98 |
|
| 99 |
### Male — Off → Male
|
| 100 |
|
|
@@ -110,11 +110,11 @@ caption REFs) live under [`samples/uni-lyric/`](samples/uni-lyric/).
|
|
| 110 |
|
| 111 |
**+1 distorted**
|
| 112 |
|
| 113 |
-
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/distortion-metal.mp3" type="audio/mpeg"></audio>
|
| 114 |
|
| 115 |
**+2 distorted**
|
| 116 |
|
| 117 |
-
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/distortion-metal-2.mp3" type="audio/mpeg"></audio>
|
| 118 |
|
| 119 |
### Clean — Off → Clean
|
| 120 |
|
|
@@ -130,11 +130,11 @@ caption REFs) live under [`samples/uni-lyric/`](samples/uni-lyric/).
|
|
| 130 |
|
| 131 |
**+1 joy**
|
| 132 |
|
| 133 |
-
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/joy-joy.mp3" type="audio/mpeg"></audio>
|
| 134 |
|
| 135 |
**+2 joy**
|
| 136 |
|
| 137 |
-
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/joy-joy-2.mp3" type="audio/mpeg"></audio>
|
| 138 |
|
| 139 |
### Somber — Off → Somber
|
| 140 |
|
|
@@ -152,9 +152,9 @@ Training code: [ntc-ai/sliders-conceptmod](https://github.com/ntc-ai/sliders-con
|
|
| 152 |
## Objective (uni-lyric)
|
| 153 |
|
| 154 |
Plus-only LoRA on `Qwen3Attention`. The generation prompt is always the
|
| 155 |
-
**neutral** caption. At LoRA scale
|
| 156 |
-
is pulled toward the frozen encode of the + caption
|
| 157 |
-
must reproduce the neutral encode
|
| 158 |
`lyrics` span pinned to encode(neu):
|
| 159 |
|
| 160 |
$$
|
|
@@ -169,17 +169,16 @@ $$
|
|
| 169 |
\mathcal{L} = \mathcal{L}_{\mathrm{pole}} + \mathcal{L}_{\mathrm{lyric}} + \lambda_{\mathrm{end}}\,\mathcal{L}_{\mathrm{end}}
|
| 170 |
$$
|
| 171 |
|
| 172 |
-
Teacher is raw
|
| 173 |
-
on the lyrics span
|
| 174 |
Arrangement are not held. No minus pole, no leftover-gate, no pair-odd. Infer
|
| 175 |
with the neutral caption + LoRA — not the + caption.
|
| 176 |
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
\(m = \mathrm{logit}(\langle\mathrm{audio\_end}\rangle) - \mathrm{logsumexp}(\text{semantic band})\):
|
| 180 |
|
| 181 |
$$
|
| 182 |
-
\mathcal{L}_{\mathrm{end}} = \|m(+1) - m_{\mathrm{base}}\|^2
|
| 183 |
$$
|
| 184 |
|
| 185 |
The slider may move the musical plan; it must not move the stop decision.
|
|
|
|
| 90 |
|
| 91 |
**+1 female**
|
| 92 |
|
| 93 |
+
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/gender-female-v24.mp3" type="audio/mpeg"></audio>
|
| 94 |
|
| 95 |
**+2 female**
|
| 96 |
|
| 97 |
+
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/gender-female-v24-2.mp3" type="audio/mpeg"></audio>
|
| 98 |
|
| 99 |
### Male — Off → Male
|
| 100 |
|
|
|
|
| 110 |
|
| 111 |
**+1 distorted**
|
| 112 |
|
| 113 |
+
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/distortion-metal-v24.mp3" type="audio/mpeg"></audio>
|
| 114 |
|
| 115 |
**+2 distorted**
|
| 116 |
|
| 117 |
+
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/distortion-metal-v24-2.mp3" type="audio/mpeg"></audio>
|
| 118 |
|
| 119 |
### Clean — Off → Clean
|
| 120 |
|
|
|
|
| 130 |
|
| 131 |
**+1 joy**
|
| 132 |
|
| 133 |
+
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/joy-joy-v24.mp3" type="audio/mpeg"></audio>
|
| 134 |
|
| 135 |
**+2 joy**
|
| 136 |
|
| 137 |
+
<audio controls preload="none"><source src="https://huggingface.co/ntc-ai/minimax-music3-concept-sliders/resolve/main/samples/demo/joy-joy-v24-2.mp3" type="audio/mpeg"></audio>
|
| 138 |
|
| 139 |
### Somber — Off → Somber
|
| 140 |
|
|
|
|
| 152 |
## Objective (uni-lyric)
|
| 153 |
|
| 154 |
Plus-only LoRA on `Qwen3Attention`. The generation prompt is always the
|
| 155 |
+
**neutral** caption. At LoRA scale `s = +1` the prompt-last hidden `h(s)`
|
| 156 |
+
is pulled toward the frozen encode of the + caption `h+`; at `s = 0` it
|
| 157 |
+
must reproduce the neutral encode `h0`. A lyric-token hold keeps the yaml
|
| 158 |
`lyrics` span pinned to encode(neu):
|
| 159 |
|
| 160 |
$$
|
|
|
|
| 169 |
\mathcal{L} = \mathcal{L}_{\mathrm{pole}} + \mathcal{L}_{\mathrm{lyric}} + \lambda_{\mathrm{end}}\,\mathcal{L}_{\mathrm{end}}
|
| 170 |
$$
|
| 171 |
|
| 172 |
+
Teacher is raw `h+` at +1 (last token), `h0` at scale 0, and encode(neu)
|
| 173 |
+
on the lyrics span only (subscript `L`). Vocal Details / Global Metadata /
|
| 174 |
Arrangement are not held. No minus pole, no leftover-gate, no pair-odd. Infer
|
| 175 |
with the neutral caption + LoRA — not the + caption.
|
| 176 |
|
| 177 |
+
The end term teacher-forces the LoRA'd LM over a frozen base-model
|
| 178 |
+
composition and penalizes drift of the stop margin:
|
|
|
|
| 179 |
|
| 180 |
$$
|
| 181 |
+
m = \mathrm{logit}(\langle\mathrm{audio\_end}\rangle) - \mathrm{logsumexp}(\text{semantic band}), \qquad \mathcal{L}_{\mathrm{end}} = \|m(+1) - m_{\mathrm{base}}\|^2
|
| 182 |
$$
|
| 183 |
|
| 184 |
The slider may move the musical plan; it must not move the stop decision.
|