Open Voice TTS
Clone a voice from one short clip, no training, no API key
- AUDIO
- SAMPLE_RATE
Type text, get a voice that sounds like your reference clip
Drop in a 10-second recording of someone talking, type a line, and out comes that text spoken in their voice. No training, no LoRA-style finetuning, no API key - the whole thing runs locally. That's what Open Voice TTS gives you, and for a voice-cloning node inside ComfyUI it's remarkably close to plug-and-play.
ComfyUI grew up as an image and video tool, but the audio flank has been filling in, mostly so people can dub talking-head and lip-sync workflows without leaving the graph. This node is one route: it's hay86's unofficial port of MyShell's OpenVoice, the zero-shot instant voice cloning project, and the author's own example workflow feeds the audio straight into ComfyUI's built-in ACE_AudioSave / ACE_AudioPlay nodes so you can write the WAV or listen to it right away.
How it works
OpenVoice is a two-stage pipeline, and it shows in the code. First a base speaker TTS model speaks your text in a neutral voice, with the style you pick (more on that in a second). Then a tone color converter takes the timbre of your reference clip - extracted as a speaker embedding by a VAD-based extractor - and paints it onto the generated speech. That's the whole trick behind "instant" cloning: it transfers the vocal tone, not the actual content.
Two honest caveats from OpenVoice's own docs. It clones tone color, not accent or emotion - the accent comes from the base model, the emotion from the style you choose, so don't expect your reference's personality to bleed through. And every output carries a hidden @MyShell watermark, which is why you can't use it to fool anyone who checks.
The inputs that matter
Most of the node is a single dropdown and a text box:
- text - what gets spoken. Multiline, so paragraphs are fine.
- ref_voice - the dropdown of audio files sitting in your
ComfyUI/inputfolder (wav, mp3, or flac). This is your cloning source, and it matters more than any other setting: clean, one speaker, ideally 10-30 seconds. - lang - English or Chinese. The README's one hard rule: Chinese only supports the
defaultstyle. - style -
default,whispering,cheerful,terrified,angry,sad,friendly. This is OpenVoice's party trick - clone a calm voice and still get a terrified take. - speed - a float, default
1.0. The slider's 0–10 range is more generous than you'll ever need.
Outputs are just AUDIO (a list of samples) and SAMPLE_RATE (an INT, typically 22050). The AUDIO output is typed as *, so anything that accepts raw samples will take it.
Installing it
Easiest path is ComfyUI Manager - search openvoice and let it handle the rest. Or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/hay86/ComfyUI_OpenVoice
sudo apt install ffmpeg
pip install -r requirements.txt
Then restart ComfyUI. ffmpeg is not optional - the pack's audio handling depends on it. The requirements list is heavy-ish (librosa, faster-whisper, whisper-timestamped, pydub and friends) but nothing exotic. Models are the pleasant surprise: they auto-download from Hugging Face on first run into models/openovice - a folder name that's literally misspelled in the source, and yes, you should not fix it, the node looks for that exact path. The download is sizeable, but it's one-time.
Common issues
- The reference clip is everything. Background noise, two speakers, or a 2-second snippet all tank the result. Get a clean mono clip, ideally 10+ seconds.
- New files don't appear in the dropdown. It's built by scanning
input/when the node loads, so drop files in before you add the node - or re-add it. - First run feels frozen. The model download + VAD setup has no progress bar you'll notice; give it time.
- Silero VAD fails on machines that can't reach GitHub - it downloads the VAD model from GitHub at runtime. OpenVoice's own FAQ has the manual workaround.
- If you run into weird behavior, the pack also supports OpenVoice V2 (that path needs MeloTTS, mecab, and unidic installed separately - skip it unless you need more languages).
The honest take
OpenVoice is 2023-era tech and the field has moved - these days people reach for Chatterbox, F5-TTS, or bundled suites like TTS-Audio-Suite for the heavy lifting. But this node is still the zero-friction option: no key, no training, style control baked in, and it just runs. For a quick dub or a talking-head experiment, that's worth a lot.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| lang | COMBO | 2 options: English, Chinese | |
| style | COMBO | 7 options: default, whispering, cheerful, terrified, angry, sad, +1 | |
| speed | FLOAT | 1.00–10 | — |
| ref_voice | COMBO | 0 options: |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| AUDIO | * | — |
| SAMPLE_RATE | INT | — |