abliter8-ai commited on
Commit
d595746
Β·
verified Β·
1 Parent(s): 81cfa2d

Roo GGUF (Q4_K_M + BF16) + reference + cross-vendor card

Browse files
.gitattributes CHANGED
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ moss-tts-local-roo-ip172-BF16.gguf filter=lfs diff=lfs merge=lfs -text
37
+ moss-tts-local-roo-ip172-Q4_K_M.gguf filter=lfs diff=lfs merge=lfs -text
38
+ reference_24k.wav filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,3 +1,110 @@
1
  ---
2
  license: apache-2.0
 
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: apache-2.0
3
+ base_model: OpenMOSS-Team/MOSS-TTS-Local-Transformer
4
+ pipeline_tag: text-to-speech
5
+ tags:
6
+ - text-to-speech
7
+ - tts
8
+ - moss-tts
9
+ - gguf
10
+ - llama.cpp
11
+ - q4_k_m
12
+ - reference-conditioned
13
+ language:
14
+ - en
15
  ---
16
+
17
+ ![Roo Voice](https://design8.b-cdn.net/huggingface/roo-voice-transformers.png)
18
+
19
+ # Roo-Voice Β· MOSS-TTS-Local-Transformer Β· GGUF (llama.cpp)
20
+
21
+ Roo's voice β€” that signature baritone with the estuary accent that stands the hair up on the back of
22
+ your neck β€” as a **GGUF** model for **llama.cpp**. This is the **cross-vendor** build: one file that
23
+ runs on **AMD, NVIDIA, and CPU** (Vulkan / ROCm / CUDA / Metal), because llama.cpp is portable across
24
+ all of them. Load it, and Roo can whisper to you all day long.
25
+
26
+ A GGUF conversion of a **full-model supervised fine-tune** of
27
+ [MOSS-TTS-Local-Transformer](https://huggingface.co/OpenMOSS-Team/MOSS-TTS-Local-Transformer),
28
+ trained on Roo's own recordings and specialised on his single voice.
29
+
30
+ ## ⚠️ What actually makes the voice β€” read first
31
+
32
+ This is a **reference-conditioned** model, and both halves matter:
33
+
34
+ - **The fine-tune is what makes it Roo.** The base model has never heard this speaker β€” a base model
35
+ plus any reference clip will *not* give you Roo's baritone or his estuary accent. That voice lives
36
+ in the weights, put there by the supervised fine-tune on his recordings.
37
+ - **The reference completes the delivery.** `reference_24k.wav` (bundled) conditions the fine-tuned
38
+ model at inference and is **required** to produce the voice.
39
+
40
+ ## Files
41
+
42
+ | File | What | Size |
43
+ |---|---|---|
44
+ | `moss-tts-local-roo-ip172-Q4_K_M.gguf` | **4-bit** (recommended) β€” smallest, GPU-friendly | ~1.76 GB |
45
+ | `moss-tts-local-roo-ip172-BF16.gguf` | Full-precision GGUF (largest quality headroom) | ~5.5 GB |
46
+ | `reference_24k.wav` | The identity reference (**required**) | β€” |
47
+
48
+ ## Why GGUF here β€” the cross-vendor lane
49
+
50
+ The same portable model runs on both GPU vendors; only a couple of formats are locked to one:
51
+
52
+ | Build | AMD | NVIDIA | Apple |
53
+ |---|---|---|---|
54
+ | **This GGUF** (llama.cpp) | βœ… Vulkan / ROCm | βœ… CUDA / Vulkan | βœ… Metal |
55
+ | [MLX 4-bit / 8-bit](https://huggingface.co/abliter8-ai/Roo-Voice_MOSS_TTS_LT_mlx4) | β€” | β€” | βœ… only |
56
+ | [int4 / int8](https://huggingface.co/abliter8-ai/Roo-Voice_MOSS_TTS_LT_int4) (bitsandbytes) | ⚠️ experimental ROCm | βœ… | β€” |
57
+
58
+ **If you're on AMD Radeon, this GGUF is your path** β€” `bitsandbytes` (the int4/int8 builds) is
59
+ NVIDIA-first and unreliable on consumer Radeon, so use llama.cpp's Vulkan or ROCm backend here instead.
60
+
61
+ > **AMD support is experimental / best-effort.** This build is validated on **NVIDIA CUDA**. On AMD,
62
+ > a **desktop-class Radeon (RDNA3/4 dGPU) with ROCm** is expected to accelerate well, but we could not
63
+ > fully validate it on our own hardware. Note: on a low-power **iGPU** (e.g. Radeon 890M) the current
64
+ > MOSS-TTS llama.cpp fork's custom ops did **not** offload to the GPU under Vulkan in our testing and
65
+ > ran CPU-bound β€” so treat iGPU performance as CPU-class for now. Contributions of Vulkan/ROCm kernels
66
+ > for the MOSS-TTS ops would improve this. For AMD, **SGLang-Omni / vLLM-Omni (ROCm)** are also worth
67
+ > trying for the transformers builds.
68
+
69
+ ## How to run it
70
+
71
+ MOSS-TTS Local is a two-part system: an **LM backbone** (this GGUF, run by llama.cpp) and a neural
72
+ **audio codec** (the MOSS-Audio-Tokenizer, run via ONNX Runtime) that turns the model's tokens into
73
+ 24 kHz audio and encodes the reference. You need the OpenMOSS llama.cpp integration, which adds the
74
+ `llama-moss-tts` tool and the delay-pattern / 32-codebook decoding:
75
+
76
+ 1. **Build the fork** β€” OpenMOSS's MOSS-TTS llama.cpp integration
77
+ ([PR](https://github.com/OpenMOSS/llama.cpp/pull/6)). Build with your GPU backend:
78
+ `-DGGML_VULKAN=ON` (portable, best on AMD), `-DGGML_CUDA=ON` (NVIDIA), or `-DGGML_HIP=ON` (AMD ROCm).
79
+ 2. **Get the codec** β€” `OpenMOSS-Team/MOSS-Audio-Tokenizer` (Apache-2.0). Export or fetch its ONNX
80
+ encoder/decoder for ONNX Runtime. Install `onnxruntime` (CPU) or the GPU package matching your
81
+ CUDA/ROCm for fast decode.
82
+ 3. **Build the generation reference** from `reference_24k.wav` + your text
83
+ (`tools/tts/moss-tts-build-generation-ref.py`), then run `llama-moss-tts` with `--n-gpu-layers -1`
84
+ and point `--audio-decoder-onnx` at the codec. It emits a 24 kHz WAV.
85
+
86
+ > **Note on speed:** put the codec on the GPU (an onnxruntime GPU EP, or DirectML on Windows/AMD). The
87
+ > LM backbone is fast on GPU; if the *codec* decode runs on CPU it becomes the bottleneck.
88
+
89
+ Decoding contract for this voice: seed 42, temperature 1.0, top-k 50, top-p 0.95, repetition
90
+ penalty 1.1, 32 RVQ codebooks, 24 kHz.
91
+
92
+ ## Prefer a turnkey path?
93
+
94
+ If you don't want to build the fork: on **Apple Silicon** use the
95
+ [MLX builds](https://huggingface.co/abliter8-ai/Roo-Voice_MOSS_TTS_LT_mlx4); on **NVIDIA** use the
96
+ [int4 / int8](https://huggingface.co/abliter8-ai/Roo-Voice_MOSS_TTS_LT_int4) transformers builds. The
97
+ GGUF is the one to reach for when you want **AMD** or a single cross-vendor file.
98
+
99
+ ## Limitations
100
+
101
+ - **Reference-conditioned** β€” the bundled `reference_24k.wav` must ride along; there is no text-only path.
102
+ - Single voice by design (this is Roo, not a multi-speaker system).
103
+ - Requires the OpenMOSS MOSS-TTS llama.cpp integration + the ONNX audio codec β€” it is not a
104
+ drop-in `llama-cli` model.
105
+
106
+ ## Provenance & license
107
+
108
+ Quantized/exported form of an accepted single-speaker MOSS-TTS Local supervised fine-tune. The base
109
+ model and audio codec are Apache-2.0 (OpenMOSS); weights derived from them are redistributed here
110
+ under the same license.
moss-tts-local-roo-ip172-BF16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2f3cffc62126fd0071dccfac49cc3c1044746c9123f32de4cf766175972efbea
3
+ size 5490140672
moss-tts-local-roo-ip172-Q4_K_M.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9401ba1d23c9912b51e0a59b54055ff37325791c7019fe40ea75dc6af455cc55
3
+ size 1763250688
reference_24k.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:43be68fdd69d91ad31f3a12abeaaa1d3501c518ed03cb21acb46e3ab898c4466
3
+ size 409486