Results
WER / CER (%), full test sets, lowercase + punctuation stripped:
Table with columns: Test set, whisper-base, whisper-base-id, whisper-base-id, short context| Test set | whisper-base | whisper-base-id | whisper-base-id, short context |
|---|
| FLEURS id (684 utts) | 38.8 / 12.5 | 15.0 / 4.7 | 15.2 / 4.8 |
| Common Voice 17 id (3629 utts) | 43.1 / 19.1 | 14.5 / 5.0 | 14.5 / 5.0 |
Latency, whisper.cpp q8_0, 4 s utterance:
Table with columns: CPU, Settings, ms / utterance, RTF| CPU | Settings | ms / utterance | RTF |
|---|
| Cortex-A53 x4 1.4 GHz (Orange Pi Zero3) | -t 4 -ac 256 | 1870 | 0.47 |
| RK3588, Cortex-A76 x4 (Orange Pi 5 Plus) | taskset -c 4-7, -t 4 -ac 256 | 198 | 0.05 |
Output is lowercase without punctuation.
Files
model.safetensors (fp16) + tokenizer/config: transformers
ggml-base-id-q8_0.bin (82 MB): whisper.cpp. On ARM, q8_0 beats q5_0 on speed.
Usage
# -ac = encoder positions: 50 per second of audio, round up to a multiple of 64 (4 s -> 256, 8 s -> 448)whisper-cli -m ggml-base-id-q8_0.bin -l id -t 4 -ac 256 -bs 1 -bo 1 -nt -f audio16k.wav
from transformers import pipelineasr = pipeline("automatic-speech-recognition", model="maleo-ai/whisper-base-id")print(asr("audio.wav", generate_kwargs={"language": "indonesian", "task": "transcribe"})["text"])
Limitations
- Test sets are read speech; conversational audio will be harder.
- Orange Pi Zero3 has no thermal throttling (only a 110 C shutdown); sustained 4-thread decoding runs above 80 C. Use a heatsink.
Citation
@misc{irawan2026whisperbaseid, author = {Eka Tresna Irawan}, title = {whisper-base-id: Whisper base fine-tuned for Indonesian speech recognition}, year = {2026}, publisher = {Hugging Face}, howpublished = {\url{https://huggingface.co/maleo-ai/whisper-base-id}}}