dignome commited on
Commit
65064a7
·
verified ·
1 Parent(s): 8c551d6

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +51 -47
README.md CHANGED
@@ -28,75 +28,79 @@ tags:
28
 
29
  **Powered by Stellon Labs.**
30
 
31
- Native audio.cpp GGUF conversion of [KittenML/kitten-tts-2](https://huggingface.co/KittenML/kitten-tts-2), with the full S3 meanflow decoder, speaker encoders, and prepared voice presets included in one file.
 
 
32
 
33
- Use [dignome/audio.cpp-custom, branch `kittentts2`](https://github.com/dignome/audio.cpp-custom/tree/kittentts2), or an audio.cpp build that includes the same port. The published implementation is commit [`a96e66c6`](https://github.com/dignome/audio.cpp-custom/commit/a96e66c6bc4d53398563cfff8399d1f9a6e35b40). The GGUF uses audio.cpp's model packaging and is intended for this loader; generic GGUF support in another application does not imply compatibility.
 
 
 
 
34
 
35
- ## Download
36
 
37
- - [`kitten-tts2-native-q8-multilingual.gguf`](./kitten-tts2-native-q8-multilingual.gguf): **3,282,123,776 bytes** (3.28 GB / 3.06 GiB).
38
- - [`SHA256SUMS`](./SHA256SUMS): checksum for verifying the download.
39
 
40
- The GGUF includes all model components, tokenizer, configuration, model specification, 48 prepared voice entries, and license/attribution files. Separate reference WAVs, voice JSON files, or model downloads are not needed for preset synthesis or custom voice cloning.
 
 
 
 
41
 
42
- The language-model projections use Q8_0, with F16 embeddings/tied output head. The speaker projection retains its original BF16 storage, and the S3 decoder and speaker encoders retain F32 weights. This is a mixed-precision package, not an all-Q8 conversion.
 
 
43
 
44
- ## Features
 
 
 
 
45
 
46
- - Native C++/GGML inference on CPU and NVIDIA CUDA; no Python, LibTorch, TorchScript, or ONNX Runtime dependency at inference time.
47
- - All **47 upstream presets**, plus the additional `PreparedBruno` entry.
48
- - Named English voices such as `Bruno`, `Bella`, `Jasper`, and `Luna`.
49
- - Language presets: `Arabic`, `Chinese`, `French`, `German`, `Hindi`, `Italian`, `Portuguese`, `Russian`, and `Spanish`.
50
- - Custom voice cloning from a **1–30 second reference recording and its transcript**.
51
- - Chunked long-form synthesis and mono **24 kHz** output.
52
-
53
- Ten languages have been validated: English and the nine languages listed above. Upstream advertises additional languages, but those are not validated by this port. Select a matching language preset or supply a reference recording and transcript in the target language; there is no separate language switch.
54
-
55
- ## Build and run
56
-
57
- See the [port documentation](https://github.com/dignome/audio.cpp-custom/blob/kittentts2/docs/community_models/kitten_tts2.md) for full instructions.
58
 
59
  ```sh
60
- git clone --branch kittentts2 https://github.com/dignome/audio.cpp-custom.git
61
- cd audio.cpp-custom
62
- cmake -S . -B build-kitten2 -DAUDIOCPP_MODEL_SET=custom -DAUDIOCPP_MODELS=kitten_tts2 -DENGINE_ENABLE_CUDA=OFF
63
- cmake --build build-kitten2 --config Release --target audiocpp_cli audiocpp_server --parallel 8
64
  ```
65
 
66
- For NVIDIA, configure with `-DENGINE_ENABLE_CUDA=ON` and use `--backend cuda`. Visual Studio executables are under `build-kitten2/bin/Release/`; single-configuration builds use `build-kitten2/bin/`. The examples below assume the executable is on your PATH and the GGUF is in the current directory.
67
 
68
  ```sh
69
- audiocpp_cli --family kitten_tts2 --model kitten-tts2-native-q8-multilingual.gguf --backend cpu --threads 8 --task tts --voice-id Bruno --text "Hello from native Kitten TTS 2." --out hello.wav
70
  ```
71
 
72
- German preset:
73
-
74
- ```sh
75
- audiocpp_cli --family kitten_tts2 --model kitten-tts2-native-q8-multilingual.gguf --backend cpu --task tts --voice-id German --text "Guten Tag! Dies ist ein Beispiel." --out german.wav
76
- ```
77
 
78
- Voice cloning:
79
-
80
- ```sh
81
- audiocpp_cli --family kitten_tts2 --model kitten-tts2-native-q8-multilingual.gguf --backend cpu --threads 8 --task clon --voice-ref reference.wav --reference-text "The exact words spoken in the reference recording." --text "The new words to say in this voice." --out cloned.wav
82
- ```
83
-
84
- For server configuration, the model family is `kitten_tts2`. A model entry may use `"id": "kitten-tts2"`, `"family": "kitten_tts2"`, `"task": "tts"`, `"mode": "offline"`, and `"path"` pointing to the downloaded GGUF. API requests use the configured model ID; for example, `"model": "kitten-tts2"` and `"voice": "Bruno"`.
85
 
86
  ## Validation and limitations
87
 
88
- CPU and NVIDIA CUDA synthesis and cloning were validated on Windows. The target branch was freshly built and tested on CPU; the earlier CUDA validation used the same model and CUDA implementation before transfer to this branch. See the [validation record](https://github.com/dignome/audio.cpp-custom/blob/kittentts2/tests/kitten_tts2/validation.md) for exact environments and results.
89
-
90
- The UI estimates **7 GB VRAM** for this package, including headroom. This is guidance, not a guaranteed minimum or maximum for every request. CUDA was tested on a 16 GB RTX 4060 Ti; AMD and other GPU backends have not been validated.
 
91
 
92
- This is an experimental port. Streaming, automatic reference transcription, the upstream English text normalizer, and the smaller student decoders are not supported here. Write numbers and abbreviations as spoken words when needed. The full default decoder is included.
 
 
93
 
94
  ## Sources and license
95
 
96
- - Kitten TTS 2: [KittenML/kitten-tts-2](https://huggingface.co/KittenML/kitten-tts-2), snapshot `baa41e5d2c5f64be0095365672a7858542261271`.
97
- - S3 decoder: [ResembleAI/chatterbox-turbo](https://huggingface.co/ResembleAI/chatterbox-turbo), revision `749d1c1a46eb10492095d68fbcf55691ccf137cd`, `s3gen_meanflow.safetensors`.
98
- - Speaker encoder: the `speaker/model.safetensors` distributed with the Kitten snapshot, attributed upstream to [pyannote/embedding](https://huggingface.co/pyannote/embedding).
99
 
100
- Kitten model materials retain the **Stellon Labs Community License** in [LICENSE](./LICENSE). Commercial use requires registration under that agreement, and exceeding its revenue or funding limits requires a separate license. The bundled decoder and speaker components retain their respective MIT terms in [native/LICENSE](./native/LICENSE) and [speaker/LICENSE](./speaker/LICENSE). See [NOTICE](./NOTICE) for attribution and conversion details.
 
 
 
101
 
102
- Conversion and native integration published by **dignome**. Bulk of the work was started with Sol 6.1 and finished with Astra.
 
 
28
 
29
  **Powered by Stellon Labs.**
30
 
31
+ Self-contained multilingual GGUF exports of KittenML/kitten-tts-2 weights at
32
+ revision `f2eee74f4467855ad58fe16f1fb7b7df473263fd`. Each file includes the default
33
+ S3 MeanFlow decoder, speaker encoders, tokenizer, and all 48 prepared voice entries.
34
 
35
+ Use an audio.cpp build containing the updated Kitten TTS 2 BF16/Q8/Q4 support.
36
+ The model family is `kitten_tts2`. Model-manager installations share
37
+ `models/kitten-tts2/`, with a distinct filename for each precision. Leave `kitten_tts2.weight_type` unset, or use
38
+ `native`, to preserve each file's stored precision. Inference needs no Python
39
+ or LibTorch installation.
40
 
41
+ ## Downloads
42
 
43
+ **Q8 is the default and recommended package.** Q4 is experimental.
 
44
 
45
+ | File | LM body / embedding | Size |
46
+ | --- | --- | --- |
47
+ | [kitten-tts2-bf16-multilingual.gguf](./kitten-tts2-bf16-multilingual.gguf) | BF16 / BF16 | 4,603,407,040 bytes |
48
+ | [kitten-tts2-q8-v2-multilingual.gguf](./kitten-tts2-q8-v2-multilingual.gguf) | Q8_0 / BF16 | 3,282,201,248 bytes |
49
+ | [kitten-tts2-q4-multilingual.gguf](./kitten-tts2-q4-multilingual.gguf) | Q4_0 / Q8_0 | 2,273,735,456 bytes |
50
 
51
+ Verify downloads with [SHA256SUMS](./SHA256SUMS). All three packages use standard
52
+ GGML tensor types. Their names describe LM storage; decoder and reference
53
+ components retain their original precision.
54
 
55
+ Q8 and Q4 preserve the supplied ternary body weights exactly. Q4 quantizes the
56
+ embedding directly from full BF16 to Q8_0, with about 0.44% relative L2 weight
57
+ error. This is a weight reconstruction measurement, not an audio quality score.
58
+ On CUDA, Q4 down projections load as BF16 to avoid non-finite computation,
59
+ adding about 483 MiB compared with retaining those projections as Q4.
60
 
61
+ ## Speech and cloning
 
 
 
 
 
 
 
 
 
 
 
62
 
63
  ```sh
64
+ audiocpp_cli --family kitten_tts2 --model models/kitten-tts2/kitten-tts2-q8-v2-multilingual.gguf --backend cpu --threads 8 --task tts --voice-id Bruno --text "Hello from Kitten TTS 2." --out hello.wav
 
 
 
65
  ```
66
 
67
+ Use `--backend cuda` for a CUDA-enabled build. For custom voice cloning:
68
 
69
  ```sh
70
+ audiocpp_cli --family kitten_tts2 --model models/kitten-tts2/kitten-tts2-q8-v2-multilingual.gguf --backend cpu --threads 8 --task clon --voice-ref reference.wav --reference-text "The exact words in the reference recording." --text "The new words to say." --out cloned.wav
71
  ```
72
 
73
+ Cloning requires a 1–30 second reference recording and its transcript. Preset
74
+ synthesis needs no separate voice recordings. Output is mono 24 kHz.
 
 
 
75
 
76
+ The package includes 47 upstream presets and the `PreparedBruno` alias. Named
77
+ English voices include Bruno, Bella, Jasper and Luna. Language presets cover
78
+ Arabic, Chinese, French, German, Hindi, Italian, Portuguese, Russian and Spanish.
79
+ Choose a matching preset or reference clip for the target language. Generation
80
+ checks cover these ten languages including English; they do not establish
81
+ native-speaker pronunciation quality.
 
82
 
83
  ## Validation and limitations
84
 
85
+ CPU and NVIDIA CUDA synthesis and cloning are checked locally. Q4 remains
86
+ experimental: longer samples sometimes omitted words. Broader listening review
87
+ is needed before relying on it for long-form speech. File sizes do not describe
88
+ runtime RAM or VRAM requirements.
89
 
90
+ The default decoder is used in every export. Student decoders and the upstream
91
+ TL2/emb4 format are not included. Streaming and automatic reference transcription
92
+ are not supported. Write numbers and abbreviations as spoken words when needed.
93
 
94
  ## Sources and license
95
 
96
+ - Kitten weights: KittenML/kitten-tts-2, revision `f2eee74f4467855ad58fe16f1fb7b7df473263fd`.
97
+ - Default S3 decoder: ResembleAI/chatterbox-turbo, revision `749d1c1a46eb10492095d68fbcf55691ccf137cd`.
98
+ - Speaker encoder: the Kitten-distributed speaker model, attributed upstream to pyannote/embedding.
99
 
100
+ Model materials retain the Stellon Labs Community License in [LICENSE](./LICENSE).
101
+ Bundled components retain their respective terms in [native/LICENSE](./native/LICENSE)
102
+ and [speaker/LICENSE](./speaker/LICENSE). See [NOTICE](./NOTICE) for attribution
103
+ and conversion details.
104
 
105
+ Conversion and native integration by **dignome**. Prepared with AI assistance
106
+ and validated locally.