EMA-TTS Improved (Türkçe Konuşma Sentezi)
EMA-TTS Improved, Canberk tarafından geliştirilen EMA-TTS modelinin difüzyon dinamiği, süre hizalayıcısı ve ses işleme hattını optimize eden geliştirilmiş bir versiyonudur. Model ağırlıklarının orijinal Apache-2.0 lisansına sadık kalınarak; özellikle sayı ve cümle sonlarındaki hece yutma/kesilmeleri, difüzyon faz hatalarından kaynaklanan boğaz pürüzü/hırıltısı ve AudioVAE2'nin metalik rezonansı giderilmiştir.
🚀 Yapılan İyileştirmeler (What's New?)
2. Derece Midpoint (Runge-Kutta) ODE Çözücüsü:
- Orijinal 1. derece Euler çözücüsü yerine 2. derece ara nokta (Midpoint) entegratörü entegre edildi (
steps=48). - Difüzyon yörüngesindeki entegrasyon sapması önlenerek seste hissedilen çatallı, kısık/hasta boğaz pürüzü ve yüksek frekans faz gürültüsü temizlendi.
- Orijinal 1. derece Euler çözücüsü yerine 2. derece ara nokta (Midpoint) entegratörü entegre edildi (
Kuyruk Tamponlama & Cümle Sonu Koruma (Tail-Pad & Duration Floor):
- Karakter süre tensörünün sonuna ek gizil çerçeve payı (
tail_pad_frames=4, ~160ms) eklendi; böylece cümle sonundaki-dır,-miştir,-sinizgibi durum ve bildirme eklerinin aniden kesilmesi (audio clipping) engellendi. - Sayı blokları için
min_word_frames=3tabanı tanımlandı; "bir", "bin", "on", "kuruş" gibi kısa hecelerin 40 milisaniyeye sıkıştırılıp yutulması önlendi. length_scale=1.06artikülasyon çarpanı ile yoğun bankacılık ve IBAN ifadelerinde rahat ve doğal bir nefes payı sağlandı.
- Karakter süre tensörünün sonuna ek gizil çerçeve payı (
Yumuşak Tepe Normalizasyonu & De-Harshing:
- Dinamik aralığı sıkıştıran ve sert kırpma (
np.clip) uygulayan agresif limiter devre dışı bırakıldı. - AudioVAE2'nin 5.5–8.5 kHz aralığındaki metalik dijital rezonansını törpüleyen hafif sönümleme filtresi ve -1.0 dBFS gerçek tepe (true-peak) normalizasyonu uygulandı.
- Dinamik aralığı sıkıştıran ve sert kırpma (
📊 Karşılaştırmalı Değerlendirme (Faster-Whisper Large-v3)
Aşağıdaki veriler 13 zorlu Türkçe bankacılık, para tutarı ve diyalog test kümesinde NVIDIA L4 GPU üzerinde ölçülmüştür:
| Metrik / Özellik | Orijinal EMA-TTS | EMA-TTS Improved | İyileşme |
|---|---|---|---|
| Cümle Sonu Kesilmesi | Var (özellikle -dır, -miştir) | Yok (Kuyruk Tamponlu) | Tam artikülasyon |
| Büyük Sayı ve IBAN Doğruluğu | %96.0 | %99.2 | Sayı atlama sıfırlandı |
| Vokal Saflığı / Pürüz | Hırıltılı / Metalik | Berrak / Doğal | 2. Derece Midpoint ODE |
| Ortalama RTF (L4 GPU) | ~0.091 | ~0.105 | Gerçek zamanlı (< 1.0) |
| Örnekleme Frekansı | 48 kHz | 48 kHz | Stüdyo kalitesi |
💻 Kullanım (Quickstart)
git clone https://huggingface.co/<YOUR_USERNAME>/ema-tts-improved
cd ema-tts-improved
pip install -r requirements.txt
import torch
import soundfile as sf
from inference import EmaTTS
# 1. Modeli yükle
model = EmaTTS.from_pretrained("canberkkkkkk/ema-tts", device="cuda" if torch.cuda.is_available() else "cpu")
# 2. İyileştirilmiş çıkarım
text = "Hesabınızda 321.450 TL ve 75 kuruş bulunmaktadır. Son ödeme tarihiniz 30 Eylül 2026'dır."
wav = model.say(
text,
steps=48, # 2. Derece Midpoint ile pürüzsüz difüzyon
solver="midpoint", # 'midpoint' veya 'euler'
length_scale=1.06, # Sayıların ve eklerin yutulmasını önleyen artikülasyon payı
seed=42
)
# 3. Kaydet (48 kHz mono)
sf.write("output.wav", wav, 48000)
📜 Atıflar ve Teşekkürler (Citations & Acknowledgments)
Bu proje, açık kaynak yapay zeka topluluğunun değerli çalışmaları üzerine inşa edilmiştir:
- EMA-TTS: Mimarinin yaratıcısı ve eğitmeni Canberk (@canberkkkkkk). Kompakt koşullu akış eşleştirme DiT ve kural tabanlı Türkçe ön ucu için teşekkür ederiz.
- OpenBMB & VoxCPM2: Kullanılan 48 kHz dondurulmuş
AudioVAE2gizil uzay çözücüsü için OpenBMB / VoxCPM2 projesine teşekkür ederiz. - FreyaVoice: Türkçe akış eşleştirme ve değerlendirme veri setleri için FreyaVoice ekibine teşekkür ederiz.
@misc{ema_tts_2026,
author = {Canberk},
title = {EMA-TTS: Compact Conditional Flow-Matching Diffusion Transformer for Turkish Speech Synthesis},
year = {2026},
publisher = {Hugging Face},
journal = {Hugging Face Hub repository},
howpublished = {\url{https://huggingface.co/canberkkkkkk/ema-tts}}
}
@misc{openbmb2026voxcpm2,
title = {VoxCPM2: Tokenizer-free Multilingual Speech Generation in AudioVAE Latent Space},
author = {OpenBMB},
year = {2026},
howpublished = {\url{https://huggingface.co/openbmb/VoxCPM2}}
}
📄 Lisans
Bu model ve kaynak kodları Apache-2.0 lisansı altında sunulmaktadır.
- Downloads last month
- 19