Nodes/MOSS-TTS/MOSS-TTS Voice Reference
ComfyUI Node

MOSS-TTS Voice Reference

The one node that stops MOSS-TTS talking with a Chinese accent

By Eutectico·Created 4 months ago·Updated 4 months ago· 0
MOSS-TTS Voice Reference
  • audio
  • voice
audio_path

If your MOSS-TTS output sounds like a Chinese speaker doing a very determined English reading, this is the node you skipped. MOSS-TTS was trained primarily on Chinese, so its default voice leans Chinese - including when you feed it English. A clean reference clip fixes that, and it's also the entire voice-cloning story. This node is how you hand that clip to the model.

What it actually is

MOSSTTSVoiceReference is not a model and doesn't do any synthesis. It's a thin wrapper that takes an AUDIO input or a file path and wraps it into the MOSS_TTS_VOICE container that the MOSSTTSGenerate node eats through its voice input. Think of it as a voice-selector cartridge: load a clip, feed it in, done.

It exists because of a quirk in the wider workflow: ComfyUI's Load Audio node gives you an AUDIO dict, but MOSS-TTS's processor wants a file path. This node bridges the two by writing the audio to a temp WAV behind the scenes.

The two inputs (both optional, wire one)

  • audio (AUDIO) - from a Load Audio node. Gets written to a temp WAV and used as the reference.
  • audio_path (STRING) - a path to a file on disk instead.

If you set both, audio wins and audio_path is silently ignored (the code logs a warning). If you set neither, you get the default voice - which is exactly the Chinese-leaning one you're probably trying to escape. To use the default voice on purpose, just leave the voice socket on Generate empty.

The single output is voice (MOSS_TTS_VOICE), which wires straight into MOSSTTSGenerate.voice.

Getting a good reference

The author's guidance, and it's good: a 5–15 second clip, clean, one speaker, no background music. The reference is what carries pronunciation and identity, so the quality of the clip matters far more than its length. A 30-second clip with music in it will give you a voice that sounds like it's cloning a music video. For English output, the clip must be English - the model clones the clip's phonetics, and a Mandarin reference won't magically make your English clean.

Installing and using it

It ships in the MOSS-TTS pack, so install once and you get all four nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/Eutectico/ComfyUI-MOSS-TTS.git
pip install -r ComfyUI-MOSS-TTS/requirements.txt

Then restart ComfyUI - or just search "MOSS-TTS" in ComfyUI Manager and let it handle both steps. There's no per-node install; this node adds no extra dependencies beyond the pack's.

Minimal voice-cloning chain: Load AudioMOSSTTSVoiceReferenceMOSSTTSGenerate.voice, with the audio output going to Save Audio. First run downloads ~13 GB of weights, so the first generation is the slow one; everything after is fast.

Troubleshooting

  • Path not found error - audio_path must point at a real file; the node validates it and raises FileNotFoundError if it's wrong. Easiest fix: use the audio input instead.
  • Still Chinese-accented - you either left voice disconnected, or your clip is in the wrong language.
  • Weird voice but not yours - check the clip itself. MOSS-TTS clones what you feed it; garbage in, garbage out.

This is a niche node in a small pack, but it's quietly the most important one in it - it's the difference between "a Chinese TTS reading your English" and actual voice cloning.

CategoryMOSS-TTS/voice

Inputs (2)

NameTypeDefaultDescription
audiooptAUDIO
audio_pathoptSTRING

Outputs (1)

NameTypeDescription
voiceMOSS_TTS_VOICE