Views
No views yet
parler-tts/parler-tts-mini-v1.1 for use with CrispStrobe/CrispASR.| File | Quant | Size | Notes |
|---|---|---|---|
parler-tts-mini-v1.1-f16.gguf | F16 | 1.8 GB | Reference quality |
parler-tts-mini-v1.1-q8_0.gguf | Q8_0 | 979 MB | Recommended |
parler-tts-mini-v1.1-q4_k.gguf | Q4_K | 569 MB | Smallest (DAC codec kept at F16) |
parler-mini-v1.1-ref.gguf | — | 286 KB | CrispASR crispasr-diff per-stage F32 PyTorch reference (not a model) |
A duplicate, tokenizer-broken file set was removed (2026-08-03). The repo also carriedparler-mini-v1.1-{f16,q4_k,q8_0}.gguf. Their tensors were byte-identical to the files above (741/741 verified), but they were missing theparler.tokenizer.is_bpemetadata key — and CrispASR defaults that tofalse, which selects a Viterbi unigram tokenizer instead of BPE. Prompts therefore tokenized differently, and the model spoke differently.CrispASR's model registry pointed at the brokenparler-mini-v1.1-q8_0.gguf, so-m autodownloaded it. Both the registry and this repo now use theparler-tts-names.parler-mini-v1.1-ref.ggufis unrelated — it is the diff-harness reference, not a model, and is unaffected.
1# 1. Build CrispASR
2git clone https://github.com/CrispStrobe/CrispASR
3cd CrispASR
4cmake -B build -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
5cmake --build build -j --target crispasr-cli
6
7# 2. Download
8huggingface-cli download cstr/parler-tts-mini-v1.1-GGUF parler-tts-mini-v1.1-q8_0.gguf --local-dir .
9
10# 3. Synthesise
11./build/bin/crispasr --backend parler-tts \
12 -m parler-tts-mini-v1.1-q8_0.gguf \
13 --instruct "A female speaker with a warm, natural voice delivers her words at a moderate pace in a quiet environment." \
14 --tts "Hello, this is a test of Parler TTS." \
15 --tts-output output.wav
16
17# 4. Auto-download shortcut
18./build/bin/crispasr -m parler-tts --auto-download \
19 --instruct "A young man speaks clearly in a studio." \
20 --tts "The quick brown fox jumps over the lazy dog." \
21 --tts-output fox.wav| Component | Params | Details |
|---|---|---|
| T5 Encoder | ~335M | flan-t5-large encoder, d=1024, 16 heads, 24 layers, gated-GELU FFN, relative position bias |
| Decoder | ~300M | MusicGen-style causal transformer, d=1024, 16 heads, 24 layers, 9 codebooks, sinusoidal PE |
| DAC Codec | ~75M | Descript Audio Codec 44 kHz, 9 codebooks x 1024, Snake activations, 512x upsample |
--instruct parameter controls voice characteristics. Examples:"A female speaker with a warm, natural voice delivers her words at a moderate pace in a quiet environment.""A young man speaks clearly with an enthusiastic tone in a professional studio setting.""An elderly woman reads softly with a gentle pace, slight background noise."1python models/convert-parler-to-gguf.py \
2 --input parler-tts/parler-tts-mini-v1.1 \
3 --output parler-tts-mini-v1.1-f16.ggufparler.tokenizer.is_bpe=true) so the C++ runtime auto-selects the correct algorithm.std::mt19937) differs from PyTorch RNG — same seed produces different audiop225.speaker_identity=real_person. Output synthesized with it carries a spoken AI disclosure, because audio resembling an identifiable person is a deep fake under Art. 3(60) whether or not any cloning took place. It does not require --i-have-rights: the donor's agreement to the training is a licensing matter settled upstream, which a downstream operator cannot attest to.--speaker-identity, or stamp a file permanently with
models/stamp-speaker-identity.py. See
docs/eu-ai-act.md §6.2a.