whisper-small-eu-acft-ggml
Basque voice input model for FUTO Keyboard β
a whisper.cpp GGML q8_0 .bin you import directly into the app. No fork or
recompile needed.
| Format | whisper.cpp GGML, q8_0 quantized |
| File | small_eu_acft_q8_0.bin (~264 MB) |
| Base model | xezpeleta/whisper-small-eu β ACFT |
| SHA-256 | 8543fb56f5ba3d9205ad304655d97280395723270726a3706da6ed9737e469d0 |
Install in FUTO Keyboard
- Download
small_eu_acft_q8_0.bin(~264 MB). - Open the file with FUTO Keyboard β from your file manager or browser
download, choose "Open with β FUTO Keyboard".
- Alternative: FUTO Keyboard β Settings β Languages β Import from file.
- When prompted, associate the model with Basque (eu).
- Done. Tap the microphone key and dictate in Basque.
FUTO's importer detects the ggml magic bytes, copies the file to
voiceinput_eu.bin, and loads it with dynamic audio_ctx. Re-importing
overwrites the previous model.
Prerequisite: Basque must be enabled as a keyboard language (Settings β Languages β add Euskara/eu).
Why ACFT?
FUTO Voice Input runs whisper.cpp with dynamic audio_ctx: it encodes only
the real audio length instead of zero-padding every clip to 30 s. A standard
Whisper model loops / repeats forever under dynamic context. This model is
fine-tuned with ACFT (Audio Conditional Fine-Tuning,
futo-org/whisper-acft) so it stays
robust to context truncation while preserving Basque accuracy.
Validation
Tested with whisper-cli using dynamic audio_ctx (-ac N matched to clip
length) β the same condition FUTO's runtime uses. Reference is the ground
truth transcript from the HiTZ/composite_corpus_eu_v2.1 test_cv split;
Output is what whisper-cli -ac N transcribed. All three clips terminate
cleanly (a non-ACFT model loops/repeats forever under dynamic context):
| Clip | Duration | -ac |
Reference | Output |
|---|---|---|---|---|
| 1 | 5.0 s | 250 | Honek garrantzi handia zuen Ehun Urteko Gerran. | Honek garrantzen biazuen ehun urteko gerran. |
| 2 | 6.4 s | 328 | Osasuna aurkari zuzena da eta, beraz, puntuek balio bikoitza | Osasuna aurkari zuzena da eta beraz, puntuek balio bikoitza dute. |
| 3 | 5.2 s | 268 | Irungo familia boteretsu bat da Olazabal familia. | Irungo familia boteretsu bat da Olazovan familia. |
Clip 1 is slightly garbled (garrantzi handia β garrantzen biazuen), but the
key point for ACFT is that all three clips transcribe coherently and terminate
under dynamic context.
Transformer-space WER (composite corpus test_cv, N=50 samples, same split as
the clips above):
| Model | Full ctx | Dynamic ctx |
|---|---|---|
| Base (pre-ACFT) | 12.19 | 11.36 |
| ACFT (this) | 11.08 | 11.36 |
Dynamic-ctx WER is within 0.28 of full-ctx β no degradation, no looping.
Related
- HF checkpoint (safetensors, for inference / retraining):
itzune/whisper-small-eu-acft - Source model (Basque language fine-tune):
xezpeleta/whisper-small-eu