HeartMuLa Transcription Loader
The Smallest Loader in the Pack Does a Completely Different Job
- transcriptor
If you came to this pack to make music, this node is easy to ignore - it loads a model for the other direction. HeartMuLa doesn't just write songs; it can also listen to them. The HeartMuLaTranscriptionLoader loads the Whisper-based HeartTranscriptor-oss model that turns audio back into text. Same pack, different half of the pipeline, and it's the one that powers the lyrics side.
The nice part is how cheap this path is compared to generation. You don't need the 3B LLM, you don't need the codec, and you don't need 16GB of VRAM. One small model, one loader, done. The transcription workflow is almost embarrassingly light next to the generation one.
What it loads
This is the audio-to-text sibling of the codec loader. It calls HeartTranscriptorPipeline.from_pretrained() on the folder you point it at - the model expects the HeartTranscriptor-oss checkpoint specifically - and it loads in fp16 on a CUDA card, falling back to fp32 on CPU. So it'll run without a GPU, just slowly. Whisper-family models are resolutely un-fancy about that.
The interface is genuinely one input:
- base_path (
STRING, default"HeartMuLa") - resolved against your ComfyUI models dir, so the default isComfyUI/models/HeartMuLa/. The 📁 button opens the pack's custom folder browser, and it's worth using because this is the one loader whose expected subfolder name isn't in the combo box - you have to point at the right directory yourself.
The output is a single transcriptor socket (type HEARTMULA_TRANSCRIPTOR) that wires into the HeartMuLaLyricsTranscriber.
Setup
Same pack install as everything else - ComfyUI Manager search "HeartMuLa", or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/BobRandomNumber/ComfyUI-HeartMuLa.git
pip install -r requirements.txt
Then fetch HeartTranscriptor-oss from the HeartMuLa org on HuggingFace and place it so the folder matches what you type:
ComfyUI/models/HeartMuLa/HeartTranscriptor-oss/
You'll get a FileNotFoundError telling you the exact path if the folder isn't there - same story as the other loaders, same fix (put the files where the error says).
What to expect
The transcription model was the part of the announcement that got the least hype, and it's honestly the more reliable half of this pack. It's a Whisper-style ASR pipeline with beam search and the usual silence-detection thresholds, exposed through the transcriber node rather than hidden. For real uses: transcribing a HeartMuLa generation back to text so you can see exactly what it "sang" (hilarious and useful for iterating on lyrics), captioning audio for video, or just having a local, keyless speech-to-text that lives inside your graph. Worth grabbing alongside the codec - it costs a few hundred MB and opens the pack's second workflow without any extra setup.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| base_path | STRING | HeartMuLa | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| transcriptor | HEARTMULA_TRANSCRIPTOR | — |