balbal-v2 is here: see the new page →balbal-v2 çıktı: yeni sayfaya git →
erayy.com

Türkçe konuşma tanıma · Ekim 2026

balbal-v1

Küçük model. Büyük API'lerin liginde.

Türkçe konuşma tanıma. Mu-Bench'te Azure ve Deepgram'dan daha az hata yapar. Ağırlıkları açık.

Ağırlıklar balbal Community License 1.0 ile: araştırma ve ticari olmayan kullanım serbest; küçük işletmeler kendi işlerinde ticari olarak da ücretsiz kullanabilir. Konuşma tanıma ürünü satmak için ticari lisans gerekir. Kod Apache 2.0.

%11,9Mu-Bench hata oranı
%6,5FLEURS hata oranı
96×gerçek zaman, işlemcide
15 mnaktif parametre

Hem hızlı hem doğru

Mu-Bench hatası ve hız. Sağ alt köşe en iyisi.

Mu-Bench hata oranı ile işlemcide hız (gerçek zaman katı, logaritmik) grafiği. balbal-v1 sağ altta: hem en hızlılardan hem en az hata yapanlardan; Freya ve PatientDesk API'leri de grafikte.

Yerel modeller aynı işlemcide, 8 çekirdek ve batch 1 ile ölçüldü. Freya ve PatientDesk (elmaslar) kendi sunucularının bildirdiği işlem süresiyle. omniASR'ın LLM'li modelleri işlemcide bitmek bilmeyeceği için grafikte yok. Duyu-small ayrı bir oturumda 30× ölçüldü (aynı oturumda balbal-v1 108×); grafikte balbal-v1'in iki oturum arasındaki oranıyla ölçeklenmiş hali (27×) var.

API'lerin liginde

Mu-Bench Türkçe: 846 müşteri hizmetleri kaydı.

Kelime hata oranı, düşük daha iyi. Resmi Mu-Bench değerlendirmesi (sonuç tablosu; Li ve Ray, 2026).

Büyük modellerle yan yana

ModelMu-Bench WER (balbal-normalizer)FLEURSAktif parametre

Kelime hata oranı (%), tüm modeller aynı kayıtlar ve aynı kuralla puanlandı.

Tüm testler

Test kümesiİçerikKayıtbalbal-v1
Mu-BenchMüşteri hizmetleri, 8 kHz84611,78
FLEURSOkunmuş Wikipedia cümleleri7436,54
Kontrol cümleleriAyrı tutulan zor cümleler19918,94
+ Mihu testiMihuAI'nin kendi testi, TTS sesi817,94

Kelime hata oranı (%), düşük daha iyi, balbal-normalizer ile puanlama (puanlama kodu). Mihu testi MihuAI'nin kendi puanlama koduyla ölçüldü; MihuAI turkish-stt aynı testte %15,20.

GPU gerekmez

Bir dakikalık konuşma, işlemcide 0,6 saniyede yazıya dökülür.

Gerçek zamanın katı, 8 işlemci çekirdeği, logaritmik ölçek.

Nasıl çalışır

  1. Conformer kodlayıcı

    Sesi 40 ms'lik karelerle dinler.

  2. Seyrek bellek

    250 bin kayıtlık bellekten her karede yalnızca 64'ünü okur.

  3. Dil modeli

    Türkçe bir KenLM, en olası cümleyi seçer.

  4. Sentetik veri ölçekleniyor

    Modelin gördüğü 1.722 saatlik farklı sesin %69'u TTS ile üretilmiş sentetik konuşma; gerçek konuşmanın payı yalnızca %26. Gerçek kaydın az olduğu yerde sentetik veriyi büyütmek işe yarıyor.

Bozkırda taş bir geyik figürü

Sınırlar

Yalnızca Türkçe

Eğitimde biraz İngilizce de vardı, ama İngilizce konuşmada iyi sonuç vermez.

Uzun kayıtlar

Uzun ses 30 saniyelik sabit parçalara bölünüp her parça ayrı çözülür. Konuşma algılama (VAD) yok.

