MegaTTS3 Speakers Preview
Hear your reference voice before you clone it
- audio
- npy_file
Voice cloning has a brutal feedback loop: you pick a reference clip, run the whole pipeline, and only then find out the voice was wrong for the job. MegaTTS3 Speakers Preview exists to break that loop. It's a tiny node that does one thing - let you browse and hear your candidate reference voices before you ever touch the actual cloning node.
What it does
The node reads the ComfyUI/models/TTS/speakers directory and gives you a dropdown of every audio file it finds there. The author made it recursive and supports subfolders, so you can organize voices the way people actually organize voices: 中文女-已知风格/御姐配音.wav, a male folder, an English folder, whatever keeps your head straight. It accepts .wav, .mp3, .flac, and .mp4. Pick a speaker and the node hands you two things:
- audio - the reference clip itself, ready to preview (wire it to a Preview Audio node) or to feed straight into MegaTTS3 Run as the voice to clone.
- npy_file - a string path to a precomputed
.npylatent file if one sits next to your clip with the same name; empty string otherwise.
That second output is quietly the useful one. MegaTTS3 Run's audio_npy_file input accepts it, which matters because the pack can't encode raw audio into a latent without the WaveVAE encoder model the author gates behind a WeChat download. If you already have .npy latents for your speakers, this node auto-discovers them and hands them over - you skip the encoder problem entirely.
How to use it
Drop your clips in ComfyUI/models/TTS/speakers (subfolders allowed), add the node, pick one from the dropdown, and wire both outputs into a MegaTTS3 Run node. The author added this in the April 2025 update specifically on a community suggestion: preview first, clone only if you're satisfied. It's a workflow improvement that should be the default for every cloning tool.
Install and gotchas
Same pack as everything else here - ComfyUI Manager, search "MW-ComfyUI_MegaTTS3", or clone the repo into custom_nodes and pip install -r requirements.txt (Windows needs the pynini wheel first, see the pack README). A nice side effect of this pack's design: the speakers folder is shared across the author's whole family of TTS nodes (IndexTTS, CSM, KokoroTTS, QuteTTS, SparkTTS, StepAudioTTS and more), so voices you organize here carry over if you try another one.
Two gotchas worth knowing. If the dropdown comes up empty, you haven't put any audio in models/TTS/speakers yet - the node will create the folder for you on first run, which only makes the silence more confusing. And don't expect npy_file to appear magically: unless you've dropped a matching .npy alongside the audio (or ran the author's tooling to generate one), it returns an empty string, and MegaTTS3 Run will fall back to needing the VAE encoder. It's a preview-and-route node, not a latent generator - know that going in and it'll never surprise you.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| speaker | COMBO | 0 options: |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| npy_file | STRING | — |