TS CosyVoice Cross-Language
One voice, nine languages, same timbre
- model
- reference_audio
- audio
TS CosyVoice Cross-Language is the localization node: reference audio in one language, text in another, and the output is the text spoken in the target language with the reference's timbre. Same voice, different tongue. That's a genuinely hard trick - most TTS models either clone or go multilingual, rarely both - and it's one of CosyVoice 3's headline features, right there in the release notes with cross-lingual cloning called out explicitly.
The practical version of this: you record one actor once, in their native language, and every locale of your game or trailer gets voiced by "the same person." Russian voice reading English lines, English voice reading Japanese lines, timbre intact. Localization teams use this kind of thing to keep a single vocal identity across markets instead of hiring nine actors.
How it works
Same shape as the other synthesis nodes: the reference clip gets trimmed to 30 seconds, downmixed to mono 24 kHz, written to a temp prompt file, and fed to CosyVoice's inference_cross_lingual. Your text is formatted for the chosen target_language, and the model re-speaks it while holding onto the reference's speaker embedding. The language list is: auto, zh, en, ja, ko, de, es, fr, it, ru.
One honest caveat the pack states plainly: quality varies a lot between languages. English and Chinese get the best treatment; some of the nine are noticeably weaker. Don't assume the take you love in English will be as clean in, say, Korean. And it's not a translator - you supply the translated text.
The inputs that matter
reference_audio- the voice to keep. Clean, single speaker, no music. Same rules as everywhere else in this pack: quality in, quality out.text- already in the target language. This node doesn't translate.target_language- the one combo worth touching. Unsure what language your text is in? Leaveautoand the model guesses.speed- 0.5× to 2×.seed- 42 for reproducibility,-1for a fresh take.
Output
A single audio output, into Save Audio / Preview Audio. Pipeline is dead simple: Model Loader → Cross-Language → Save Audio.
Installing
ComfyUI Manager, search TS CosyVoice, or:
cd ComfyUI/custom_nodes
git clone https://github.com/AlexYez/comfyui-ts-cosyvoice.git
cd comfyui-ts-cosyvoice
pip install -r requirements.txt
Then the two non-negotiable extras: one ONNX Runtime (pip install onnxruntime-gpu on NVIDIA, onnxruntime otherwise) and CUDA torch already in place before the pack's deps. The ~1.5 GB model auto-downloads on first Model Loader run.
Troubleshooting
- Output is in the right language but the voice drifts - shorten and clean the reference; 5–15 seconds beats 30 noisy ones.
- The target language option isn't there - you're on an older pack version, or your text is in a language outside the nine and
autois doing its best guess. - Quality is noticeably worse in one language than another - that's the model, not you. A/B a few languages before committing to the take.
- Batch of clips vanishes - this pack refuses multi-clip batches on purpose. One clip at a time.
If your job is "same character, many markets," this is the node in the pack you came for. The other six are about cloning and emotion; this one is about taking a voice somewhere it's never been.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COSYVOICE_MODEL | Загруженная модель CosyVoice из ноды загрузчика. | |
| text | STRING | Hello, this is cross-lingual speech synthesis. | Текст, который нужно озвучить на целевом языке. |
| reference_audio | AUDIO | Референсный голос; аудио будет обрезано до 30 секунд и приведено к mono 24 kHz. | |
| speed | FLOAT | 1.000.5–2 | Множитель скорости речи на выходе. |
| target_languageopt | COMBO | auto | Целевой язык текста; auto пытается определить язык автоматически. |
| seedopt | INT | 42-1–2147483647 | Зерно случайности; значение -1 использует случайный seed. |
| text_normalizeopt | BOOLEAN | true | Включает нормализацию текста; отключайте для фонем CMU и специальных тегов. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |