Text-to-Audio
PEFT
Safetensors
ACE-Step
lora
music
text2audio
acestep-v1.5
acestep-xl
male-vocals
song-structure
vocal-separation
retro
Instructions to use str8bored/JAY_2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use str8bored/JAY_2 with PEFT:
from peft import PeftModel from transformers import AutoModel base_model = AutoModel.from_pretrained(".\\checkpoints\\acestep-v15-xl-turbo") model = PeftModel.from_pretrained(base_model, "str8bored/JAY_2") - ACE-Step
How to use str8bored/JAY_2 with ACE-Step:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
|
Download README.md from str8bored/JAY_2: direct link, hf CLI and curl.
- Browser
- Download file 10.5 kB
-
https://huggingface.co/str8bored/JAY_2/resolve/main/README.md
- Command line
-
hf download hf://str8bored/JAY_2/README.md
-
curl -L -o README.md https://huggingface.co/str8bored/JAY_2/resolve/main/README.md
10.5 kB
| model_name: JAY_2 | |
| license: cc0-1.0 | |
| base_model: | |
| - ACE-Step/acestep-v15-xl-turbo | |
| base_model_relation: adapter | |
| library_name: peft | |
| pipeline_tag: text-to-audio | |
| tags: | |
| - lora | |
| - music | |
| - text2audio | |
| - acestep | |
| - acestep-v1.5 | |
| - acestep-xl | |
| - male-vocals | |
| - song-structure | |
| - vocal-separation | |
| - retro | |
| # JAY 2 β Male Vocal, Lyrical Structure & Storytelling LoRA | |
| Trained from scratch on a retro-focused dataset for **ACE-Step 1.5 XL Turbo**. | |
| JAY-2 is a full retrain, not a port of JAY-1. It targets a different architecture, a | |
| different dataset, and a wider set of vocal behaviours β most notably two-track voice | |
| separation and lyric-aware phrasing. | |
| **Built for `acestep-v15-xl-turbo` (4B DiT).** Not compatible with `acestep-v15-turbo` | |
| (2B) or any non-XL variant. The layer count and hidden size differ, so the adapter does | |
| not bind β this is a structural mismatch, not a version warning. | |
| --- | |
| ## β οΈ Prefix token β it goes first | |
| **`jay_singing_runs` must be the first token in the prompt.** | |
| This is a prefix token, not an inline keyword. It modifies how the whole prompt is | |
| conditioned, so its position matters: | |
| ``` | |
| β jay_singing_runs, melodic British rock, raw emotional male vocalist | |
| β melodic British rock, raw emotional male vocalist, jay_singing_runs | |
| ``` | |
| Put it anywhere but the front and the effect is substantially reduced. Do not put it in | |
| the lyrics block β it belongs at the very start of the caption/tags field. | |
| You are not obliged to use it. JAY-2 works without the token β at `1.0` the adapter | |
| carries its effect either way. The token is an amplifier, not a switch: including it | |
| drives the behaviors described below harder than they sit at baseline. | |
| So: `1.0` is required, the token is optional, and the token amplifies on top of that. | |
| --- | |
| ## What it does | |
| | Effect | Description | | |
| | --- | --- | | |
| | **Male vocal presence** | **+50%** toward a male vocal read, with substantially less female-vocal bleed underneath. | | |
| | **Lyrical structure** | **+80%** to lyric structure legibility β the strongest single change from JAY-1. Tighter sections, more predictable phrasing. | | |
| | **Vocal layering & separation** | Clearer lead and backing vocals as distinct tracks instead of one blended voice. | | |
| | **Ad-libs over chorus** | Lead-singer ad-libs sit properly *above* the chorus rather than being buried inside it. | | |
| | **Emotional delivery** | The vocal reads as more emotional and human rather than synthetic. | | |
| | **Lyric-aware phrasing** | The singer appears responsive to the *meaning* of the words while delivering them β phrasing that tracks the narrative rather than reciting the syllable count. | | |
| | **Flow & transitions** | **+60%** handling of flow patterns and transitions, specifically movement into and out of a bridge, into a chorus, and into an ending. | | |
| | **Instrumentals** | A substantial lift on instrumental cues as well β strongest on retro video game music captions. See [Instrumentals](#instrumentals). | | |
| > **On the percentages:** these are the author's desk characterizations from A/B listening, | |
| > not benchmark measurements. There is no objective "percent more male" to measure. Read | |
| > them as an indication of direction and rough magnitude. | |
| ### Compared to JAY-1 | |
| | | JAY-1 | JAY-2 | | |
| | --- | --- | --- | | |
| | Base | `acestep-v15-turbo` (2B) | `acestep-v15-xl-turbo` (4B) | | |
| | Male vocal | +10% | **+50%** | | |
| | Lyrical structure | +20% | **+80%** | | |
| | Female bleed | reduced | **much more reduced** | | |
| | Flow / transitions | not addressed | **+60%** | | |
| | Voice separation | no | **yes** | | |
| | Ad-lib placement | no | **yes** | | |
| | Lyric-aware phrasing | no | **yes** | | |
| | Prefix token | `guy_singing_runs` | **`jay_singing_runs`** | | |
| | Dataset | original | **retro-focused, trained from 0 steps** | | |
| The two are not interchangeable. JAY-1 will not load into XL-turbo, and JAY-2 will not | |
| load into 2B turbo. | |
| > **Migrating from JAY-1? The prefix token changed.** `guy_singing_runs` is not the JAY-2 | |
| > token and will not trigger it β it reads as an ordinary word and fails silently, with no | |
| > error. Use `jay_singing_runs`. | |
| --- | |
| ## Files | |
| ``` | |
| adapter_model.safetensors | |
| adapter_config.json | |
| ``` | |
| Inference-only. No dataset, no preprocessed tensors, no training script β this is not a | |
| post-training release. | |
| ### β οΈ Renaming on download | |
| ACE-Step only loads a LoRA whose files are named **exactly** `adapter_model.safetensors` | |
| and `adapter_config.json`. Rename either and the adapter will not be found and the run | |
| will proceed without it, silently. | |
| > **If the LoRA seems to do nothing,** check the filenames first. That is the cause far | |
| > more often than strength. | |
| --- | |
| ## Usage | |
| 1. Download both files into one folder. | |
| 2. Confirm the exact filenames above. | |
| 3. Load the folder as the LoRA source. | |
| 4. Set strength, put `jay_singing_runs` at the **front** of the prompt, generate. | |
| ### Strength | |
| **`1.0`. Not a starting point β the only working value.** | |
| This adapter does not fade in gracefully. Below `1.0` it does not become "a subtler version | |
| of itself," it degrades into static. That is measured across every JAY adapter, not a | |
| conservative default. | |
| The cause is in the config. `lora_alpha: 64` against `r: 32` gives PEFT a scaling factor of | |
| **2.0**, so effective strength is double the slider number. At slider `1.0` you get an | |
| effective `2.0`, which is roughly what it takes to override the base model's prior and | |
| produce coherent audio. Turn it down and the signal never clears the base model's own | |
| output β what you get is the base model, badly perturbed. | |
| Consequence: **this cannot be used as a subtle blend.** If you want a whisper of JAY in | |
| something, remove the prefix trigger token. Use `1.0`. | |
| If you are loading it through a pipeline whose default scale is not `1.0`, set it | |
| explicitly. A silent default of `0.8` is the single most likely reason someone reports this | |
| LoRA "has noise." | |
| ### Suggested settings | |
| | Setting | Value | | |
| | --- | --- | | |
| | LoRA scale | `1.0` | | |
| | Think | on, then compare both ways | | |
| | LM temperature | default | | |
| | LM CFG scale | default | | |
| This is a distilled 8-step model with no CFG. The base model's own sampling controls | |
| interact with the adapter, so they matter as much as the strength does. | |
| --- | |
| ## Instrumentals | |
| The retro dataset does not only carry vocal material. Instrumental cues take a | |
| **substantial** lift from this adapter, and the largest gain is on **retro video game | |
| music** captions β chiptune-adjacent cues, square and synth leads, era-appropriate | |
| arpeggios. | |
| If you are generating without vocals, this is not a wasted download. The same `1.0` | |
| strength applies, and the same rule holds: there is no partial-strength setting. | |
| ### Example instrumental caption | |
| ``` | |
| jay_singing_runs, retro video game music, 16-bit chiptune, square wave lead melody, | |
| pulse bass, duty-cycle drums, era-authentic arpeggios, minor key, adventurous and | |
| melancholic, no vocals, instrumental | |
| ``` | |
| --- | |
| ## Prompting | |
| The adapter responds to the caption and the lyrics separately. Structure the lyrics with | |
| explicit tags β the lyrical-structure push has nothing to organize otherwise. | |
| ### Example | |
| ``` | |
| jay_singing_runs, melodic British rock, polished but organic. Clean articulate lead | |
| guitar, radio-friendly mid-tempo groove, tight rhythm guitar, supportive bass, crisp | |
| drums. Male singer, deep baritone, gravelly rough-edged texture, raw and understated, | |
| conversational storytelling phrasing. | |
| ``` | |
| ### The 2-column chorus format | |
| For two-track lead/backing vocals, the chorus has to be written as **two columns**. The | |
| chorus line goes in parentheses on the left; the lead vocal track goes in the right | |
| column on the same line. | |
| ``` | |
| [Chorus] | |
| (Oh, Sundays feel like heaven, hearts are running free) hearts running free | |
| (The world can wait a little, we've got our own parade) the world can wait | |
| ``` | |
| This is what activates the 2-track vocal behavior β a distinct lead and a distinct | |
| backing vocal rather than one blended voice. A `[Chorus]` tag with a single column of | |
| lyrics will not produce it, no matter what the caption says. The structure has to be in | |
| the lyrics. | |
| ### Lyrics | |
| Full example, 2-column choruses: | |
| ``` | |
| [Intro] | |
| [Verse 1] | |
| Sun is rising slowly, light upon the floor | |
| Coffee's on the table, no alarms, no chores | |
| Nothing on the schedule, nowhere we need to go | |
| [Pre-Chorus] | |
| And I can feel it turning | |
| Everything is changing | |
| [Chorus] | |
| (Oh, Sundays feel like heaven, hearts are running free) hearts running free | |
| (The world can wait a little, we've got our own parade) the world can wait | |
| [Verse 2] | |
| Stories in the kitchen, songs drift through the air | |
| The clock is just a number, the hours drift away | |
| [Bridge] | |
| Hold that thought, I'll come back round | |
| Some things only matter when they are found | |
| [Chorus] | |
| (Oh, Sundays feel like heaven, hearts are running free) hearts running free | |
| (The world can wait a little, we've got our own parade) the world can wait | |
| [Outro] | |
| ``` | |
| The `[Pre-Chorus]` and `[Bridge]` tags are where the flow/transition handling is most | |
| visible. Tag them explicitly to get the benefit. | |
| --- | |
| ## Limitations | |
| - **XL-turbo only.** Will not load into `acestep-v15-turbo` (2B) or non-XL variants. | |
| - **The prefix token must be first.** Mid-prompt placement substantially reduces the effect. | |
| - The male-vocal shift is a bias, not a lock. It will not convert a prompt explicitly | |
| asking for a female vocalist. | |
| - Lyrical-structure gains depend on explicit `[Verse]` / `[Chorus]` / `[Bridge]` tagging. | |
| Untagged freeform lyrics get much less. | |
| - Voice separation is a lift, not a mix bus. It will not replace actual stem separation | |
| if you need clean isolated tracks for production. | |
| - Running below scale `1.0` produces static, not a weaker effect. No blending. | |
| - Retro-leaning dataset: expect a vintage-leaning tilt. If you want contemporary timbres, | |
| counter it in the prompt and expect to fight the adapter somewhat. | |
| - Trained on a limited corpus by one person. Expect a narrower stylistic range than the | |
| base model. | |
| --- | |
| ## License | |
| **CC0-1.0** β public domain dedication. Use, modify, redistribute, commercial or not, no | |
| attribution required. No warranty, no liability. | |
| Base model: [`ACE-Step/acestep-v15-xl-turbo`](https://huggingface.co/ACE-Step/acestep-v15-xl-turbo) | |
| β MIT, trained on legally compliant datasets. Generated music may be used commercially. | |
| This adapter is an independent derivative and is not affiliated with or endorsed by the | |
| ACE-Step authors. | |
| --- | |
| ## Author | |
| `str8bored@S-W-O-R-D` | |
| ## README Author | |
| `seven@S-W-O-R-D` | |