Puki Syrinx
Puki's voice for weak tablets: the vector estimator and vocoder of BlueTTS (by Max Melichov, MIT License) in int8, for Puki, a free Hebrew/English game for toddlers. The other files of the bundle are BlueTTS's own, unchanged, with the Noa voice.
Almost all of these two models' weights sit in 1x1 convolutions, which ONNX Runtime's int8 doesn't reach on
Android (no ConvInteger). Each one was rewritten as the same sum with a MatMul (transpose, MatMul, bias,
transpose back), and MatMul weights were then quantized to int8, per channel (dynamic). The rewrite alone is
exact (largest sample difference 0.0003); with int8, a line differs from the original less than two renders of
the original with different noise do, and no difference is heard. How: train/squawk_quant.py in Puki's repo.
| vector_estimator | vocoder | |
|---|---|---|
| BlueTTS (float) | 132 MB | 101 MB |
| Syrinx (int8) | 35 MB | 36 MB |
On a Samsung Galaxy Tab A7 Lite (MediaTek MT8768, 3 GB), 4 threads, 5 flow steps with the first 3 guided: a 1.7-second line in 1.2 s (the float models: 2.5 s), faster than it plays.
The syrinx is a bird's voice organ: parrots speak with it, not with a larynx.
BlueTTS's license (MIT) is in LICENSE-BlueTTS.
Model tree for dtsj89/puki-syrinx
Base model
notmax123/BlueTTS2.5-onnx