| --- |
| 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) |
|
|