--- title: MLTNT Militant Roots Reggae (YuE2) emoji: ๐Ÿ”ฅ colorFrom: blue colorTo: green sdk: gradio sdk_version: 6.17.3 app_file: app.py python_version: "3.12" short_description: Militant roots reggae LoRAs for YuE2-3B startup_duration_timeout: 1h license: cc-by-nc-4.0 models: - becausereasons/yue2-mltnt-militant-reggae - m-a-p/YuE2-3B - m-a-p/YuE2-Vae tags: - music-generation - text-to-music - reggae - lora - yue2 --- # ๐Ÿ”ฅ MLTNT โ€” Militant Roots Reggae LoRAs for YuE2 Text + lyrics โ†’ a full militant roots reggae song, using the six [**MLTNT** LoRAs](https://huggingface.co/becausereasons/yue2-mltnt-militant-reggae) by **becausereasons** on top of [**YuE2-3B**](https://huggingface.co/m-a-p/YuE2-3B). Each LoRA patches **both halves** of YuE2 at once โ€” the autoregressive planner that writes the ABC score and the vocal lines, and the flow-matching decoder that makes the sound. Trigger word: **`mltnt`**. | | LoRA | Character | Recipe | |---|---|---|---| | ๐Ÿ’ฅ | **Soundclash** | new-trainer generation; most expressive voice: hip-hop, dancehall, lovers rock | **clip 0.5** / model 1.0 for fast styles, clip 1.0 for slow songs, 360 s cap | | ๐Ÿฆ | **Chanter** | new-trainer generation; settled signature voice | clip 1.0 or **0.5** / model 1.0, 360 s cap | | ๐Ÿฅ | **Steppers** | flagship; tight hard-hitting steppers, big anthemic chorus | clip 1.0 / model 1.0, cfg 1.0 | | ๐Ÿ”ฅ | **Frontline** | most distinctive voice of the earlier four, trained for rapid-fire lyrics | clip 1.0 / model 1.0, cfg 1.0 | | ๐ŸŽค | **Fusion** | reggae hip-hop, boom-bap over one-drop, deejay toasting | clip 1.0 / model 1.5, cfg 1.4 | | ๐ŸŒฟ | **Roots** | the purist; straightest roots timbre | clip 1.0 / model 1.0, cfg 1.0 | ## How this Space runs the LoRAs The MLTNT files were trained with the [ComfyUI FS_Audio Suite](https://github.com/KytraScript/ComfyUI-FS_Audio_Suite) against [Comfy-Org's repack](https://huggingface.co/Comfy-Org/YuE2) of YuE2, so they ship in Comfy's **fused-key layout** (`text_encoders.*` for the planner, `diffusion_model.*` for the decoder). This Space runs the *official* `yue2_infer` pipeline from m-a-p instead of ComfyUI, and merges the LoRA into the native checkpoint: * Comfy's fused `self_attn.qkv_proj` `[4096, 2048]` is split back into native `q_proj` (`0:2048`), `k_proj` (`2048:3072`) and `v_proj` (`3072:4096`). * Comfy's fused `mlp.gate_up_proj` `[12288, 2048]` is split into `gate_proj` (`0:6144`) and `up_proj` (`6144:12288`). * `diffusion_model.*` maps onto the native `nar_self_attn` / `nar_mlp` branch, `text_encoders.*` onto the AR branch. The full-rank `llm2vae` / `vae2llm` projection diffs are applied too. * Merge math follows ComfyUI (these files carry no alpha key): `W += strength ยท (up @ down)`. Both key layouts were compared tensor-by-tensor before the mapping was written, and the corresponding slices are bit-identical. The FS_Audio sampler's knobs are reproduced against the native pipeline: | FS_Audio widget | here | |---|---| | `score_temperature` | ABC planner sampling temperature (top-p 0.9, top-k 30, rep 1.005) | | `music_temperature` | semantic codec sampling temperature (top-p 0.95, top-k 100) | | `song_length_cap` | semantic `max_tokens = cap ร— 25` | | `Weirdness (cfg)` | classifier-free guidance on the flow-matching decoder against a zeroed AR context โ€” which is exactly what the Comfy graph does (it passes `zeros_like(cond)` as the negative) | | `steps` | flow-matching ODE steps | **Known deviation:** ComfyUI solves the decoder ODE with `dpm_2` / `sgm_uniform`; this Space uses the reference m-a-p 32-step midpoint solver that ships with `yue2_infer`. Both are second-order solvers over the same velocity field, but the renders will not be sample-identical to the demos on the model card. ## Prompting * **Style prompt** โ€” one descriptive sentence, trigger first, in this order: language โ†’ genre โ†’ vocal โ†’ instruments โ†’ mood โ†’ BPM โ†’ production. Tag lists and `[Intro]โ€ฆ[Outro]` scaffolding in the style field produce "odd, not reggae" output. * **Lyrics** โ€” tagged blocks (`[Verse]`, `[Pre-Chorus]`, `[Chorus]`, `[Bridge]`, `[Outro]`), ~4 lines a verse at ~8 words. **No empty `[Intro]`** โ€” the planner writes its own. * **Rapid-fire delivery comes from the lyric**, not the prompt: write verse lines at 15โ€“17 words with simple one- and two-syllable words. *Frontline* is the variant trained for it. * **Planner strength above 1.0 collapses the vocal** โ€” it is capped at 1.0 here on purpose. * A seed can end a song early; that is the seed, not the length cap. The five style prompts in the examples are the author's own, taken verbatim from [`prompts/`](https://huggingface.co/becausereasons/yue2-mltnt-militant-reggae/tree/main/prompts). The lyric sheets are original, written to the shapes documented on the model card (a standard 8-word-line sheet and a dense 15โ€“17-word-line sheet for the rapid-fire comparison). ## Licence and credits LoRA weights ยฉ **becausereasons**, released under **CC BY-NC 4.0** โ€” non-commercial use only; attribute *"MLTNT LoRAs by becausereasons"*. The base model [m-a-p/YuE2-3B](https://huggingface.co/m-a-p/YuE2-3B) carries the same licence. * [YuE2](https://huggingface.co/m-a-p/YuE2-3B) โ€” Multimodal Art Projection (m-a-p). * [ComfyUI-FS_Audio_Suite](https://github.com/KytraScript/ComfyUI-FS_Audio_Suite) โ€” KytraScript / The Fixed Seed Company: the inference nodes and artist trainer the LoRAs were trained with. * LoRAs trained and documented by [becausereasons](https://huggingface.co/becausereasons) ([Ko-fi](https://ko-fi.com/becausereasons)).