Post
108
🎙️ balbal-v1: a 15M-active-parameter Turkish speech recognizer, open weights.
• 11.93% WER on Mu-Bench (real Turkish phone calls, official harness). Best among the open models I tested: Qwen3-ASR 1.7B 13.95, Whisper large-v3 14.92 on the same clips and scoring.
• ~96× real time on CPU (8 threads, batch 1). No GPU needed.
• 45M stored / 15M active parameters: Conformer-CTC + a 3-pass shared refiner + a 30M-slot product-key memory, decoded with KenLM.
It started as a synthetic-data experiment: can TTS speech stand in for real recordings? About 70% of the final training audio is synthetic.
🤗 Weights: erayyapagci/balbal-v1
🕹️ Demo: erayyapagci/balbal-v1-demo
📝 How it was built: https://erayy.com/balbal-blog
💻 Code: https://github.com/erayyap/balbal
• 11.93% WER on Mu-Bench (real Turkish phone calls, official harness). Best among the open models I tested: Qwen3-ASR 1.7B 13.95, Whisper large-v3 14.92 on the same clips and scoring.
• ~96× real time on CPU (8 threads, batch 1). No GPU needed.
• 45M stored / 15M active parameters: Conformer-CTC + a 3-pass shared refiner + a 30M-slot product-key memory, decoded with KenLM.
It started as a synthetic-data experiment: can TTS speech stand in for real recordings? About 70% of the final training audio is synthetic.
🤗 Weights: erayyapagci/balbal-v1
🕹️ Demo: erayyapagci/balbal-v1-demo
📝 How it was built: https://erayy.com/balbal-blog
💻 Code: https://github.com/erayyap/balbal