atamano/whisper-chess-tiny
010
whisper-chess-tiny
Fine-tuned Whisper-tiny for chess move recognition in English.
Part of the SpeakChess project — play chess by voice in EN / FR / DE / ES.
Performance
- Test WER: 0.09% on synthetic chess move evaluation set
- Domain: chess moves only (notation like
Nf3,exd5,O-O) - Optimized for browser inference via transformers.js (ONNX + INT8)
Files
onnx/encoder_model_int8.onnx— INT8-quantized encoder (Conv layers kept FP32 for WASM compat)onnx/decoder_model_merged_int8.onnx— INT8 merged decoder- Standard Whisper tokenizer/processor files
Total runtime download: ~62 MB.
Usage (transformers.js)
import { pipeline } from "@huggingface/transformers";
const transcriber = await pipeline(
"automatic-speech-recognition",
"atamano/whisper-chess-tiny",
{ dtype: { encoder_model: "int8", decoder_model_merged: "int8" } }
);
const result = await transcriber(audio, { language: "en", task: "transcribe" });License — Important
This model is licensed under CC BY-NC-SA 4.0. Summary:
- ✅ Free to use for personal projects, research, education, and non-commercial demos
- ✅ Free to share and adapt with attribution and same-license derivatives
- ❌ Commercial use is NOT permitted without a separate license
- ❌ Including the model in commercial products, paid services, or competing voice-chess offerings requires explicit written permission
For commercial licensing inquiries: antoine@darksquares.net
The full license text: https://creativecommons.org/licenses/by-nc-sa/4.0/
All rights reserved beyond the CC BY-NC-SA 4.0 grant.
Training
See github.com/atamano/speakchess for the full training pipeline.
- Base:
openai/whisper-tiny(39M params, 98% trainable via full fine-tune) - Method: Full fine-tuning + SpecAugment + suppress_tokens whitelist (chess vocab only)
- Data: synthetic audio via Edge TTS (multiple accents per language) + augmentation at runtime
