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?)

  1. 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.
  2. 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, -siniz gibi durum ve bildirme eklerinin aniden kesilmesi (audio clipping) engellendi.
    • Sayı blokları için min_word_frames=3 tabanı tanımlandı; "bir", "bin", "on", "kuruş" gibi kısa hecelerin 40 milisaniyeye sıkıştırılıp yutulması önlendi.
    • length_scale=1.06 artikülasyon çarpanı ile yoğun bankacılık ve IBAN ifadelerinde rahat ve doğal bir nefes payı sağlandı.
  3. 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ı.

📊 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:

  1. 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.
  2. OpenBMB & VoxCPM2: Kullanılan 48 kHz dondurulmuş AudioVAE2 gizil uzay çözücüsü için OpenBMB / VoxCPM2 projesine teşekkür ederiz.
  3. 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
Safetensors
Model size
63.5M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support