Add Plapre 3 BF16 and F32 GGUFs
Browse files- .gitattributes +2 -0
- Plapre-3-GGUF/README.md +107 -0
- Plapre-3-GGUF/plapre-3-bf16.gguf +3 -0
- Plapre-3-GGUF/plapre-3-f32.gguf +3 -0
.gitattributes
CHANGED
|
@@ -153,3 +153,5 @@ Phonon-2-GGUF/phonon-2-mixed-f16.gguf filter=lfs diff=lfs merge=lfs -text
|
|
| 153 |
Phonon-2-GGUF/phonon-2-mixed-q8.gguf filter=lfs diff=lfs merge=lfs -text
|
| 154 |
Voxtral-4B-TTS-2603-GGUF/voxtral-4b-tts-2603-bf16.gguf filter=lfs diff=lfs merge=lfs -text
|
| 155 |
Voxtral-4B-TTS-2603-GGUF/voxtral-4b-tts-2603-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
| 153 |
Phonon-2-GGUF/phonon-2-mixed-q8.gguf filter=lfs diff=lfs merge=lfs -text
|
| 154 |
Voxtral-4B-TTS-2603-GGUF/voxtral-4b-tts-2603-bf16.gguf filter=lfs diff=lfs merge=lfs -text
|
| 155 |
Voxtral-4B-TTS-2603-GGUF/voxtral-4b-tts-2603-q8_0.gguf filter=lfs diff=lfs merge=lfs -text
|
| 156 |
+
Plapre-3-GGUF/plapre-3-bf16.gguf filter=lfs diff=lfs merge=lfs -text
|
| 157 |
+
Plapre-3-GGUF/plapre-3-f32.gguf filter=lfs diff=lfs merge=lfs -text
|
Plapre-3-GGUF/README.md
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: cc-by-4.0
|
| 3 |
+
language:
|
| 4 |
+
- da
|
| 5 |
+
pipeline_tag: text-to-speech
|
| 6 |
+
tags:
|
| 7 |
+
- audio.cpp
|
| 8 |
+
- gguf
|
| 9 |
+
---
|
| 10 |
+
|
| 11 |
+
# Plapre 3 GGUF
|
| 12 |
+
|
| 13 |
+
[Plapre 3](https://huggingface.co/syvai/plapre-3) is a Danish text-to-speech
|
| 14 |
+
model with five built-in voices, voice cloning, per-word duration control,
|
| 15 |
+
pronunciation references, prosodic context, and speech editing.
|
| 16 |
+
|
| 17 |
+
Each GGUF packages the AR checkpoint, speaker projection and
|
| 18 |
+
presets, tokenizer, Kanade codec, WavLM frontend, and CosyVoice2 HiFT vocoder.
|
| 19 |
+
No Python installation or separate model downloads are needed for inference.
|
| 20 |
+
Output is mono, 24 kHz. BF16 is recommended; F32 retains the original checkpoint
|
| 21 |
+
storage, including the original BF16 speaker projection.
|
| 22 |
+
|
| 23 |
+
| Package | Size | |
|
| 24 |
+
|---|---:|---|
|
| 25 |
+
| `plapre-3-bf16.gguf` | 1.07 GiB | Default |
|
| 26 |
+
| `plapre-3-f32.gguf` | 2.13 GiB | Original-precision reference |
|
| 27 |
+
|
| 28 |
+
## Usage
|
| 29 |
+
|
| 30 |
+
```bash
|
| 31 |
+
audiocpp_cli --family plapre --task tts --backend cuda \
|
| 32 |
+
--model plapre-3-bf16.gguf --request-option voice_id=tor \
|
| 33 |
+
--text "Hej, hvordan har du det?" --out speech.wav --log
|
| 34 |
+
|
| 35 |
+
audiocpp_cli --family plapre --task clon --backend cuda \
|
| 36 |
+
--model plapre-3-bf16.gguf --voice-ref reference.wav \
|
| 37 |
+
--reference-text "Ordene i referenceoptagelsen." \
|
| 38 |
+
--text "I morgen kommer jeg igen." --out clone.wav --log
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
Built-in voices are `tor`, `ida`, `liv`, `ask`, and `kaj`. Both routes accept the
|
| 42 |
+
same controls. Use `x_vector_only_mode=true` for speaker-only reference
|
| 43 |
+
conditioning. Detailed options and conversion instructions are in the
|
| 44 |
+
[model guide](https://github.com/0xShug0/audio.cpp/blob/main/docs/models/plapre.md).
|
| 45 |
+
|
| 46 |
+
## CUDA Measurements
|
| 47 |
+
|
| 48 |
+
RTX 5090, Debug C++ build with optimized compiler flags, official Python
|
| 49 |
+
Plapre/vLLM implementation using original F32 AR weights. All use the same text,
|
| 50 |
+
reference WAV/transcript, seed 42, temperature 0.8, top-k 50, top-p 0.95, and
|
| 51 |
+
1,000-token limit. Generation stops naturally. Each benchmark starts with a
|
| 52 |
+
short cloning warmup; model loading is excluded from inference timing.
|
| 53 |
+
|
| 54 |
+
| Workload | Runtime | Warm inference | Output duration | Warm RTF | Observed peak VRAM |
|
| 55 |
+
|---|---|---:|---:|---:|---:|
|
| 56 |
+
| Short clone | Python | 234.41 ms | 4.16 s | 0.05635 | 9,218 MiB |
|
| 57 |
+
| Short clone | audio.cpp F32 | 198.76 ms | 4.00 s | 0.04969 | --- |
|
| 58 |
+
| Short clone | audio.cpp BF16 | 162.93 ms | 4.20 s | 0.03879 | --- |
|
| 59 |
+
| Paragraph clone | Python | 873.26 ms | 19.04 s | 0.04586 | 9,506 MiB |
|
| 60 |
+
| Paragraph clone | audio.cpp F32 | 925.94 ms | 19.52 s | 0.04744 | 3,304 MiB |
|
| 61 |
+
| Paragraph clone | audio.cpp BF16 | 749.68 ms | 19.68 s | 0.03809 | 2,564 MiB |
|
| 62 |
+
|
| 63 |
+
BF16 is 1.25x faster by paragraph RTF than F32 and reduces peak VRAM by 22.4%
|
| 64 |
+
(740 MiB). Paragraph C++ timings are the mean of two requests. C++ peaks cover
|
| 65 |
+
the entire short -> paragraph -> repeat paragraph -> short session; separate
|
| 66 |
+
short-request peaks were not measured. Peak VRAM is process-tree usage sampled
|
| 67 |
+
every 10 ms. Python rows are earlier reference measurements with the same
|
| 68 |
+
settings, not a fresh simultaneous comparison. Results are workload-specific.
|
| 69 |
+
Python vLLM reserves 20% of GPU memory; its peak includes that reservation
|
| 70 |
+
and the codec process, not just live tensors.
|
| 71 |
+
|
| 72 |
+
## Validation And Limits
|
| 73 |
+
|
| 74 |
+
- F32 AR prompt IDs and prepared embeddings match official Python under controlled
|
| 75 |
+
reference features, including cloning, durations, pronunciation, context,
|
| 76 |
+
editing, and Danish text normalization.
|
| 77 |
+
- With the F32 package, teacher-forced audio tokens and aligned precision/noise, waveform
|
| 78 |
+
cosine is 0.999999735. Unforced greedy AR matches all 119 reference tokens;
|
| 79 |
+
controlled greedy waveform cosine is 0.999999728.
|
| 80 |
+
- F32 short cloning, base/sampled synthesis, duration/pronunciation control,
|
| 81 |
+
editing, speaker-only conditioning, and chunked long-form outputs pass ASR.
|
| 82 |
+
CPU and Vulkan cloning outputs also pass ASR; exact Python parity is not
|
| 83 |
+
claimed for these backends.
|
| 84 |
+
- BF16 passes short/paragraph cloning and built-in voice checks on CUDA, and
|
| 85 |
+
short cloning checks on CPU and Vulkan. Short-clone ASR WER is 0% for both
|
| 86 |
+
F32 and BF16; paragraph WER is 13.04% and 8.70%, respectively, using Qwen3 ASR
|
| 87 |
+
1.7B and ignoring case/punctuation. These are individual test cases, not a
|
| 88 |
+
general quality ranking. F16 failed the paragraph with nonfinite AR logits
|
| 89 |
+
and is not offered.
|
| 90 |
+
- Repeated short/long requests preserve audio length and content. CUDA ISTFT
|
| 91 |
+
overlap-add can change PCM16 samples by one unit between identical requests.
|
| 92 |
+
- Streaming emits completed text chunks, not incremental codec frames. A
|
| 93 |
+
two-chunk server request measured 194 ms warmed time to first audio.
|
| 94 |
+
|
| 95 |
+
Native stochastic outputs need not match Python. Context conditioning and
|
| 96 |
+
very short reference-conditioned utterances can substitute words; even Python
|
| 97 |
+
is sensitive to small reference-resampling differences. Long unsplit passages
|
| 98 |
+
can omit text in both implementations. Use the normal text chunker instead of
|
| 99 |
+
increasing `text_chunk_size` to force one long generation. Duration controls
|
| 100 |
+
condition the model but do not guarantee exact spoken durations.
|
| 101 |
+
|
| 102 |
+
The GGUF retains upstream weight licenses. Plapre is CC-BY-4.0; Kanade, WavLM,
|
| 103 |
+
and CosyVoice2 components retain their respective upstream notices.
|
| 104 |
+
|
| 105 |
+
F32 SHA256: `fd320031dbb46efa91541044a0e484e4be1dba5e0cfa657bcc75a914ec7b9e60`.
|
| 106 |
+
|
| 107 |
+
BF16 SHA256: `8baa6069d5cd81bc01bfc039bfcb7c4b7406e659157b3c768fa2bc839fdfc9a1`.
|
Plapre-3-GGUF/plapre-3-bf16.gguf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:8baa6069d5cd81bc01bfc039bfcb7c4b7406e659157b3c768fa2bc839fdfc9a1
|
| 3 |
+
size 1145069888
|
Plapre-3-GGUF/plapre-3-f32.gguf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fd320031dbb46efa91541044a0e484e4be1dba5e0cfa657bcc75a914ec7b9e60
|
| 3 |
+
size 2284552288
|