Downloads · 30 days
101
4% of all-time downloads
John9007/MOSS-TTS-Local-GGUF
MOSS-TTS-Local-GGUF is a text-to-speech model from John9007. Use it when you need text read aloud. The card lists the license as apache-2.0.
First known GGUF quantization of MOSS-TTS-Local-Transformer (1.7B parameters).
Downloads · 30 days
101
4% of all-time downloads
All-time downloads
2.5K
Public
Repo size
4.5 GB
Likes
2
Public
Click a slice to open those files.
.gguf4.5 GB · 100%
From the Hugging Face model README
First known GGUF quantization of MOSS-TTS-Local-Transformer (1.7B parameters).
The OpenMOSS team has only published GGUFs for their 8B Delay model. This repo provides quantized GGUFs for the lightweight 1.7B Local variant, suitable for edge/on-device TTS deployment.
| File | Quant | Size | BPW | Notes |
|---|---|---|---|---|
moss-tts-local-Q2_K.gguf | Q2_K | 1.1 GB | 3.31 | Smallest, aggressive |
moss-tts-local-Q3_K_M.gguf | Q3_K_M | 1.4 GB | 4.10 | Recommended balance |
moss-tts-local-Q4_K_M.gguf | Q4_K_M | 1.9 GB | 5.06 | Same tier as OpenMOSS 8B GGUF |
MOSS-TTS-Local is a two-component TTS system:
Text → [Qwen3 backbone (1.7B, 28 layers)] → audio tokens → [ONNX decoder] → 24kHz PCM
↕
[Local transformer (4 layers)]
↕
[Bridge MLPs (33 codebooks)]
The standard convert_hf_to_gguf.py (both upstream llama.cpp and the OpenMOSS fork) fails on the Local variant because 213 audio-specific tensors lack GGUF name mappings. We added:
MODEL_TENSOR entries in gguf-py/gguf/constants.py for local transformer layers, bridge MLPs, and audio layer normsconvert_hf_to_gguf.py handling:
model.embedding_list.0 = text (skip), 1-32 = audio codebooks 0-31moss-tts-delay architecture)Full conversion guide: see the accompanying PR on OpenMOSS/llama.cpp.
The GGUF files contain all 555 tensors correctly. However, the llama-moss-tts C++ binary currently only supports the 8B Delay model's tensor layout (375 tensors). The Local variant's extra tensors need C++ loading + inference code in moss-tts-delay.cpp.
PyTorch inference works — audio quality verified with the original safetensors producing clean English speech at 24kHz.
Tested with PyTorch bf16 on RTX 3090:
Target: Android phone with 8GB RAM using hot-swap loading:
# Prerequisites
pip install torch transformers==5.0.0 numpy sentencepiece gguf
git clone https://github.com/OpenMOSS/llama.cpp.git moss-fork
# Apply tensor mapping patches (see PR)
# Then:
# Download model
python3 -c "from huggingface_hub import snapshot_download; snapshot_download('OpenMOSS-Team/MOSS-TTS-Local-Transformer', local_dir='moss-tts-local')"
# Convert
python3 moss-fork/convert_hf_to_gguf.py moss-tts-local/ --outfile moss-tts-local-bf16.gguf --outtype bf16
# Quantize (must use fork's quantizer)
cd moss-fork && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release && cmake --build . --target llama-quantize -j$(nproc)
./bin/llama-quantize ../../moss-tts-local-bf16.gguf ../../moss-tts-local-Q3_K_M.gguf Q3_K_M