Built the real environment on Windows to check the one-click install. - The pins upstream carries with published advisories (diffusers, hydra-core, lightning, modelscope, onnx, protobuf, transformers) are raised to fixed releases; that exact set installs and passes the installer's import probe. pyarrow, not needed, is dropped. A test keeps every pin at or above its advisory fix. - wetext is dropped with its install-time fetch. Its data exists only on ModelScope, which rate-limits downloads; a throttled fetch left files missing while reporting success, so the normaliser failed silently. CosyVoice reads text as written without it, and nothing reaches ModelScope at install or synthesis time. The unused post-install hook goes with it. - openai-whisper builds from source, and under a long cache path the build hits Windows' 260-character limit; the install failure now says to turn on long-path support.
4.6 KiB
VoiceStudio: CosyVoice Engine
CosyVoice is an optional multilingual TTS backend for zero-shot voice cloning and instructed speech. A one-click install runs it in its own environment and process; an existing source installation keeps running in-process.
Downloaded weights and an available engine are different states
The Model Catalogue tracks model weights separately from engine runtime
availability. A downloaded
FunAudioLLM/Fun-CosyVoice3-0.5B-2512 cache means the model files reached the
machine. It does not prove that the VoiceStudio backend can import and run
CosyVoice.
The current readiness check requires the same Python interpreter that runs the VoiceStudio backend to import:
from cosyvoice.cli.cosyvoice import AutoModel
It then loads the directory named by OMNIVOICE_COSYVOICE_MODEL, or defaults
to pretrained_models/Fun-CosyVoice3-0.5B. That path must resolve to the usable
model directory, not only the parent Hugging Face cache directory.
One-click install
Click Install in Model Catalogue → Engines → CosyVoice. VoiceStudio gives CosyVoice its own folder under the data directory and its own Python 3.10 environment, and runs it there in a separate process. The install:
- clones a reviewed CosyVoice commit and the Matcha-TTS code it depends on;
- downloads the CosyVoice 3 weights (about 5.4 GB).
It differs from upstream's own setup:
- PyTorch 2.7.0. The CUDA 12.8 build on an NVIDIA GPU, the CPU build on other Windows and Linux machines, the regular build on Apple Silicon. Upstream's 2.3.1 exists only for CUDA 12.1 and cannot run on RTX 50-series GPUs.
- Leaner dependencies. No TensorRT, DeepSpeed or GPU onnxruntime, and no third-party package index. Upstream uses them for extra speed on Linux; synthesis works without them. Nothing needs a compiler, and SoX is not needed.
- Patched dependencies. Where upstream pins a release with a published security advisory (diffusers, hydra-core, lightning, modelscope, onnx, protobuf, transformers), the install uses the fixed release. That set was installed on Windows and passes the install's import check.
- No text normaliser. Upstream's (wetext) downloads its data from ModelScope on every model load, and ModelScope rate-limits those downloads, so a normaliser could half-download and fail silently. The one-click install leaves it out, and CosyVoice reads text as written: spell out numbers, dates and symbols where the pronunciation matters.
- Only the weights CosyVoice 3 loads. Not the RL and TensorRT variants that share its repository.
Nothing it installs touches VoiceStudio itself or any other engine, and Uninstall in the same row removes only that folder. An existing source installation keeps working as it is. The button is not offered on Intel Macs, where PyTorch 2.7.0 has no build.
CosyVoice 3 has no built-in voices. With no reference clip, it speaks in the voice of upstream's own sample prompt.
Source builds and existing installations
The upstream CosyVoice project recommends its own Python 3.10 Conda environment and SoX. The one-click install above gives CosyVoice that separate environment. Installing upstream dependency pins into VoiceStudio's shared backend environment can also conflict with other engines.
Existing source installations remain usable when the VoiceStudio backend's
interpreter can already import cosyvoice.cli.cosyvoice.AutoModel. Keep a
working installation in place. Before starting VoiceStudio, set
OMNIVOICE_COSYVOICE_MODEL to its usable model directory through the source
checkout's environment or project .env file.
For upstream setup details, read the official CosyVoice installation guide. Those steps create a standalone CosyVoice environment. They do not turn the current packaged VoiceStudio app into a CosyVoice installer.
Diagnose an unavailable engine
Include these facts in a support question or bug report:
- The exact VoiceStudio version.
- The full reason under Model Catalogue > Engines > CosyVoice after selecting Re-check.
- The CosyVoice lines from Settings > Logs > Backend immediately after that check.
- On Windows, the output of
where.exe soxin PowerShell.
These facts distinguish a downloaded-model state from a missing Python runtime, missing SoX executable, or incorrect model directory. Do not delete a model cache or reinstall dependencies until the log identifies which state failed.
The public report that exposed the misleading installed state is Discussion 1631.