Nodes/BlueMagpie TTS/BlueMagpie TTS
ComfyUI Node

BlueMagpie TTS

Taiwanese Mandarin that mixes in English without choking

By endman100·Created 2 months ago·Updated 2 months ago· 1
BlueMagpie TTS
  • model
  • reference_audio
  • audio
  • generation_info
text你好,這是 BlueMagpie TTS 的 ComfyUI 測試。
speakerhung_yi_lee
cfg_value2.0
inference_timesteps10
max_len2000
retry_badcasetrue
reference_audio_path

If you've ever tried to get a Chinese TTS to drop an English word mid-sentence without mangling it, you already know why this node exists. BlueMagpie TTS is the generation half of the BlueMagpie pack: feed it the BLUE_MAGPIE_MODEL from BlueMagpie Model Loader plus some text, and it returns a standard ComfyUI AUDIO object at 48 kHz. It's a diffusion TTS built for Taiwanese Mandarin and Mandarin/English code-switching, and that last bit is the differentiator. Most open TTS is English-first, and the ones that do handle Chinese tend to choke on English loanwords. This one is trained for the mix - the pack's own example text ends with the English sentence "This feature works today," which is the entire point.

The default text is already a test sentence in Traditional Chinese, so the node runs the moment you connect it. The inputs that actually matter:

  • text - multiline. Long passages should be split into punctuation-aware chunks before they reach this node; it's a diffuser, not an LLM, and it has limits.
  • speaker - the two built-ins are hung_yi_lee and female_voice, loaded from the model's checkpoints/speaker_centroids.pt.
  • cfg_value (1–4, default 2) - the authors suggest 2.0–2.8; think of it as the adherence dial.
  • inference_timesteps (default 10) - more timesteps buy a bit of quality at a cost in time.
  • max_len (default 2000) - a cap on generated tokens; raise it for long inputs rather than cramming one giant string in.
  • retry_badcase (default on) - re-runs internally when it detects an obvious duration-ratio failure. Leave it on.

Then the cloning pair, both optional: reference_audio (a connected ComfyUI AUDIO input) and reference_audio_path (a local WAV, FLAC, or MP3). Precedence is strict - connected reference_audio beats reference_audio_path, and either beats the built-in speaker selection. This is zero-shot voice cloning, no fine-tuning: just a clean, single-speaker clip, and the model authors recommend 3 to 10 seconds. A long recording with multiple utterances, pauses, or music degrades content accuracy, and the node logs a warning in generation_info (and the ComfyUI console) when the reference runs past 15 seconds. A connected audio input gets written to a temporary WAV and deleted after generation, so nothing accumulates.

Outputs: audio - the AUDIO object - and generation_info, a JSON string saying which conditioning path ran, the sample rate, sample count, and any warnings. Wire audio into ComfyUI's native Save Audio node, exactly as the pack's example workflow does, or into VHS VideoCombine if it's the soundtrack for a video. When a render sounds wrong, check generation_info first: it tells you whether you got reference_audio or built_in:... conditioning, which is usually where the surprise is.

Two honest caveats. First, voice rights: only synthesize recordings and embeddings you have permission to use - that's non-negotiable with cloning. Second, BlueMagpie is probabilistic: the README is blunt that it can mispronounce, omit, substitute, or add words even with retry enabled, so review important output before publishing. That's the trade for a language pair that's otherwise nearly impossible to run locally.

Install is shared with the loader (they ship together): ComfyUI Manager, search "BlueMagpie TTS", or clone https://github.com/endman100/ComfyUI-BlueMagpie-TTS into custom_nodes and pip install -r requirements.txt, then restart. First run downloads ~8 GB of weights. Windows support is labeled experimental by the author; upstream documents Linux and macOS.

Categoryaudio/BlueMagpie TTS

Inputs (9)

NameTypeDefaultDescription
modelBLUE_MAGPIE_MODEL
textSTRING你好,這是 BlueMagpie TTS 的 ComfyUI 測試。
speakerCOMBOhung_yi_lee2 options: hung_yi_lee, female_voice
cfg_valueFLOAT2.01–4
inference_timestepsINT101–50
max_lenINT200016–8192
retry_badcaseBOOLEANtrue
reference_audiooptAUDIOOptional rights-cleared voice reference. Use one clean speaker for about 3 to 10 seconds; it overrides speaker selection.
reference_audio_pathoptSTRINGOptional local reference audio path (for example WAV, FLAC, or MP3). Use a clean 3 to 10 second clip. Ignored when reference_audio is connected.

Outputs (2)

NameTypeDescription
audioAUDIO
generation_infoSTRING