--- language: - eu tags: - whisper - basque - acft - futo-voice-input base_model: xezpeleta/whisper-small-eu pipeline_tag: automatic-speech-recognition --- # whisper-small-eu-acft Basque Whisper model fine-tuned with **ACFT** (Audio Conditional Fine-Tuning) for [FUTO Voice Input](https://voiceinput.futo.org/). ## 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 30s. A standard Whisper model **loops / repeats forever** under dynamic context. ACFT makes the model robust to context truncation while preserving Basque accuracy. ## Use with FUTO Keyboard > **You probably want the ready-made GGML `.bin`** → [`whisper-small-eu-acft-ggml`](https://huggingface.co/itzune/whisper-small-eu-acft-ggml) > (just download and import — no conversion needed). This is the HuggingFace checkpoint (safetensors). To use it with FUTO Keyboard yourself, convert to GGML `q8_0` (see `scripts/convert_to_ggml.sh` in the project repo), then open the resulting `.bin` with **FUTO Keyboard** and pick **Basque**. FUTO's built-in importer copies it to `voiceinput_eu.bin` and loads it — no app fork or recompile needed. ## Source Fine-tuned from [`xezpeleta/whisper-small-eu`](https://huggingface.co/xezpeleta/whisper-small-eu) (Basque language fine-tune) using FUTO's ACFT method ([futo-org/whisper-acft](https://github.com/futo-org/whisper-acft)). The reference model in the ACFT loss *is* the Basque fine-tune, so Basque accuracy is preserved by construction. ## Related - **GGML `.bin`** (ready to import into FUTO Keyboard): [`whisper-small-eu-acft-ggml`](https://huggingface.co/itzune/whisper-small-eu-acft-ggml) - **Source model** (Basque language fine-tune): [`xezpeleta/whisper-small-eu`](https://huggingface.co/xezpeleta/whisper-small-eu)