Monja Character Voice • Save
Monja Character Voice Save
- audio
- audio
Turn one good clip into a reusable voice
Somewhere in your collection is the one reference recording that clones your character's voice the way you actually like it. Every workflow since has meant dragging that same wav in and retyping its transcript. Monja Character Voice • Save ends that: feed it an audio clip and the words being said, give the voice a name, and it files the pair away on disk so the pack's Load node can hand them back as a ready-made F5-TTS voice_pack later.
This is a pure I/O node - no model, no inference, no GPU work. The actual speech synthesis happens downstream in F5-TTS or tts_audio_suite; this node is just the librarian, and it takes two seconds to understand.
How it works
Give it a character name and it creates Documents/MonjaCharacterVoice/characters/<Character>/ (or whatever MONJA_CHARACTER_PATH points at). Then it writes two files: <voice_name>.wav and a <voice_name>.txt sidecar with the transcription. Nothing magical, which is the point - you can also drop a wav and txt into a character folder by hand and the Load node will pick them up, because the "library" is just a folder convention.
Two details matter under the hood. It converts multi-channel audio to mono before saving, and that's a deliberate move: voice-cloning models trip over stereo references, so forcing mono at the door prevents a whole class of "why does the clone sound like radio static" issues. And the transcription is not optional garnish - for zero-shot cloning like F5-TTS, the model reads the reference text to know what was said, so a clean, accurate transcript of the clip is the difference between a decent clone and a great one. The README calls it "essential for high-quality F5-TTS cloning," and that's not marketing.
The inputs that matter
All four are text or audio, no dropdowns:
- audio (AUDIO) - the reference waveform, straight from any VHS/audio source node.
- character - the character name. This is a plain string, not a dropdown, and it's required: leave it empty and the node raises a
ValueError. - voice_name - the filename for this voice identity. Defaults to
Principal, which is a fine default for "the main voice of this character." - transcription - the text spoken in the audio. Multiline, so paste the whole script.
The one output is audio, passed through unchanged, so you can keep the clip flowing downstream without re-routing around the save.
Installing
Via ComfyUI Manager (search "Monja Character Voice"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/andremonjardim/ComfyUI-Monja-CharacterVoice.git
Restart ComfyUI and you're done. requirements.txt only lists torch and torchaudio, both already in any working ComfyUI install, and there are no model files to download - this pack never loads a model. First launch also copies two example characters (Alice and Daniel) into your library so you can see the file layout in action.
Where people get burned
- Saving silently overwrites. If you save a
voice_namethat already exists, the old wav and txt are clobbered with no warning. Name your voices deliberately (Voice_Happy_Alice, notvoice), and treat an overwrite as a lost voice - back up your library folder if you care. - The character name is the folder name. Spaces and weird characters become folder names on disk, so keep them filesystem-friendly or you'll fight it later.
- New voices take a reload to show up in Load. The character dropdown on the Load node is captured when that node is created, so right after saving, go back to your workflow and re-add or refresh the Load node. The voice list itself updates live, but the character list won't.
It's a small tool that does exactly one job - and if you're running multiple characters through F5-TTS, that one job is the difference between a tidy library and a desktop full of final_final_v2.wav.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| character | STRING | — | |
| voice_name | STRING | Principal | — |
| transcription | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |