CivArchive
    Score Studio โ€” YuE2 Song & Score Workflow - v3.1

    ๐ŸŽผ Score Studio v3.1 โ€” the check-up update

    A YuE2 song & score workflow for ComfyUI (Score to Screen minus the video, same author) โ€” for people who want to craft the song itself: tap a style โ†’ write lyrics โ†’ YuE2 writes the score โ†’ check it โ†’ render โ†’ polish โ†’ mix โ†’ save exactly what you hear. All in one graph.

    โœจ New in v3.1

    Music theory and prompt checks โ€” used to find what is broken and to describe each take, never to rank your song. Choosing is for your ears. Nothing is changed unless you ask.

    • ๐Ÿฉบ Score health check โ€” out-of-key notes, strong-beat clashes with the chord, big leaps, range, the progression per section (Roman numerals, royal road, ii-V-I, Canon โ€ฆ) and how each section ends. "N things to look at" comes first; the theory score only says whether anything is broken. Blues / jazz idioms (blue notes, #11, b9 โ€ฆ) are treated as intentional for those styles.

    • โœŽ Safe melody fixes โ€” preview fixes lists what would move; a fix moves only the flagged melody notes and is verified: if anything else changed, it is not applied.

    • ๐Ÿ“ Song shape โ€” chorus lift, where the top note is, how much of the chorus comes back (hook), how the melody moves, lyrics vs notes. Features, not a score: higher is not better.

    • ๐Ÿ“ Compare candidates โ€” every take side by side on the Timeline (health, shape, loudness, which takes share a score), then โ–ถ and โ‡„ A/B to decide. ๐Ÿ“ lyrics โ†’ workflow and ๐ŸŽ› style โ†’ pads put a saved song's lyrics and Style Pad settings back into the workflow โ€” make it again, or nudge a pad to arrange it.

    • ๐Ÿงพ Prompt audit โ€” before the score is planned: style vs pad (instrumental / vocal, male / female), BPM, lyrics language, unknown section tags, instructions hiding in lyrics; and the score's tempo / meter / key vs the style. Reports, never rewrites.

    • ๐Ÿช„ Style from words keeps music notation (7/8, C# minor, G7#11) and with keep_pad changes only what you asked for. ๐Ÿ›ก Saving is safer still when several saves or ComfyUI processes overlap.

    Already in v3.0: ๐ŸŽ› stem mixer (Demucs), ๐Ÿ“ˆ per-stem volume automation, ๐Ÿช„ style from words, โ‡„ take A/B, ๐ŸŽง audition the export, ๐ŸŽผ key / tempo, and all-or-nothing saving that never clips silently.

    Create

    • ๐Ÿช„ Style from words โ€” describe the song, the pads move (see above). Same LLM backends as the Lyrics Writer; OFF = your pads as they are.

    • ๐ŸŽ› Style Pad โ€” 32 genres (incl. anison, Vocaloid, enka, reggae, drum and bass), 20 instruments (lead / support), vocal type & tone, era, language, a mood XY pad, tap tempo and a ๐ŸŽฒ random button. The preview text is exactly what YuE2 receives; hand-edit it any time.

    • ๐Ÿ–‹ Lyrics Writer (optional, OFF by default) โ€” an LLM writes [Verse]/[Chorus] lyrics in the Style Pad's language and mood. Runs inside ComfyUI (a Qwen3-VL / Qwen3.5 file from models/text_encoders, loaded only while writing) or via LM Studio. ๐Ÿ–ผ Add a photo and it imagines the story behind it, then writes lyrics sung from inside that story.

    • ๐ŸŽš YuE2 Console โ€” every ABC / music sampling knob behind presets: balanced / stable / adventurous / wild / tight_lyrics / style_strict / custom. tight_lyrics and style_strict raise CFG and are experiments (YuE2's default with a score is CFG 1.0) โ€” compare them with balanced on the same seed.

    • ๐ŸŽน Instrumental Gate โ€” YuE2 sings even if you write "no vocals". Pick the community instrumental LoRA (ar_lora_inst_v3abc_comfyui.safetensors from Mothersuperior/YuE2-instrumental-cot-full-loras) and the instrumental pad applies it, sets the lyrics to [instrumental] and strips lyric lines from the score.

    The score (ABC)

    • ๐ŸŽ™ Start from an existing song or score (bno84's YuE2-Kit) โ€” None (compose as usual) / ABC (paste or open a score) / Transcribe (SheetSage2 writes an existing song's melody and chords as a score). Turn on Extend and YuE2 keeps that score as the opening and writes what comes next. One ๐ŸŽผ score mode switch for full / melody.

    • ๐ŸŽป ABC Instrument โ€” YuE2's score has a nameless V: Ins voice that mostly rests while the singer sings, which is why instrument words in the style rarely show up. This node names the voice after your lead instrument and lets it double the vocal melody where it rested (fill_rests), or hands it the whole melody for an instrumental (take_over).

    • ๐ŸŽผ ABC Preview by bno84 โ€” twice: the generated score, and the final score after key / tempo (what actually renders).

    • ๐Ÿฉบ Score health check & song shape โ€” sits after โœ‹ Score check; looks only by default (see "New in v3.1"). ๐Ÿงพ Prompt audit sits before the score planner.

    • โœ‹ Score check โ€” run with hold ON and the run stops once the score exists (not an error). Read the staff, press ๐Ÿ“‹ to copy the score into the editor, fix it, set hold OFF and continue. The score is cached, so only the music renders.

    ๐ŸŽผ Sing it again in another key or tempo

    • ๐ŸŽผ Key / tempo โ€” "a bit too high", "a little slower": set semitones (ยฑ12) and / or tempo (BPM or ratio) and run. The score's key signature, notes and chord symbols and the BPM in the style are rewritten, only the music renders again, and the same song comes back sung in the new key and tempo. The rewrite follows YuE2's score rules and is verified for all ยฑ12 semitones with the official checker.

    โš™ Power users

    • ๐ŸŽš variations (1-4) โ€” N takes with the same score and the same singing, different timbre and mix, in one run. The composer runs once; only the acoustic KSampler runs N times, far cheaper than re-running. They line up on the Timeline as var 1/N and Save Song writes _v1 _v2 โ€ฆ. Up to 2 on 16 GB.

    • ๐ŸŽš render_quality โ€” KSampler steps draft 16 / good 24 / standard 32 / fine 48 (the composer dominates the total time; this is for listening tests).

    • โš™ Timbre LoRA node (an enabled switch) โ€” the Real-Audio tokenizer v4 NAR LoRA, or a timbre LoRA trained on your own songs with ComfyUI-YuE2-Trainer (MODEL side). Works alongside the instrumental LoRA (CLIP side).

    • A survey of YuE2's optional features (song length is bounded by the remaining 24576-token context, not by max_duration; cfg controls adherence to style and lyrics; and more) is summarised in the README.

    • ๐Ÿ“œ Provenance โ€” every take and saved .json records the Console settings, key / tempo change, whether the score was edited, and both LoRAs, so you can rebuild a take later. Survives ๐Ÿ“‚ open โ†’ โ˜… / ๐Ÿ’พ.

    Listen, polish, save

    • ๐ŸŽง FX Rack โ€” draggable EQ, compressor, reverb, stereo width, fades, silence trim, loudness match (-16 LUFS default), limiter, bypass. Re-runs only touch the FX, so tweaks take seconds.

    • โฑ Timeline โ€” sheet music and waveform on one time axis; the playhead moves through both and the sounding notes light up. Seek, loop, jump to a section. Every run adds a take; โ˜… keeps favourites. ๐Ÿ“‚ open brings back any song you made before (output/ScoreStudio or audio in input/).

    • ๐ŸŽš Playback monitor โ€” a mixer strip inside the Timeline: L/R peak + RMS meters, M / S / I loudness (BS.1770) against your target, a spectrum, a 10-band graphic EQ you move while the song plays, compressor / reverb preview, master fader and A/B. ๐Ÿ’พ save as heard writes exactly what you hear to flac / mp3 / wav / wav32 in seconds (no YuE2 run); โ†’ apply to FX Rack copies the settings into the FX node instead.

    • ๐ŸŽ› Stem mixer โ€” turn the ๐ŸŽš Stems node ON and Demucs splits the song into vocals ยท drums ยท bass ยท guitar ยท piano ยท other; faders, mute, solo and pan on the Timeline, heard live, remixed by ๐Ÿ’พ save as heard. Songs opened with ๐Ÿ“‚ can be split right on the Timeline (๐ŸŽ› separate stems). Separation is good but not magic: ยฑ6 dB per stem sounds natural, extreme moves expose bleed.

    • ๐Ÿ“ˆ Volume automation for the whole mix or each stem ("guitar +6 dB in the chorus only"), โ‡„ take A/B (same position, matched loudness), ๐ŸŽง audition the export (bit for bit what ๐Ÿ’พ writes), Space = play / pause.

    • ๐Ÿ’พ Save Song โ€” flac / mp3 / wav / wav32 + .json (style, lyrics, seed, pad state, FX report, provenance) + .abc. if_over_0dbfs: limit -1 dB (default) / wav32 / stop / clip; the node shows the peak and what it did.

    Install

    1. Unzip. Copy custom_nodes/ComfyUI-ScoreStudio into ComfyUI/custom_nodes/. Updating: delete the old ComfyUI-ScoreStudio folder first, then copy the new one (no leftovers from older versions). No extra pip for the core โ€” it uses numpy / scipy / av that ComfyUI already ships.

    2. models/checkpoints/yue2_3b_bf16.safetensors (or the int8 build; pick it in the ๐Ÿ“ฆ Model group).

    3. Install bno84's YuE2-Kit (0.2.0 or newer) and ABC Preview from ComfyUI-Manager. If you installed YuE2-Kit earlier, update it โ€” 0.1.x shows "unknown pack: bno84.ReferenceInput". For transcription only: models/audio_encoders/sheetsage2_bf16.safetensors (not needed for None / ABC).

    4. For the ๐ŸŽ› mixer (optional): install Demucs into ComfyUI's own Python โ€” portable build: python_embeded\python.exe -m pip install demucs; venv / desktop: activate it, then pip install demucs. The model downloads once on first use (internet needed that one time). Without Demucs everything else works; just leave the ๐ŸŽš Stems node OFF (it starts OFF).

    5. Restart, load workflows/score_studio_v3.1_en.json (or _ja.json). Needs a ComfyUI with the native YuE2 nodes. Coming from v3.0 or older? Load the new workflow โ€” an older workflow does not contain the new nodes (๐Ÿฉบ Score health check, ๐Ÿงพ Prompt audit; and from v2.x also Stems, Style from words, Key / tempo, Timbre LoRA, Provenance).

    Mixer tips: htdemucs_6s (default) gives 6 stems; htdemucs is the fastest (4 stems: vocals / drums / bass / other); htdemucs_ft is the cleanest 4-stem model but about 4ร— slower. device: auto uses the GPU when there is room; keep_loaded OFF frees the model (~1 GB) after each run so YuE2 keeps its VRAM. Stem files are temporary until you โ˜… a take โ€” favourites keep their stems and reopen with the mix.

    Tested on RTX 5060 Ti 16 GB with the bf16 checkpoint. Start with max_duration 60โ€“90 s for a first song.

    Honest notes

    • FX never changes how YuE2 composes โ€” the song is shaped by the pads, the Console and the score.

    • The health check reads the score, not the audio: takes rendered from the same score get the same values (the candidates table marks them with the same letter), and YuE2 does not always sing exactly what is written. Lyrics vs notes uses a rough syllable count. The prompt audit's length warnings are hints, not token counts.

    • Genre / instrument tags are requests, not commands; compare tags on the same seed and reword the weak ones.

    • The monitor's compressor and reverb are approximate previews; its EQ and master use the same math as the saved file.

    • The clip warning and the Save Song report give the sample peak, not an oversampled true peak; an mp3 can peak slightly higher after decoding โ€” keep the -1 dB limiter ON for mp3.

    • The live mixer and automation are previews in the browser (Web Audio); ๐Ÿ’พ save as heard re-renders them in Python. Use ๐ŸŽง audition the export when you want to hear the saved file exactly.

    • Timeline section times come from the score's bar count and tempo; "fit score" stretches them to the audio when they differ.

    • The LLM features are optional and OFF by default; v1.3 remains available as the LLM-free version.

    • YuE2-3B and the instrumental LoRA are CC BY-NC 4.0 (non-commercial). Demucs is MIT (Meta). The nodes are MIT.

    Credits

    Score Studio is built on two node packs by my friend bno84 (both MIT; not bundled โ€” install them from ComfyUI-Manager). Thank you!

    • ABC Preview โ€” github.com/bno84/ComfyUI-ABCPreview (Registry comfyui-abcpreview): sheet music beside the ABC source, preview playback.

    • YuE2-Kit โ€” github.com/bno84/ComfyUI-YuE2-Kit (Registry comfyui-yue2-kit, 0.2.0+): Reference input (None / ABC / Transcribe) and YuE2 Extend ABC. The "Reference score" block is used unchanged from bno84's yue2-kit-song example.

    The wide timeline draws sheet music with abcjs 6.7.2 (MIT, Paul Rosen and Gregory Dyke), bundled.

    Feedback, odd scores and "this tag doesn't work" reports are very welcome โ€” they go straight into the next version.

    Description

    FAQ

    Workflows
    Other

    Details

    Downloads
    31
    Platform
    CivitAI
    Platform Status
    Available
    Created
    11/6/2026
    Updated
    11/7/2026
    Deleted
    -

    Files

    Score_Studio_v3.1.zip

    Mirrors

    CivitAI (1 mirrors)