Plenio 1.0: A Free Local Song Studio in ComfyUI, Now With a Player

ComfyUI Wikinews

Plenio 1.0 turns ComfyUI into a free local song studio: a language model writes the lyrics, YuE2 or MiniMax Music 3 performs them, and a new browser player plays and shares them.

<strong>Plenio Music Production System 1.0</strong> turns ComfyUI into a local song studio: a language model writes the lyrics, YuE2 or MiniMax Music 3 performs them, Plenio masters and exports the result with its tags, cover art and production record. Version 1.0, released on October 16, adds the Plenio Player, a browser front end for the songs you already made.
Plenio Music Production System for ComfyUI
Plenio: Your idea. Your song. Your control.

The 54 second Plenio spot, recorded in ComfyUI with the real models.

Everything runs inside ComfyUI's own nodes: no cloud service, no API key, no extra Python packages. The one optional piece is faster-whisper, which the pack offers to install the first time a feature needs it. Plenio is the successor to the MiniMax Music Production Toolkit by the same author, and it is a new package with new node IDs rather than a rename: both can be installed side by side, and saved workflows keep working with the old toolkit.

What the pack does

Plenio is built around one path per music model, with the documents that condition the render kept visible and editable:

StageWhat it gives you
BriefSong Brief and Cover Brief with templates for every genre: tempo, length, vocals, language, key, meter, arrangement, genre closeness
WriteA local language model writes the title, style and lyrics. Gemma 4 runs natively, or the Local LLM node drives any GGUF from models/LLM, LM Studio, Ollama, llama.cpp, vLLM or Jan
CheckThe Song Sheet shows exactly what the music model will receive. Each document is automatic, edited or manual, and manual text is never replaced
PerformYuE2-3B sings the score, or MiniMax Music 3 renders from the caption and lyrics
PolishStems with a mixer, refine to 48 kHz, an EQ on the curve, loudness to -14 LUFS / -1 dBTP with a true-peak limiter
ExportFLAC 24-bit, MP3 V0 or WAV 32-bit float with tags and embedded cover art, plus the unmastered take, a release record of documents, seeds, settings and loudness, and for YuE2 the sheet music as a PDF

Three templates cover the main routes: YuE2 · Song, YuE2 · Cover (a recording becomes a new version) and MiniMax · Song. A fourth, YuE2 · DAW, is for composing the melody and chords yourself, either drawn in the score editor, played in from a MIDI keyboard or imported from a DAW. Enhance & Master finishes and masters a file you already have, on CPU. Plenio adds 26 small nodes where ComfyUI has nothing equivalent, down from 55 in the predecessor, and generation, loaders, samplers and downloads are ComfyUI's own nodes throughout.

New in 1.0: the Plenio Player

The Plenio Player's Now playing view

Now playing: the stage, the lyrics syllable by syllable and the notation following the music.

The player opens from ComfyUI's action bar, a Plenio menu entry or the command palette, or on its own with python plenio_player.py at http://127.0.0.1:8765/. ComfyUI does not have to be running: the player reads the release records under ComfyUI's output folder.

  • Library: search over titles, lyrics, genres, moods and briefs with field filters such as genre:jazz, bpm:>110, key:Am, model:yue2 or is:fav, filter chips, eight sorts, grid or list.
  • A song's page: the lyrics (click a line to hear it), the notation following the music with the cursor at the notes sounding, the sheet music PDF, the brief, seeds and tags, every file to download, the song's other takes.
  • Now playing: Stage, Lyrics in karaoke mode, Notation and Visual full screen, with crossfades, an A/B switch against the unmastered take in step, and playback at 0.75 to 1.25 times keeping the pitch.
  • Visuals: 13 of them (oscilloscope, vectorscope, hyperspace, kaleidoscope and more), drawn from the spectrum, the waveform, the stereo image and the beats, chosen per song, per playlist, or cycled on a timer.
  • Plenio Drop: a MilkDrop-style renderer on the graphics card with 16 presets and one made up fresh each time. Presets of your own are short JSON files of numbers and small formulas, read by the player's own calculator rather than executed as script, and a saved file changes on screen within three seconds.
Plenio Drop visuals with the lyrics over them

Plenio Drop in the player, with the lyrics over the visual.

  • Live Play: a playlist for a party that you rearrange while it plays, and the songs you make in ComfyUI join it the moment Export Release writes them.
  • A song as a video: an MP4 with the visual, the lyrics as subtitles or karaoke, the notation following the music and a title card, in Full HD, 4K, square or upright for shorts, at 30 or 60 frames a second, encoded by the browser on the graphics card.
A frame of an exported song video

A frame of a song's video: the lyrics as karaoke, the notation with its cursor and the title in the corner.

  • Share your songs as a player: one HTML file holding the player and the songs you pick as MP3, at 128, 160 or 192 kbit/s. Anyone double-clicks it and listens, with lyrics, notation and visuals, and no install, server or account.
Sharing songs as a single HTML player file

Packing songs, sheet music and playlists into one HTML file to send.

Lyrics subtitles timed by listening

Export Release also writes the lyrics beside the song as <name> (lines).srt, one subtitle per line, and <name> (notes).srt, a new subtitle at every syllable or word. The times are measured rather than derived from the score: the lyrics ASR listens to the exported song, its words are matched to the final lyrics, and for YuE2 the score is fitted to them, with the ear winning where score and ear disagree. Measured against a forced aligner on 48 YuE2 songs, half the words land within 0.16 seconds and 82 percent within half a second, against 66 percent for Whisper's own times. Instrumentals get no subtitles, and an offline machine still exports, with a note saying why the timing is missing.

Getting started

### Install the nodes Search for Plenio Music Production System in ComfyUI Manager, or install comfyui-plenio-music from the command line. Plenio installs no Python packages.

Check the machine

Open 0 · System Check from the template browser and run it: it reports the ComfyUI version, the GPU, and which model files each template still needs.

Download the models

Open one of the song templates and let ComfyUI's missing-model dialog fetch the files: YuE2-3B or MiniMax Music 3 for the music, plus a local LLM for the lyrics. Model lists are in the user guide.

Write a song

Fill in the brief, run the writer stage, check the Song Sheet, then render. Every song template ends in Plenio · Master and writes the release record that the Plenio Player reads.

Availability

Nodes: jplenio/Plenio-Music-Production-System · ComfyUI Registry comfyui-plenio-music
Release: v1.0.0
Demo gallery: jplenio.github.io/Plenio-Music-Production-System
Docs: user guide
Music models: YuE2-3B · MiniMax Music 3

Comments

Sign in with GitHub to join the discussion.

Loading comments…
Plenio 1.0: A Free Local Song Studio in ComfyUI, Now With a Player | ComfyUI Wiki