Long story short – I know nobody wants to read AI-generated walls of text that look detailed but are actually hollow.
I reached out to a few netizens who are interested in breeze-tts-2, and they all ran side‑by‑side comparisons using audio.cpp and the official framework. Everyone confirmed the same thing: audio.cpp can't match the official runtime with acceleration enabled in terms of raw peak performance, but it uses much less VRAM – under 8 GB, whereas the official one needs at least 16 GB (with acceleration). Without acceleration, the official default is eager mode, which gets completely crushed by audio.cpp.
CUDA (2080 Ti) → RTF 0.82
AMD HIP (8060S) → RTF 1.60
Even an oldie like the 2080 Ti can do real‑time generation! Hooray!
We've checked against the official runtime – everything matches, nothing to report.
The one thing worth mentioning is precision. Intuitively, fp32 activations feel "more correct" (higher precision), but the actual audio output is worse – mispronunciations and occasional runaway repetition. The model was trained and tuned in bf16, and only behaves well when you stick to bf16. For human ears, bf16 is the better choice. Those netizens and I all confirmed this – it's unlikely that all of us are hallucinating at the same time (joking). (Fixed on the breeze-bf16-activations branch.)
On AMD (HIP) there are still some performance and consistency quirks – it's slower than CUDA (which is expected for AMD), and previously the outputs weren't identical; both issues have been fixed in my own fork, and if needed, that could come in handy in the future.
Supplementary note: the RTF figures are based on tests run on the BF16-fixed branch; on the unfixed branch, performance can be up to 30% higher. This is a tough trade-off, and for now I haven't found a way to optimize it.
Long story short – I know nobody wants to read AI-generated walls of text that look detailed but are actually hollow.
I reached out to a few netizens who are interested in breeze-tts-2, and they all ran side‑by‑side comparisons using audio.cpp and the official framework. Everyone confirmed the same thing: audio.cpp can't match the official runtime with acceleration enabled in terms of raw peak performance, but it uses much less VRAM – under 8 GB, whereas the official one needs at least 16 GB (with acceleration). Without acceleration, the official default is eager mode, which gets completely crushed by audio.cpp.
CUDA (2080 Ti) → RTF 0.82
AMD HIP (8060S) → RTF 1.60
Even an oldie like the 2080 Ti can do real‑time generation! Hooray!
We've checked against the official runtime – everything matches, nothing to report.
The one thing worth mentioning is precision. Intuitively, fp32 activations feel "more correct" (higher precision), but the actual audio output is worse – mispronunciations and occasional runaway repetition. The model was trained and tuned in bf16, and only behaves well when you stick to bf16. For human ears, bf16 is the better choice. Those netizens and I all confirmed this – it's unlikely that all of us are hallucinating at the same time (joking). (Fixed on the breeze-bf16-activations branch.)
On AMD (HIP) there are still some performance and consistency quirks – it's slower than CUDA (which is expected for AMD), and previously the outputs weren't identical; both issues have been fixed in my own fork, and if needed, that could come in handy in the future.
Supplementary note: the RTF figures are based on tests run on the BF16-fixed branch; on the unfixed branch, performance can be up to 30% higher. This is a tough trade-off, and for now I haven't found a way to optimize it.