Transcribe Score
Transcribe Score Is How You Turn a Recording You Own Into Something the Model Can Play With
- audio_encoder
- audio
- score
- timeline
- report
What it is
Transcribe Score listens to a recording and writes it down as a score - melody, accompaniment and chords - in the same ABC dialect the rest of Plenio speaks. It's the entry point of the cover path: without it, the model has no melody to keep, and a "cover" becomes a remix with an idea.
What it adds over the native SheetSage2 node is the beat grid. Alongside the score you get a timeline output holding the time of every bar and the times of the sung notes in source seconds. That timeline is what lets Transcribe Lyrics drop transcribed words into the right score sections, what draws source sections and their start/end times in the Song Sheet editor, and what powers A/B playback against the original recording. Skip this node and you can still make a cover; you'll just be flying without instruments.
How it works
Two required inputs. audio_encoder is SheetSage2, loaded from the native Audio Encoder Loader (sheetsage2_bf16.safetensors, 1.4 GB, into models/audio_encoders). audio is the source recording - and yes, you are expected to trim it first with Trim Audio Duration if you're working on part of a song.
SheetSage2 transcribes one 300-second window per pass. That's not a soft limit. Sources longer than 5:00 need a second pass, and on a card below 24 GB of VRAM the node refuses rather than trying and running out of memory - the pack's own notes record that a second window blew up a 16 GB card. Up to 5:00 is supported; the template's Excerpt block is the intended tool for anything longer.
Only the first item of a batch is transcribed, and the node says so in its warnings rather than silently ignoring the rest. Out-of-memory during the pass is caught and rewritten as a user-facing error with a hint to trim, which beats decoding a CUDA stack trace at midnight.
Outputs: score (native two-voice ABC, with chords - the same score the native SheetSage2 node produces in full mode), timeline (bar times and sung notes), and report (bars, tempo, key, sections and voices - genuinely useful for sanity-checking a transcription before you build on it).
Install
# ComfyUI Manager → search "Plenio Music Production System" → Install → restart
# or:
cd ComfyUI/custom_nodes
git clone https://github.com/jplenio/Plenio-Music-Production-System
Requires ComfyUI 0.37.0+, and the pack installs no Python packages - SheetSage2 and the encoder loader are ComfyUI's own. You do need the encoder file:
ComfyUI/models/audio_encoders/sheetsage2_bf16.safetensors (1.4 GB, CC BY-NC 4.0 - non-commercial)
Open 2 · YuE2 · Cover and let ComfyUI's missing-model dialog fetch it, or place it by hand. 0 · System Check will tell you whether it's there.
Common issues
- "Transcribe Score needs the SheetSage2 audio encoder." Either the file is missing or you're feeding the
audio_encoderinput something that isn't SheetSage2. Loadsheetsage2_bf16.safetensorswith Audio Encoder Loader and connect that. - Out of memory on a long source. Trim. 5:00 is the supported ceiling and the node is explicit about where your hardware sits relative to it.
- The transcription sounds plausible but the sections are odd. Model transcriptions are good, not perfect, and the report is your check. Fix the score in the Song Sheet's score tab before rendering - that's the whole point of reviewing it first.
- Five minutes in, the take drifts. The score and the timeline come from one pass, but re-rendering a long cover from a transcription is a stretch; doing covers per section is the more reliable habit.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| audio_encoder | AUDIO_ENCODER | SheetSage2 from Audio Encoder Loader. | |
| audio | AUDIO | The source recording (trim it first for a part of the song). |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| score | STRING | The transcribed score (native two-voice ABC, with chords). |
| timeline | PLENIO_TIMELINE | Bar times and sung notes in source seconds. |
| report | PLENIO_REPORT | Bars, tempo, key, sections and voices. |