MOSS-TTS v1.5 family — MAESTRO mirror
Redistribution of the OpenMOSS MOSS-TTS v1.5 checkpoints and their codecs, packaged for the MAESTRO audio workstation's offline runtime. All credit to the OpenMOSS team (Fudan University) — code and weights are Apache-2.0 (MOSS-TTS, MOSS-Audio-Tokenizer).
MOSS-TTS v1.5 is zero-shot voice-cloning text-to-speech in 31 languages:
clone a speaker from a few seconds of reference audio (no transcript) or use
the model's own voice, with explicit language tags, inline [pause X.Ys]
marks and token-level duration control.
| lane | upstream | revision | what |
|---|---|---|---|
local_v15/ |
MOSS-TTS-Local-Transformer-v1.5 | be7766a6735b98bd793f7c79fb720b4d0f5d13b8 |
4B MossTTSLocal — Qwen3-4B backbone + a 1-layer local transformer over 12 RVQ codebooks |
local_v15/codec/ |
MOSS-Audio-Tokenizer-v2 | f6e20e543b33d2c252a7ef71bdf8aa71e5ff9169 |
native 48 kHz stereo, 12.5 Hz, 2B params |
delay_v15/ |
MOSS-TTS-v1.5 | cdd3b911b1585e3f2dbc7775ef10f9926f58850a |
8B MossTTSDelay — Qwen3-8B backbone + delay-pattern heads over 32 RVQ codebooks |
delay_v15/codec/ |
MOSS-Audio-Tokenizer | 3cd226ba2947efa357ef453bcad111b6eafba782 |
24 kHz mono, 12.5 Hz, 1.77B params |
Layout
local_v15/model/ config.json, model.safetensors (bf16, 9.10 GB — VERBATIM upstream),
tokenizer + config files
local_v15/codec/ config.json (upstream + the shipped codec_weight_dtype)
encoder.safetensors — encoder.* tensors
decoder.safetensors — decoder.* tensors
quantizer.safetensors — quantizer.* tensors (always fp32)
model.safetensors.index.json — maps every tensor → the three files
sha256.json — upstream shard hashes + per-tensor provenance
delay_v15/model/ config.json, model-0000N-of-00004.safetensors (bf16, 17.0 GB — VERBATIM),
model.safetensors.index.json, tokenizer + config files
delay_v15/codec/ config.json, decoder.safetensors (decoder.* + quantizer.*, fp32),
encoder.safetensors (encoder.*, fp32), model.safetensors.index.json,
sha256.json — byte-identical to upstream (per-tensor sha256 proof)
Why the codecs are re-sharded
Voice cloning encodes the reference clip once and decodes the take
once — never both at the same time. The codecs are re-partitioned by
top-level module so MAESTRO can materialise one half at a time and move it
on and off the GPU around its single call; on a 12 GB card that is the
difference between the 4B language model fitting and not. Each lane's
codec/sha256.json carries the upstream shard hashes and a per-tensor sha256
so the split is verifiable: the v1 codec and the v2 quantizer are byte-identical
to upstream; if local_v15/codec/config.json says codec_weight_dtype: bf16,
the v2 encoder/decoder halves were cast fp32 → bf16 (upstream's own default
codec_weight_dtype for this model) and both the upstream and the shipped
digest are recorded.
What was dropped
The upstream repos' remote-code .py files. MAESTRO vendors the GitHub
moss_tts_local_v1.5/ and moss_tts_delay/ graphs and both codec
implementations (patched for transformers 4.57.x) and never uses
trust_remote_code. The upstream READMEs are replaced by this card.
Loading
With the upstream code (the model repos carry it):
from transformers import AutoModel, AutoProcessor
processor = AutoProcessor.from_pretrained("OpenMOSS-Team/MOSS-TTS-Local-Transformer-v1.5",
trust_remote_code=True)
model = AutoModel.from_pretrained("AEmotionStudio/moss-tts-models", subfolder="local_v15/model",
trust_remote_code=True, torch_dtype="bfloat16")
Inside MAESTRO: backend/ai/models/moss_tts.py (one runner, both lanes;
codec halves via ai/moss_tts_vendor/audio_tokenizer_v2/loading.py and
ai/moss_tts_vendor/audio_tokenizer/loading.py).
License
Apache License 2.0 — © OpenMOSS / Fudan University. This mirror adds no restrictions and claims no ownership. Please cite the upstream projects.
Model tree for AEmotionStudio/moss-tts-models
Base model
OpenMOSS-Team/MOSS-Audio-Tokenizer