Nida v0.5 — Türkçe metinden sese (araştırma önizlemesi)
Nida (nida: ünlem, seslenme), sıfırdan eğitilmiş, açık ve ticari olmayan bir Türkçe metinden-sese (TTS) modelidir. v0.5 erken bir araştırma önizlemesidir: sayı, tarih ve kısaltmalar dahil Türkçeyi net ve kararlı okur, 16 hazır sesle gelir. Sonraki sürümlerde daha duygulu ve doğal konuşma (gülme, iç çekme gibi sözsüz sesler dahil) ve daha iyi ses klonlama geliyor.
English summary at the end of this page.
Dinleyin
Aşağıdaki örnekler bu sayfadaki ağırlıklarla, varsayılan ayarlarla üretildi ve seçilmedi (her cümle tek denemede, seed 0). Metinler girdide nasıl yazıldıysa öyle; sayılar, saatler ve para birimleri otomatik okunuyor.
| Ses | Metin | Dinle |
|---|---|---|
| leyla | Günaydın! Bugün İstanbul'da hava 18 derece, öğleden sonra hafif yağmur bekleniyor. Çıkarken şemsiyeni almayı unutma. | |
| duru | Diş randevunuz 14 Kasım Cuma günü saat 15:30'da. Saati değiştirmek isterseniz bana söylemeniz yeterli. | |
| nihat | Akşam olunca sahile indik. Deniz sakindi, uzaktan bir vapur düdüğü duyuluyordu. O an hiçbir yere yetişmemiz gerekmiyordu. | |
| emre | Harika haber! Siparişin yola çıktı, yarın öğlene kadar kapında olacak. Kargo takip numaran mesaj olarak geldi. | |
| mert | Müşteri hizmetlerine hoş geldiniz. Güncel bakiyeniz 1.250 TL'dir. Fatura ödemek için 1'i, bir temsilciye bağlanmak için 9'u tuşlayın. | |
| orhan | Kapadokya'daki peri bacaları, milyonlarca yıl önce volkanik küllerin rüzgâr ve yağmurla aşınmasıyla oluştu. |
Model hakkında
| Mimari | Difüzyon dönüştürücü (DiT), ses latentleri üzerinde akış eşleştirme (flow matching), karakter başına açık süreler ve pencereli Gauss hizalaması |
| Parametre | 201 M |
| Ses latentleri | VoxCPM2 AudioVAE V2 (25 Hz × 64), 48 kHz'e çözülür |
| Eğitim verisi | ~380 saat: ~210 saat Türkçe YouTube konuşması (YODAS, CC-BY-3.0) + ~170 saat çok sesli sentetik Türkçe (alania, CC-BY-4.0) |
| Eğitim | 200 bin adım, tek GPU |
| Sesler | 16 hazır ses; kendi 3–8 saniyelik referans kaydınız da çalışır ama deneyseldir |
Ölçülen kalite (v0.5)
- Anlaşılırlık: üretilen sesin otomatik konuşma tanımayla (Qwen3-ASR) geri okunmasında karakter hata oranı anlatı ve uzun metinlerde %0,1–1,2, kısa asistan cümlelerinde (sayılar, özel isimler) %4,5–7.
- Kendi referans kaydınızla ses benzerliği (deneysel; ECAPA-TDNN kosinüs benzerliği, üretilen ses ile referans arasında): ~0,55. Aynı gerçek konuşmacının iki kaydı ~0,8, farklı konuşmacılar en çok 0,36 alıyor; ses kodlayıcısının kendisi 0,955'i koruyor. Yani ses tanınabilir derecede yakın, ama birebir kopya değil.
- Uzun metin: 2 dakikalık paragraflarda kararlı (denemelerimizde cümleler arasında kayma yok).
- TR-Zor (sayı, tarih, saat, para, birim, kısaltma ve sıra sayısı içeren 155 zor Türkçe cümle;
ahenk-turkish-tts, Apache-2.0). Hakem Whisper
large-v3-turbo; setin okunuş biçimi girdi olarak verildi; kelime hata oranı:
- %2,36: deniz sesi (son listede olmayan eski bir ses), 155 cümlenin 141'i hatasız.
- %3,15: emre sesi, 133/155.
- Karşılaştırma için aynı sette Ahenk %2,54, Trendyol-TTS %3,98 bildiriyor. İkisi de 2 milyar parametreli VoxCPM2 ince ayarı ve kendi metin normalleştiricileriyle ölçülmüş; bizim normalleştiricimiz ve Whisper altyapımız farklı. Bu yüzden karşılaştırma yalnızca fikir vermek içindir.
Bilinen sınırlamalar
- Tonlama okuma tarzındadır; duygu kontrolü henüz yoktur.
- Kendi referans kaydınızla ses (klonlama) deneyseldir: benzerlik orta düzeydedir ve büyük ölçüde kayda bağlıdır. v0.5'in desteklenen kullanımı hazır seslerdir.
- Girdi metni otomatik normalleştirilir: sayılar, sıra sayıları, tarihler, saatler, para, birimler,
yaygın kısaltmalar, Türkçe harf adlarıyla okunan kısaltmalar, telefon ve kimlik numaraları.
- Belirsiz durumlar (örneğin bağlamsız
8.30, bilinmeyen büyük harfli kelimeler) raporlanır. - Tehlikeli durumlarda yanlış ses üretmek yerine üretim durur.
--no-normalizenormalleştirmeyi kapatır.
- Belirsiz durumlar (örneğin bağlamsız
- Her cümle referansla birlikte 20 saniyeye sığmalıdır. Okunuşu ~96 karakterden uzun cümleler virgül, noktalı virgül ya da iki noktadan bölünür (tırnak ve etiket içinden asla bölünmez).
- Tırnak işaretinden hemen sonraki kelimede ve bazı cümle başı ünlülerde zaman zaman ses kayması olabiliyor ("Annene" → "ennene" gibi).
- Ağırlıklı olarak Türkçe ile eğitildi; diğer diller desteklenmez.
Hazır sesler
16 sentetik ses voices/ klasöründedir. voices.tsv hepsini listeler (<wav>\t<metin>),
voices/<ad>.tsv ise tek bir sesi seçer. Hiçbiri gerçek bir kişinin kaydı değildir.
| Ses | Not | |
|---|---|---|
| leyla, duru | kadın | en temiz sesler; iyi bir varsayılan |
ada, defne, elif, nermin, su, aslı (asli) |
kadın | |
| nihat | erkek | sıcak ve sakin |
| emre | erkek | canlı |
| mert | erkek | telefon hattından geliyor gibi; asistana yakışır |
| can, haluk, selim, orhan, efe | erkek |
- alania veri setinden gelenler: can, elif, emre, haluk, nermin, nihat, selim, leyla, defne ve
ada (
voice_type: designed-identity, VoxCPM2 ile metin tarifinden üretilmiş). - Bu sürüm için tasarlananlar: su, aslı, duru, mert, orhan ve efe. Aynı yolla, VoxCPM2'nin ses tasarımıyla yalnızca metin tarifinden üretildi; referans kayıt kullanılmadı.
Kullanım
pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu128 # GPU'nuza uygun CUDA sürümü
pip install -r requirements.txt
pip install -e . # nida paketi
nida say --checkpoint nida-v05-ema.pt --prompt-list voices/leyla.tsv \
--text "Merhaba! Toplantı saat 14:30'da, 3. katta." --out out --single-env --no-asr
- Komutu yayın klasöründen çalıştırın: ses listelerindeki yollar çalışma klasörüne göredir.
- Ses
out/ext-*.wavdosyasına yazılır,out/say.htmlsayfası çalar. --prompt-list voices/voices.tsvmetni 16 sesin hepsiyle okur;--text-filebir metin dosyasını okur.
--text / --text-file içindeki yazım kuralları:
- Cümleler
. ! ? …işaretlerinden bölünür; uzun cümleler ayrıca, ; :işaretlerinden. [duraksama:0.3]tam 0,3 saniye sessizlik ekler;[kısa duraksama]/[duraksama]modelin kendisinin duraklamasını sağlar.
İlk çalıştırma ve hız:
- İlk çalıştırmada VoxCPM2 AudioVAE ve bir Türkçe CTC hizalayıcı Hugging Face'ten indirilir.
- Sonraki çalıştırmalarda
HF_HUB_OFFLINE=1ile Hub'ın ağ kontrolleri atlanabilir. Bu, yavaş ya da IPv6'sı sorunlu ağlarda işe yarar. - Her
nida sayçağrısı modelleri yeniden yükler (RTX 5070'te yaklaşık bir dakika); ses üretiminin kendisi birkaç saniye sürer.
İlgili çalışma
FreyaTTS (2026), benzer tarifle yapılmış bir Türkçe TTS modelidir: donmuş AudioVAE2 latentleri üzerinde otoregresif olmayan akış eşleştirmeli bir DiT, Türkçe karakter sözlüğü ve 183 M parametre. Sonuçları farklı bir test setinde olduğu için bizimkilerle doğrudan karşılaştırılamaz.
Sorumlu kullanım
Nida'yı gerçek bir kişinin sesini onun açık izni olmadan taklit etmek için kullanmayın. Aldatmak ya da herhangi birinin (kamuya mal olmuş kişiler dahil) kimliğine bürünmek için de kullanmayın. Üretilen ses, bir kişinin gerçek kaydıymış gibi sunulmamalıdır. Modeli kullanarak CC-BY-NC-4.0 lisansına (yalnızca ticari olmayan kullanım) ek olarak bu koşulları kabul etmiş olursunuz.
Lisanslar ve atıflar
- Model ağırlıkları: CC-BY-NC-4.0. Kod: Apache-2.0.
- Veri ve modeller:
- YODAS (espnet/yodas, CC-BY-3.0)
- alania sentetik konuşma (cloud0day3/alania-synthetic-speech-tr, CC-BY-4.0)
- VoxCPM2 AudioVAE ve ses tasarımı (openbmb/VoxCPM2, Apache-2.0)
- Türkçe CTC hizalayıcı (mpoyraz/wav2vec2-xls-r-300m-cv7-turkish, CC-BY-4.0)
English summary
Nida v0.5 is an open, non-commercial Turkish text-to-speech model trained from scratch (201 M parameters, a flow-matching DiT on VoxCPM2 AudioVAE latents, ~380 h of Turkish speech).
- What it does: reads Turkish clearly, including numbers, dates and abbreviations (automatic text normalisation). It ships 16 synthetic voices that are not recordings of real people.
- Limits: a reading style of speech; cloning from your own reference clip is experimental.
- Quality: ASR read-back character error rate is 0.1–1.2 % on narration. TR-Zor word error rate is 2.4–3.2 % (Whisper large-v3-turbo judge).
- Usage: see the commands above. The
nida sayoptions are in English. - License: weights CC-BY-NC-4.0, code Apache-2.0. Do not use Nida to imitate real people without their consent.