EMA-TTS Improved — Türkçe bankacılık alan uyarlaması
Bu depo, EMA-TTS mimarisinin Türkçe bankacılık ve müşteri hizmetleri söylemlerine uyarlanmış sürümünü içerir. Model; bakiye, kredi, kart, tutar ve sesli bankacılık ifadelerinde alan uyumu sağlamak amacıyla gerçek ağırlık güncellemeleriyle eğitilmiş, ardından konuşma akıcılığını korumak için temel model ile değerlendirme güdümlü olarak birleştirilmiştir.
Eğitim
- Veri: Antalia Voice Corpus, 5,008 saat, tek konuşmacı, CC-BY-4.0.
- Bankacılık alt kümeleri:
numeric-01(bakiye, kredi ve kart işlemleri) vephonetic-04(sesli bankacılık görüşmesi). - Tüm veri genel Türkçe konuşma niteliğini korumak için kullanılmış, 33 bankacılık kaydı eğitim sırasında altı kat ağırlıklandırılmıştır.
- Metin kodlayıcı, süre kestirici, hizalayıcı ve AudioVAE2 dondurulmuştur.
- Koşullu flow-matching akustik çözücü AdamW ile güncellenmiş ve yayımlanan
ağırlıklar EMA (
decay=0.999) ile izlenmiştir. - Ayarlar: 2 epoch,
lr=1e-5, ağırlık çürümesi0.01, gradyan biriktirme8, gradyan kırpma1.0, tohum20260925.
Koşunun makinece okunabilir özeti, kayıp değerleri ve temel/eğitilmiş ağırlık
SHA-256 değerleri training_summary.json dosyasındadır. Eğitim kodu
train_banking.py ile yeniden çalıştırılabilir.
Doğrulanan koşu 1.073 kaydın tamamını kullandı, 1.185 ağırlıklı eğitim örneği
üzerinde 298 optimizer güncellemesi yaptı ve eğitim flow loss değeri ilk
epoch'ta 1.6068, ikinci epoch'ta 1.4661 oldu. Eğitilmiş ağırlık SHA-256
değeri 4282287ba6618e2949c37999ce985135b941ee9b3b7299432574d4201eb49aaa'dır.
Tam alan uyarlaması dinleme ve tanıma testlerinde cümle sonlarını bozduğu için
yayımlanan model, uyarlama farkının yüzde 25'ini temel ağırlıklara ekleyen
checkpoint enterpolasyonudur. Son ağırlık SHA-256 değeri
49df6911962d2352a9e71c90a913b495ca986c1e3581d8f0e9b458afe79252c4'dır.
Karşılaştırmalı seçim
Dört sabit bankacılık cümlesinde, aynı Whisper tabanlı Türkçe transkripsiyon
hattıyla yapılan teknik tarama checkpoint seçimi için resmi EMA-TTS çıkarımını
kullandı. Tam uyarlama + gün içindeki cümle bölme yöntemi ortalama WER 0.5516
üretirken eski ağırlık + resmi çıkarım 0.3736, yayımlanan yüzde 25
enterpolasyon + resmi çıkarım 0.3543 verdi. Son dinleme turunda seçilen
checkpoint, gıcık ve yapaylığı azaltan önceki iyileştirilmiş çıkarım profiliyle
birleştirildi. Kritik “Mobil bankacılıktan yeniden açabilirsiniz” ve cümle sonu
“Türk lirası aktarıldı” ifadeleri son örneklerde eksiksiz çözümlendi. Bu küçük
test kümesi genellenebilir bir kalite iddiası değil, gerileme eleme testidir.
Kullanım
git clone https://huggingface.co/mehmetefeaytas/ema-tts-improved
cd ema-tts-improved
pip install -r requirements.txt
import soundfile as sf
import torch
from inference import EmaTTS
device = "cuda" if torch.cuda.is_available() else "cpu"
model = EmaTTS.from_pretrained("mehmetefeaytas/ema-tts-improved", device=device)
text = "Kredi kartınızın son ödeme tarihi otuz Eylül'dür."
audio = model.say(text, seed=42)
sf.write("bankacilik.wav", audio, 48_000)
Varsayılan çıkarım hattı dinleme testlerinde seçilen iyileştirilmiş profildir:
metin tek parça işlenir, 48 midpoint adımı ve length_scale=1.06 kullanılır,
sözcük başına en az 3 gizil kare ayrılır ve gerçek son sözcüğe 6 kare kuyruk
payı verilir. Önceki yapay ... eki kaldırıldığı için bu pay sessiz bir simgeye
harcanmaz. AudioVAE kaynaklı gıcığı azaltmak için 5,5–8,5 kHz bandında hafif
bir yumuşatma uygulanır (özgün sinyalin yüzde 70'i korunur) ve çıkış -1 dBFS
tepe düzeyine getirilir. Oynatıcıların ilk veya son heceyi kırpmasını önlemek
için dalga biçiminin iki sınırına 120 ms sessizlik eklenir.
Ses örnekleri
banking_sample.wav— “Hesabınızın kullanılabilir bakiyesi on iki bin dört yüz elli Türk lirasıdır.” (5,16 sn.)sample_kredi.wav— “Kredi başvurunuz onaylandı. Aylık ödeme tutarınız sekiz bin yedi yüz elli Türk lirasıdır.” (6,16 sn.)sample_kart_guvenlik.wav— “Kartınız güvenlik nedeniyle geçici olarak işleme kapatılmıştır. Mobil bankacılıktan yeniden açabilirsiniz.” (7,16 sn.)sample_havale.wav— “Havale işleminiz başarıyla tamamlandı. Alıcı hesabına yirmi beş bin Türk lirası aktarıldı.” (6,08 sn.)banking_demo_all.wav— Dört örneğin 800 ms aralarla birleştirilmiş 26,96 saniyelik demosu.
Tüm örnekler 48 kHz mono WAV olarak eğitilmiş checkpoint'ten üretilmiş ve sayısal olarak sonlu değerler içerdiği doğrulanmıştır.
Amaçlanan kullanım ve sınırlamalar
Model; Türkçe bankacılık asistanı prototipleri, erişilebilirlik, araştırma ve sentetik müşteri hizmetleri konuşmaları için tasarlanmıştır. İnsan sesi olduğu izlenimi verilmemeli; üretilen kayıtların sentetik olduğu açıkça belirtilmelidir. Kimliğe bürünme, dolandırıcılık, sosyal mühendislik, izinsiz ses taklidi veya gerçek finansal işlem onayı amacıyla kullanılmamalıdır.
Bu çalışma dört cümlelik WER/CER gerileme taraması içerir; MOS veya geniş ölçekli insan değerlendirmesi iddia etmez. Üretim kullanımı öncesinde bankaya özgü metinler, sayılar, IBAN biçimleri ve cümle sonları daha büyük, bağımsız bir değerlendirme kümesiyle doğrulanmalıdır.
Atıf ve lisans
Temel model: canberkkkkkk/ema-tts, Apache-2.0. Ses gizil uzayı için OpenBMB/VoxCPM2 AudioVAE2 kullanılır.
Eğitim verisi: Antalia (Patientdesk.ai), Antalia Voice Corpus, CC-BY-4.0. Bu atıf, modelin veya türevlerinin dağıtımında korunmalıdır.
Kod ve temel modelden türetilen ağırlıklar Apache-2.0 altında sunulur. Eğitim verisinin atıf koşulları ayrıca geçerlidir.