“Toplantı 15.03.2026'da saat 14:30'da başlıyor.”
Anka TTS, F5-TTS mimarisi üzerinde Türkçe konuşma verisiyle eğitildi. 495 cümlelik testte WER %1,66 sonucunu veriyor.
pip install "anka-tts[tts]"
from anka import AnkaTTS
tts = AnkaTTS.from_pretrained("anka-tts/v0.1", device="cuda")
# varsayılan ses
wav = tts.synthesize("2026'da toplantı 14:30'da mı?")
tts.save_wav(wav, "cikti.wav")
# kendi sesiniz · isteğe bağlı
tts.add_voice("anlatici", "referans.wav",
"Bugün İstanbul'da hafif bir rüzgar var.")
wav = tts.synthesize("Merhaba!", voice="anlatici")
Ağırlıklar from_pretrained ile iniyor;
model CUDA, MPS ve CPU üzerinde aynı arayüzle çalışıyor. Çıktı her seferinde aynı
sözleşmeye uyuyor: 24 kHz, mono, yeniden üretilebilir.
| # | Sistem | Params | Referans ses | WER % | CER % | RTF |
|---|---|---|---|---|---|---|
| 1 | Anka TTS | 336M | Evet | 1,66 | 0,38 | 0,137 |
| 2 | Chatterbox MTL | 500M | Evet | 2,12 | 0,46 | 0,751 |
| 3 | Piper (tr, dfki) | 16M | Hayır | 3,60 | 0,81 | 0,068 |
| 4 | XTTS-v2 (base) | 470M | Evet | 4,26 | 1,84 | 0,337 |
| 5 | MMS-TTS (tr) | 36M | Hayır | 6,59 | 1,53 | 0,017 |
| 6 | Coqui GlowTTS (tr) | 28M | Hayır | 10,85 | 2,93 | 0,019 |
| 7 | FreyaTTS | 183M | Hayır | 12,02 | 4,95 | 0,106 |
| 8 | F5 base (Türkçe yok) | 336M | Evet | 87,62 | 35,59 | 0,231 |
Karşılaştırma 1 milyar parametre altındaki modeller arasında yapıldı. WER ve CER düşük olan iyi; RTF üretim süresinin ses süresine oranı — yine düşük olan iyi. Ölçüm tekrarlanabilir — değerlendirme scriptini görüntüleyin ↗.
“Toplantı 15.03.2026'da saat 14:30'da başlıyor.”
“Dr. Ayşe Yılmaz'ın raporuna göre üretim %12 arttı.”
Her iki çıktı da varsayılan ayarlarla üretildi; birden çok denemeden seçim yapılmadı.
260 bin adımlık ince ayarda model Türkçenin ünlü uyumunu, vurgusunu ve soru tonlamasını kendi ağırlıklarında öğrendi — dışarıdan verilen bir kural değil. 495 cümlelik testte WER %1,66, CER %0,38.
Model referans kaydı ile transkriptini koşul olarak alıp ses karakterini oradan çıkarıyor; ince ayar, LoRA ya da GPU saati gerekmiyor. Referans vermezseniz paketle gelen Türkçe ses kullanılıyor. Aynı oturumda birden çok ses tanımlanabiliyor, geçiş voice= ile oluyor.
Model tek geçişte sınırlı uzunlukta ses üretiyor; o an hangi ses kullanılıyorsa onun referansı bu pencerenin bir kısmını kaplıyor. Uzun metinler cümle sınırlarından bölünüp ayrı sentezleniyor, aralarına ölçülü bir sessizlik konuyor; dikiş cümlenin ortasına değil sonuna düşüyor. Paragraf geçişlerinde duraklama uzuyor.
Metin modele girmeden önce bir normalizasyon katmanından geçiyor: sayılar, tarihler, kısaltmalar ve ekler okunuşa çevriliyor.
Klonlama sonucunu belirleyen şey referans kaydı — modelden de parametrelerden de daha çok. Uzun referans üretim penceresinden pay aldığı için geriye sentezlenecek daha az süre kalıyor. Kısa referansın sorunu ise farklı — model ses karakteristiğini yeterince alamıyor. 7-9 saniye ikisinin arasındaki bant.