Atıf

balbal-v1'i bir çalışmada kullanırsan şöyle atıf verebilirsin.

Eray Yapağcı. balbal-v1: A Small Turkish Speech Recognition Model. 2026. erayy.com/balbal-blog

@misc{yapagci2026balbal,
  author       = {Eray Yapa{\u{g}}c{\i}},
  title        = {balbal-v1: A Small Turkish Speech Recognition Model},
  year         = {2026},
  month        = oct,
  howpublished = {\url{https://erayy.com/balbal-blog}},
  note         = {Code: \url{https://github.com/erayyap/balbal}}
}
erayy.com

Turkish speech recognition · October 2026

balbal-v1

Small model. In the league of the big APIs.

Turkish speech recognition. Makes fewer errors than Azure and Deepgram on Mu-Bench. Open weights.

Weights under the balbal Community License 1.0: free for research and non-commercial use, and free for small businesses to use commercially in their own business. Selling speech products built on it needs a commercial license. Code under Apache 2.0.

11.9%Mu-Bench error rate
6.5%FLEURS error rate
96×real time, on CPU
15Mactive parameters

Fast and accurate

Mu-Bench error versus speed. Bottom right is best.

Mu-Bench error rate versus CPU speed (multiple of real time, log scale). balbal-v1 sits bottom right: among the fastest and among the most accurate; the Freya and PatientDesk APIs are also on the chart.

Local models were measured on the same CPU with 8 cores and batch 1. Freya and PatientDesk (diamonds) use the processing time reported by their own servers. omniASR's LLM models are not on the chart: on a CPU they would take forever. Duyu-small was timed in a separate session at 30× (balbal-v1 ran at 108× there); the chart shows it scaled by balbal-v1's ratio between the two sessions (27×).

In the league of the APIs

Mu-Bench Turkish: 846 customer-service recordings.

Word error rate, lower is better. Official Mu-Bench evaluation (leaderboard; Li and Ray, 2026).

Side by side with big models

ModelMu-Bench WER (balbal-normalizer)FLEURSActive parameters

Word error rate (%). All models were scored on the same recordings with the same rule.

All tests

Test setContentClipsbalbal-v1
Mu-BenchCustomer service, 8 kHz84611.78
FLEURSRead Wikipedia sentences7436.54
Control sentencesHeld-out hard sentences19918.94
+ Mihu testMihuAI's own test, TTS audio817.94

Word error rate (%), lower is better, scored with balbal-normalizer (scoring code). The Mihu test was scored with MihuAI's own scoring code; MihuAI turkish-stt gets 15.20% on the same test.

No GPU needed

A minute of speech is transcribed in 0.6 seconds on a CPU.

Multiple of real time, 8 CPU cores, log scale.

How it works

  1. Conformer encoder

    Listens to the audio in 40 ms frames.

  2. Sparse memory

    Reads only 64 of its 250,000 memory slots per frame.

  3. Language model

    A Turkish KenLM picks the most likely sentence.

  4. Synthetic data scales

    69% of the 1,722 hours of distinct audio the model saw is synthetic (TTS) speech; only 26% is real. Where real recordings are scarce, scaling up synthetic data works.

A stone deer figure on the steppe

Limits

Turkish only

There was some English in training, but it does not do well on English speech.

Long recordings

Long audio is cut into fixed 30-second chunks and each chunk is decoded separately. There is no voice activity detection (VAD).

How to cite

If you use balbal-v1 in your work, you can cite it like this.

Eray Yapağcı. balbal-v1: A Small Turkish Speech Recognition Model. 2026. erayy.com/balbal-blog

@misc{yapagci2026balbal,
  author       = {Eray Yapa{\u{g}}c{\i}},
  title        = {balbal-v1: A Small Turkish Speech Recognition Model},
  year         = {2026},
  month        = oct,
  howpublished = {\url{https://erayy.com/balbal-blog}},
  note         = {Code: \url{https://github.com/erayyap/balbal}}
}