HoppouAI commited on
Commit
4f5cd6e
·
verified ·
1 Parent(s): 1c28d39

model card

Browse files
Files changed (1) hide show
  1. README.md +124 -3
README.md CHANGED
@@ -1,3 +1,124 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: BreezeBlue/Breeze-TTS-2
3
+ language:
4
+ - en
5
+ - zh
6
+ library_name: gguf
7
+ license: other
8
+ license_name: breezeblue-research-and-non-commercial
9
+ license_link: https://huggingface.co/BreezeBlue/Breeze-TTS-2
10
+ pipeline_tag: text-to-speech
11
+ tags:
12
+ - text-to-speech
13
+ - tts
14
+ - gguf
15
+ - ggml
16
+ - vulkan
17
+ - voice-cloning
18
+ - voice-conversion
19
+ ---
20
+
21
+ # Breeze-TTS-2 GGUF
22
+
23
+ GGUF conversions of [BreezeBlue/Breeze-TTS-2](https://huggingface.co/BreezeBlue/Breeze-TTS-2) for
24
+ [**Breeze-TTS-2.cpp**](https://github.com/HoppouAI/Breeze-TTS-2.cpp), a C++ reimplementation running on
25
+ ggml with a Vulkan backend, so it works on NVIDIA, AMD and Intel GPUs and falls back to CPU.
26
+
27
+ Bilingual English and Mandarin, 24 kHz, around 1.2x realtime at Q8_0 on an RTX 3060.
28
+
29
+ These files will not load in llama.cpp. They need the Breeze-TTS-2.cpp runtime, which implements all
30
+ four stages of the model: the T5Gemma2 text encoder, the Qwen3 backbone, the 15 step depth decoder and
31
+ the vocoder.
32
+
33
+ ## Files
34
+
35
+ | File | Size | Notes |
36
+ | --- | --- | --- |
37
+ | `breeze-tts-2-f16.gguf` | 5.9 GB | Reference quality, unquantized |
38
+ | `breeze-tts-2-q8_0.gguf` | 3.3 GB | **Recommended.** No audible loss against F16 |
39
+ | `breeze-tts-2-q6_k.gguf` | 2.9 GB | |
40
+ | `breeze-tts-2-q4_k.gguf` | 2.4 GB | Smallest safe choice, holds up well |
41
+ | `breeze-tts-2-q8_0-dd4.gguf` | 3.2 GB | Experimental, Q8_0 base with a Q4_K depth decoder |
42
+ | `breeze-tts-2-q8_0-dd2.gguf` | 3.1 GB | Experimental, Q8_0 base with a Q2_K depth decoder |
43
+ | `breeze-tts-2-q4_k-dd2.gguf` | 2.3 GB | Experimental, Q4_K base with a Q2_K depth decoder |
44
+
45
+ Approximate VRAM is about 1 GB above the file size.
46
+
47
+ ### About the `-dd` variants
48
+
49
+ Everything except the `-dd` files keeps the depth decoder at higher precision than the rest of the
50
+ model. The `-dd` variants quantize it too, which is why they are smaller.
51
+
52
+ The depth decoder runs **15 sequential steps for every single frame of audio**, so on hardware where
53
+ that is the bottleneck rather than memory bandwidth, shrinking it can speed generation up noticeably.
54
+ That is the reason these exist and it is worth benchmarking on your own card.
55
+
56
+ The tradeoff is that depth codes feed back into the backbone every frame, so quantization error
57
+ compounds as generation continues. Output holds up early and then drifts progressively muffled and
58
+ thin past **roughly 45 seconds of continuous generation**. Short lines and dialogue are fine. Long
59
+ narration is not, and the failure is gradual rather than obvious, so it is easy to miss on quick tests.
60
+
61
+ Treat them as experimental. If in doubt, use `q8_0` or `q4_k`.
62
+
63
+ ## Usage
64
+
65
+ ```bash
66
+ git clone --recursive https://github.com/HoppouAI/Breeze-TTS-2.cpp
67
+ cd Breeze-TTS-2.cpp
68
+ cmake -B build -DCMAKE_BUILD_TYPE=Release
69
+ cmake --build build -j
70
+ ```
71
+
72
+ ```bash
73
+ # invent a voice from a description
74
+ build/breeze-cli breeze-tts-2-q8_0.gguf \
75
+ --text "Welcome aboard. Your journey begins now." \
76
+ --instruction "A warm, thoughtful young woman with a clear, calm delivery." \
77
+ --output design.wav
78
+
79
+ # clone a voice from a clip
80
+ build/breeze-cli breeze-tts-2-q8_0.gguf \
81
+ --text "It is good to hear your voice again." \
82
+ --ref-audio ref_voice.wav --ref-text "The harbour lights came on one by one as the evening tide began to turn." \
83
+ --output clone.wav
84
+ ```
85
+
86
+ Or run the server, which has a web UI built in plus HTTP and WebSocket streaming:
87
+
88
+ ```bash
89
+ build/breeze-server breeze-tts-2-q8_0.gguf --host 127.0.0.1 --port 8080 --webui
90
+ ```
91
+
92
+ `ref_voice.wav` in this repo is a sample reference clip. Its transcript is
93
+ "The harbour lights came on one by one as the evening tide began to turn."
94
+
95
+ ## Vocal events
96
+
97
+ Inline tags in round brackets produce non speech sounds: `(laugh)`, `(sigh)`, `(cough)`,
98
+ `(clears throat)`, and `[笑]` or `[叹气]` in Chinese. The vocabulary is free form rather than a fixed
99
+ token list, so descriptive tags like `(nervous chuckle)` often work.
100
+
101
+ They usually need `--cfg-scale 2` to `3` to actually fire. At the default of 1.0 the model treats a tag
102
+ as a suggestion and tends to read straight past anything outside the common set.
103
+
104
+ ## Voice conversion
105
+
106
+ The runtime can also respeak an existing recording in a different voice, keeping the original timing,
107
+ phrasing and emphasis while changing only the speaker. This is not part of the upstream model, it falls
108
+ out of how the codec separates semantic content from acoustic detail. It is experimental, and pitch does
109
+ not carry over, so singing comes out spoken unless you retain some source acoustic codebooks.
110
+
111
+ ## Conversion
112
+
113
+ Produced with `scripts/convert_hf_to_gguf.py` and `breeze-quantize` from the repo. The source download
114
+ must include the `audio_tokenizer/` directory, which holds the vocoder that the model actually uses at
115
+ inference time.
116
+
117
+ ## License
118
+
119
+ Weights are governed by the **BreezeBlue Research and Non-Commercial License** from the
120
+ [original model](https://huggingface.co/BreezeBlue/Breeze-TTS-2). Converting to GGUF does not change
121
+ that. The Breeze-TTS-2.cpp source code is Apache 2.0.
122
+
123
+ You are responsible for complying with the weight license and for obtaining consent for any reference
124
+ audio or voices you use.