Türkçe yapay zeka dünyasında sessiz sedasız ama büyük bir devrim yaşanıyor. EMA Lightning, yalnızca 8,6 milyon parametre ve yaklaşık 34 MB boyutunda bir Türkçe metinden sese (TTS) modeli. Buna rağmen doğrulukta ElevenLabs v4, Gemini 3.8 ve 2,38 milyar parametreli Trendyol-TTS gibi devleri geride bırakıyor.
Peki bu kadar küçük bir model nasıl bu kadar başarılı olabiliyor? Gelin yakından bakalım.
EMA Lightning Nedir, Ne Yapar?
EMA Lightning, Canberk tarafından geliştirilen açık kaynaklı bir Türkçe TTS modelidir. Apache 2.0 lisansıyla sunuluyor; yani ticari kullanım dahil tamamen ücretsiz.
Öne çıkan özellikleri:
- Doğruluk: Freya-TR-Eval test setinde %0,92 kelime hata oranı (WER) ile ölçülen en düşük hata oranına sahip.
- Hız: İlk ses 4 ms’de hazır. Tek istek gerçek zamandan 440 kat, toplu işlemde 1.316 kata kadar hızlı (RTX 4090’da).
- Maliyet: Kiralık bir RTX 4090’da milyon karakter başına yaklaşık 0,0085 dolar.
- Gizlilik: Tamamen çevrimdışı çalışır; metin veya ses cihazınızdan dışarı çıkmaz.
- Türkçe doğallığı: Sayılar, tarihler, para birimleri, kısaltmalar ve semboller yazıldığı gibi okunur.
- Akış (Streaming): Ses, metnin geri kalanı henüz oluşturulurken çalmaya başlar.
- Çoklu çağrı desteği: Aynı modeli istediğiniz kadar iş parçacığından çağırabilirsiniz; yerleşik Playhead zamanlayıcısı herkesin işini GPU’da birlikte yürütür.
Rakamlarla karşılaştırma:
| Sistem | Boyut | Kelime Hata Oranı | Hız (RTX 4090) |
|---|---|---|---|
| EMA Lightning | 8,6M | %0,92 | 440× gerçek zaman |
| Trendyol-TTS | 2,38B | %0,98 | 2,8× |
| Gemini 3.8 Flash-Lite | bulut | %1,31 | — |
| ElevenLabs v4 | bulut | %1,43 | — |
| Anka TTS | 336M | %1,73 | 6,3× |
| XTTS-v2 | 470M | %3,34 | 7,1× |
| FreyaTTS | 183M | %12,02 | 8,4× |
Kaynak: Freya-TR-Eval, 495 cümle, hız 1.0
Demo: Tarayıcıda Hemen Deneyin
Kod yazmadan, hiçbir şey kurmadan denemek isterseniz ema-lightning-web.vercel.app adresini ziyaret edin. Yazdığınız metin cihazınızdan çıkmaz; tamamen tarayıcınızda çalışır. Cümlelere tıklayarak seslendirebilirsiniz.
Özcan Çelik, modeli ONNX formatına çevirerek tarayıcıda çalışır hale getirmiş. WebGPU varsa WebGPU, yoksa WASM ile işlemcide çalışıyor. Bu sayede Android dahil her cihazın tarayıcısından erişilebilir.
🎙️ Ses Tonu ve Karakter Desteği
EMA Lightning kaç farklı ses tonu destekliyor? Erkek, kadın, çocuk sesleri var mı?
EMA Lightning tek bir ses tonu ile geliyor. Model kartında ve API dokümantasyonunda açıkça belirtildiği üzere bu sürüm tek sesli (single-speaker) bir modeldir. Wiro AI platformundaki model sayfasında “The model provides one fixed voice. It does not support voice cloning.” ifadesiyle bu durum netleştirilmiştir. Yani şu anda erkek, kadın veya çocuk sesi gibi farklı karakter seçenekleri bulunmuyor. Modelin odak noktası, tek bir doğal Türkçe ses tonunu mümkün olan en yüksek doğruluk ve hızda üretmek üzerine kurulu.
Peki ileride farklı ses tonları eklenir mi?
Model açık kaynak (Apache 2.0) olduğu için topluluk geliştiricileri ileride çok sesli (multi-speaker) sürümler veya farklı ses karakterleri ekleyebilir. Ancak bu, resmi sürümün bir parçası değil; topluluk katkılarına bağlı bir gelişme olacaktır.
Tek ses olması bir dezavantaj mı?
Tek ses, özellikle tutarlılık gerektiren uygulamalar için avantajdır: sesli kitap, ders anlatımı, haber spikeri, navigasyon anonsları gibi senaryolarda her seferinde aynı ses tonunu duymak istenen bir özelliktir. Farklı karakterler gerekiyorsa, şimdilik farklı bir TTS modeliyle birlikte kullanmak gerekebilir.
Model duygu kontrolü sunuyor mu?
Hayır, model açıkça duygu kontrolü sunmuyor. Wiro AI dokümantasyonunda “It does not expose explicit emotion control.” ifadesiyle belirtilmiştir. Ses tonu nötr ve tutarlıdır.
🏛️ Kurumlar ve Kişiler İçin Kullanım İzinleri
EMA Lightning’i belediye, devlet dairesi gibi kamu kurumları kullanabilir mi?
Evet, kullanabilir. Model Apache 2.0 lisansı ile sunuluyor. Apache 2.0, dünyanın en yaygın kullanılan izin verici (permissive) açık kaynak lisanslarından biridir ve ticari kullanıma, kamu kurumlarında kullanıma, değiştirmeye ve dağıtmaya izin verir. Belediyeler, kamu kurumları ve devlet daireleri bu modeli:
- Kendi sunucularında çalıştırabilir,
- Belediye anonsları, halkla ilişkiler metinleri, erişilebilirlik hizmetleri için kullanabilir,
- Kendi yazılımlarına entegre edebilir,
- Değiştirip geliştirebilir.
Hiçbir ek izin, lisans ücreti veya telif ödemesi gerekmez.
Sıradan bir vatandaş, öğrenci veya serbest çalışan kullanabilir mi?
Evet, herkes kullanabilir. Apache 2.0 lisansı kişisel kullanıma, eğitim amaçlı kullanıma ve ticari kullanıma açıkça izin verir. İster YouTube videosu hazırlayın, ister podcast kaydedin, ister kendi uygulamanıza entegre edin — hiçbir ücret ödemeden, izin istemeden kullanabilirsiniz.
Peki izin almak zorunda mıyım? Kime haber vermem gerekiyor?
Hayır, izin almanıza gerek yok. Apache 2.0 “izin verici” bir lisans olduğu için kullanım öncesi geliştiriciden onay almak, e-posta atmak veya herhangi bir bildirimde bulunmak zorunlu değildir. Lisans size şu hakları doğrudan tanır:
- ✓ Ticari kullanım
- ✓ Dağıtım
- ✓ Değiştirme
- ✓ Patent kullanımı
- ✓ Özel kullanım
Peki hiçbir yükümlülüğüm yok mu?
Tek bir temel yükümlülük var: atıf (kaynak belirtme). Apache 2.0 lisansı, yazılımı kullanırken telif hakkı ve lisans bildirimini korumanızı şart koşar. Yani:
- Modeli doğrudan kullanıyorsanız (örneğin kendi sunucunuzda çalıştırıyorsanız), kaynak kodun içindeki lisans dosyasını silmemeniz yeterlidir.
- Modeli kendi ürününüzün bir parçası olarak dağıtıyorsanız (örneğin bir uygulama içinde sunuyorsanız), “Bu ürün EMA Lightning (Apache 2.0) kullanmaktadır” gibi bir atıf eklemeniz beklenir.
- Bir belediye veya şirket, kendi içinde kullanıyorsa (halka dağıtım yoksa), atıf yükümlülüğü pratikte çok hafiftir; yine de lisans dosyasını saklamak iyi bir uygulamadır.
Ticari bir ürün yapıp satsam, geliştiriciye para ödemem gerekir mi?
Hayır. Apache 2.0 lisansı telifsiz (royalty-free) kullanım hakkı tanır. İster ücretsiz bir uygulama yapın, ister milyonlarca lira ciro yapan bir ticari ürün — EMA Lightning için geliştiriciye hiçbir ödeme yapmak zorunda değilsiniz.
Belediye olarak kullanırsak, vatandaşın kişisel verileriyle ilgili bir risk var mı?
Hayır, tam tersine büyük bir avantaj var. EMA Lightning tamamen çevrimdışı çalışır; metin ve ses cihazdan dışarı çıkmaz. Yani belediye, vatandaşın metnini veya sesini hiçbir bulut sunucusuna göndermek zorunda kalmaz. Bu, KVKK ve GDPR uyumluluğu açısından son derece önemlidir. Özellikle engelli vatandaşlar için metin okuma, anons sistemleri veya çağrı merkezi gibi senaryolarda veri gizliliği korunmuş olur.
Güvenlik ve uyumluluk açısından dikkat edilmesi gerekenler var mı?
Wiro AI dokümantasyonunda şu uyarılar yer alıyor:
- Sentetik konuşmayı dinleyicilere açıklayın (özellikle aramalarda ve halka açık içeriklerde).
- Sesi taklit, dolandırıcılık veya aldatma amacıyla kullanmayın.
- Bankacılık, sağlık, hukuk veya acil durum mesajları için hem metni hem de sesi bir insanın incelemesini sağlayın.
Özetle:
| Soru | Cevap |
|---|---|
| Kaç ses tonu var? | Tek ses (erkek/kadın/çocuk ayrımı yok) |
| Duygu kontrolü var mı? | ❌ Hayır |
| Ses klonlama destekliyor mu? | ❌ Hayır |
| Belediye/devlet kullanabilir mi? | ✅ Evet, Apache 2.0 izin veriyor |
| Kişiler kullanabilir mi? | ✅ Evet, herkes |
| İzin almak gerekiyor mu? | ❌ Hayır |
| Ücret ödemek gerekiyor mu? | ❌ Hayır |
| Atıf zorunlu mu? | ✅ Evet (lisans bildirimini korumak yeterli) |
| Ticari kullanım serbest mi? | ✅ Evet |
| Veri gizliliği riski var mı? | ❌ Hayır, tamamen çevrimdışı |
EMA Lightning, hem bireysel hem kurumsal kullanım için son derece esnek ve güvenli bir tercihtir. Kamu kurumları için özellikle veri gizliliği ve sıfır maliyet avantajlarıyla öne çıkıyor.
Kurulum Rehberi
Gereksinimler
- Python: 3.11 – 3.13 arası
- PyTorch: 2.1 veya üzeri
- Disk alanı: Model ağırlıkları yaklaşık 34 MB (ilk kullanımda Hugging Face’ten indirilir)
Windows’ta Kurulum
- Python’u python.org adresinden indirip kurun. Kurulum sırasında “Add Python to PATH” seçeneğini işaretleyin.
- Komut İstemi’ni (CMD) açın.
- Sanal ortam oluşturun (önerilir):textpython -m venv ema-env ema-env\Scripts\activate
- EMA Lightning’i kurun:textpython -m pip install ema-lightning
Not: NVIDIA GPU’nuz yoksa, CPU-only sürümü kurmak için şu komutu kullanın:
python -m pip install ema-lightning --extra-index-url https://download.pytorch.org/whl/cpuBu, gereksiz 1,5 GB’lık NVIDIA paketlerinin indirilmesini engeller.
macOS’ta Kurulum
- Terminal’i açın.
- Homebrew yüklü değilse önce onu kurun:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - Python’u kurun:
brew install python@3.12 - Sanal ortam oluşturun:textpython3 -m venv ema-env source ema-env/bin/activate
- EMA Lightning’i kurun:textpython3 -m pip install ema-lightning –extra-index-url https://download.pytorch.org/whl/cpu
macOS’ta CUDA desteği yoktur; model CPU üzerinde çalışır. Apple Silicon (M1/M2/M3) çiplerde de sorunsuz çalışır.
Linux’ta Kurulum
- Terminal’i açın.
- Sanal ortam oluşturun:textpython3 -m venv ema-env source ema-env/bin/activate
- EMA Lightning’i kurun:textpython3 -m pip install ema-lightningLinux’ta varsayılan PyTorch derlemesi CUDA içerir ve yaklaşık 1,5 GB NVIDIA paketi indirir. GPU’nuz yoksa CPU-only sürümü kurun:textpython3 -m pip install ema-lightning –extra-index-url https://download.pytorch.org/whl/cpu
Android’de Kullanım
Android’de iki yol var:
1. Tarayıcı üzerinden (en kolay): ema-lightning-web.vercel.app adresini Chrome veya herhangi bir tarayıcıda açın. WebGPU destekleyen cihazlarda (yeni nesil Android telefonlar) daha hızlı, desteklemeyenlerde WASM ile çalışır.
2. Termux ile (ileri düzey): Google Play’den Termux’u kurun, ardından:
pkg update && pkg upgrade
pkg install python
pip install ema-lightning --extra-index-url https://download.pytorch.org/whl/cpu
Ancak Android’de PyTorch kurulumu zahmetli olabilir; tarayıcı yöntemi çok daha pratik.
Kullanım: Kod Örnekleri
Temel Kullanım — say()
python
from ema_lightning import EMA
tts = EMA() # İlk çalıştırmada modeli indirir, GPU varsa kullanır
# Tek metin
speech = tts.say("Merhaba, size nasıl yardımcı olabilirim?", path="merhaba.wav")
print(speech.duration, speech.sample_rate) # süre (saniye), 48000
# Çoklu metin (toplu işlem)
speeches = tts.say(["Günaydın.", "Siparişiniz yola çıktı.", "İyi günler dileriz."], path="clips")
say() fonksiyonu bir Speech nesnesi döndürür: ses verisi (float32 NumPy dizisi, mono, -1 ile 1 arası), örnekleme hızı, süre ve sesi üreten seed değeri. path parametresi verilirse WAV dosyası olarak da kaydeder.
Akış (Streaming) — stream()
python
import sounddevice as sd
# pip install sounddevice
with sd.OutputStream(samplerate=48000, channels=1, dtype="float32") as speaker:
for chunk in tts.stream("Merhaba! Bu ses siz dinlerken oluşturuluyor."):
speaker.write(chunk)
Bu yöntem, sesi parça parça üretir ve siz dinlerken çalmaya başlar. Canlı uygulamalar, telefon görüşmeleri veya anlık seslendirme için idealdir.
GPU Hızlandırma (NVIDIA)
NVIDIA GPU’nuz varsa, lightning() metodunu bir kez çağırarak hızlandırılmış modu etkinleştirebilirsiniz:
python
tts = EMA().lightning()
Bu metot, mevcut GPU’ya uygun toplu iş boyutunu ölçer, modeli derler, CUDA grafiklerini kaydeder ve doğrulama yapar. CPU’da çalışırken aynı işlevi görür, sadece GPU hızlandırması devre dışı kalır.
Kimler İçin Uygun?
- İçerik üreticileri: YouTube videoları, podcast’ler, sesli kitaplar için hızlı ve ücretsiz seslendirme.
- Geliştiriciler: Uygulamalarına Türkçe TTS entegre etmek isteyenler; API anahtarı gerekmez, çevrimdışı çalışır.
- Erişilebilirlik: Görme engelliler için metin okuma; web siteleri, PDF’ler ve e-kitaplar için.
- Kamu kurumları: Belediyeler, devlet daireleri; anons sistemleri, erişilebilirlik hizmetleri ve çağrı merkezleri için sıfır maliyetli ve KVKK uyumlu çözüm.
- Araştırmacılar: Küçük ama güçlü bir TTS modeli üzerinde deney yapmak isteyenler.
Sonuç
EMA Lightning, “küçük ama etkili” deyiminin tam karşılığı. 34 MB’lık boyutuyla bulut tabanlı devlere meydan okuyor, üstelik tamamen ücretsiz ve gizliliğinize saygılı. Tek ses tonu sunsa da, tutarlılık gerektiren uygulamalar için bu bir dezavantaj değil. Apache 2.0 lisansı sayesinde ister bireysel ister kurumsal olsun, hiçbir izin veya ücret gerekmeden gönül rahatlığıyla kullanabilirsiniz. İster Windows’ta Python ile kurun, ister Android telefonunuzun tarayıcısından deneyin — Türkçe metinden sese artık bu kadar kolay.
Bağlantılar:
- Hugging Face: canberkkkkkk/ema-lightning
- GitHub: canberk7/ema-lightning
- Canlı Demo: ema-lightning-web.vercel.app
- ONNX Sürümü: ozcancelik/ema-lightning-onnx
