MOSS-TTS-v1.5 (OpenMOSS) is an 8B flagship zero-shot TTS — a Qwen3-8B
language backbone plus a 1.6B audio codec. It covers 31 languages, does
zero-shot voice cloning, token-level duration control and inline
[pause Ns] markers. Released under Apache-2.0 (code + weights).
It runs in its own subprocess and its own Python venv with
transformers==5.0.0, isolated from the VoiceStudio parent process which
pins transformers>=5.3. This is the same isolation primitive used by
IndexTTS-2: the two transformers pins cannot share one
interpreter, so MOSS runs behind
backend/services/subprocess_backend.py::SubprocessBackend.
Opt-in, and never a default. MOSS-TTS-v1.5 is selected explicitly in Model Catalogue (or
OMNIVOICE_TTS_BACKEND=moss-tts-v15). It is not part of the default install and does not change VoiceStudio's out-of-the-box behaviour on any platform.
- VRAM/RAM: an 8B model. The upstream llama.cpp pipeline fits the 8B on 8 GB GPUs when quantized; the bf16 Transformers path used here is ~16 GB of weights, so a 16 GB+ GPU is the realistic CUDA target. It also runs on CPU (fp32) — correct but slow.
- Device: the sidecar uses a runtime-available PyTorch CUDA/ROCm, XPU, or registered NPU backend, otherwise CPU. The isolated engine venv needs the matching torch/vendor integration. A failed accelerator probe falls back to CPU, including in older venvs without the unified accelerator API. MPS still uses CPU. XPU/NPU routing is covered by mocked loader tests; physical-device synthesis has not been validated by this change.
On a machine with an NVIDIA GPU, Model Catalogue → MOSS-TTS-v1.5 → Install does every step below for you. It installs into its own folder under VoiceStudio's data directory, with its own Python environment. Nothing it installs touches VoiceStudio itself or any other engine, so you can switch to it and back without breaking what already worked. Uninstall in the same row removes only that folder. The ~16 GB of weights still download on first synthesis. On a CPU-only host the button is not offered; use the manual install.
The first synthesis downloads the weights, which takes a while on a slow connection. The generation stays alive while the download makes progress; if a stalled download runs out of time, raise the compute-time budget in Settings → Performance & Device and try again.
MOSS-TTS-v1.5 is not bundled (the model is large and the package pins a
conflicting transformers). VoiceStudio ships a sidecar runner that loads it
into an isolated venv on demand.
-
Clone the MOSS-TTS repo on disk:
git clone https://github.com/OpenMOSS/MOSS-TTS.git
-
Install the editable package into a fresh venv. Use
uv pip install -e ".[torch-runtime]"— neveruv sync --all-extras, which would overwrite VoiceStudio's lock file withtransformers==5.0and break the parent process. Thetorch-runtimeextra is CUDA (+cu128):cd MOSS-TTS uv venv .venv uv pip install -e ".[torch-runtime]" --extra-index-url https://download.pytorch.org/whl/cu128 --index-strategy unsafe-best-match
The extra pins
torch==2.9.1+cu128, which is published only on PyTorch's own index, so the--extra-index-urlis required — without it uv reports the requirements as unsatisfiable on every host.On a non-CUDA / CPU host (e.g. Apple Silicon), install plain
torch/torchaudio/transformers==5.0.0into the venv instead of the+cu128extra (the auto-bootstrap below only targets CUDA hosts). -
The ~16 GB weights download from HuggingFace on first synthesize. The parent forwards
HF_HOME/HF_HUB_CACHEto the sidecar so the cache is shared with the rest of VoiceStudio's downloads. -
Set
OMNIVOICE_MOSS_TTS_V15_DIRto the repo root (the directory that containspyproject.toml):# macOS / Linux echo 'export OMNIVOICE_MOSS_TTS_V15_DIR=$HOME/code/MOSS-TTS' >> ~/.zshrc source ~/.zshrc
# Windows PowerShell [Environment]::SetEnvironmentVariable("OMNIVOICE_MOSS_TTS_V15_DIR","$env:USERPROFILE\code\MOSS-TTS","User")
-
Restart VoiceStudio. MOSS-TTS-v1.5 appears in Model Catalogue with
available: trueandisolation_mode: subprocess.
VoiceStudio probes for a usable MOSS Python interpreter in this priority
order (see backend/engines/moss_tts_v15/bootstrap.py):
${OMNIVOICE_MOSS_TTS_V15_DIR}/.venv/— your existing clone's venv. Highest priority, so a power user who already set MOSS up gets zero re-install.backend/engines/moss_tts_v15/.venv/— VoiceStudio's own venv, created on demand by step 3.- Lazy bootstrap — if neither venv exists, VoiceStudio runs
uv venvthenuv pip install --python <python> -e "${DIR}[torch-runtime]". RequiresOMNIVOICE_MOSS_TTS_V15_DIR; raises a clear error otherwise. On a non-CUDA host the+cu128extra cannot resolve — set the venv up manually per step 2.
Pass a reference clip as ref_audio. MOSS's zero-shot clone mode needs only
the audio (no transcript). Without a reference, MOSS synthesizes in its own
default voice. duration (seconds) maps to MOSS's tokens argument at
~12.5 tokens/second.
| Variable | Default | Purpose |
|---|---|---|
OMNIVOICE_MOSS_TTS_V15_DIR |
— | Path to the MOSS-TTS clone (required). |
OMNIVOICE_MOSS_TTS_V15_MODEL |
OpenMOSS-Team/MOSS-TTS-v1.5 |
Advanced HF repo override. Custom repositories execute their modelling code and are rejected unless both safeguards below are set. Configure HF_ENDPOINT for a mirror instead. |
OMNIVOICE_MOSS_TTS_V15_REVISION |
— | Immutable 40-character commit SHA required with a custom model repository. |
OMNIVOICE_MOSS_TTS_V15_TRUST_REMOTE_CODE |
— | Set to 1 only after auditing a custom repository's Python code. The reviewed built-in repository needs no opt-in. |
OMNIVOICE_MOSS_TTS_V15_ATTN |
sdpa |
Attention impl; set flash_attention_2 on Ampere+ CUDA with flash-attn installed. |
You haven't pointed VoiceStudio at a MOSS-TTS clone yet. Follow Install.
You're on a non-CUDA host. The upstream torch-runtime extra is CUDA-only;
set up the venv manually with plain torch/transformers==5.0.0 (step 2).
Apache-2.0 (code and weights) — no acceptance gate. See the upstream README.
MOSS-TTS-v1.5 runs in a dedicated sidecar venv (it pins transformers==5.0,
which conflicts with the parent's transformers>=5.3). For why that adds
disk and how uv keeps the cost down, see
Engine venvs & disk usage.