Ahenk Cep: küçük Türkçe metinden sese modeli (CPU)

Ahenk Cep, büyük Ahenk modelinin sesinden öğrenen küçük bir öğrenci modeldir: 8.6M parametre, 34 MB (fp32), EMA Lightning mimarisi, tek tasarlanmış kadın sesi (f022), 48 kHz. İşlemcide 2 iş parçacığıyla gerçek zamanın yaklaşık 0,2'si sürede konuşur. Ağırlıklar CC-BY-4.0.

Tarayıcıda deneyin / try it in your browser: ozguradmin.github.io/ahenk-turkish-tts (model sizin cihazınızda çalışır, metin sunucuya gitmez / runs on your device).

Bu ses yapaydır. f022, VoxCPM2 ile bir metin tarifinden tasarlanmış bir sestir; gerçek bir kişinin sesi ya da kaydı değildir. Ürettiğiniz sesi paylaşırken yapay olduğunu belirtin (AB Yapay Zekâ Yasası md. 50).

This voice is synthetic. It is a designed voice, not a real person. Label what you generate as AI-generated.

Demo Space · Büyük model: Ahenk · Kod · English

Örnekler

Değerlendirme turundaki klipler (GPU'da üretildi; 16 Euler adımı, cfg 2.0, tohum 0, trnorm ön ucu). Yeni sentez yapılmadı.

Ne gösteriyor Metin Ses Seçim
Soru Bu ürünün garantisi var mı? Kör dinlemede dört sistem arasından dinleyici seçti. UTMOS yalnız 2.48: ölçü ile kulak burada ayrışıyor.
Soru Saat kaçta buluşalım? Kör dinlemede dinleyici seçti. Hatasız, UTMOS 3.69.
Uzun cümle, eğitimde yok Karşılaştırma isteyenlere eski ve yeni paketi yan yana anlatırız; farkı müşteri kendisi görür. Akşam olduğunda kısa bir değerlendirme yaparız: hangi sorular arttı, hangi açıklama iyi çalıştı, nerede zorlandık? Dinleyici seçmedi (iki uzun cümlede de büyük modeli seçti). 28 kelime hatasız. Büyük modelin aynı cümlesi: dinle.

Hızlı başlangıç

pip install torch ema-lightning==1.1.2 "git+https://github.com/ozguradmin/ahenk-turkish-tts"
import sys
import soundfile as sf
from huggingface_hub import snapshot_download

d = snapshot_download("ozgurguler/ahenk-cep-tr", allow_patterns=["*.pt", "ahenk_cep.py"])
sys.path.insert(0, d)
from ahenk_cep import AhenkCep  # noqa: E402

tts = AhenkCep(f"{d}/student.pt", f"{d}/decoder.pt")  # CPU; device="cuda" de olur
audio, sr = tts.say("Randevunuz 14.10.2026 saat 09:30'da; ücret 1.250 TL.")
sf.write("randevu.wav", audio, sr)
audio, sr = tts.say("Ne kadar uğraştıysam da yetişemedim.", style="sad")

say(text, style="neutral", steps=16, cfg=2.0, speed=1.0, seed=0). Üsluplar: neutral, angry, calm, cheerful, empathetic, sad, surprised. Metin önce trnorm ile okunuş formuna çevrilir; siz çevirmeyin. Aynı tohum CPU ve GPU'da farklı ses verir (gürültü üreteci cihaza bağlı); yukarıdaki örnekler GPU'dan.

Ölçümler

Aynı düzenek, büyük modelle aynı: faster-whisper large-v3-turbo yargıç, trnorm.normalize_for_eval, UTMOS22 strong. TR-Zor: 155 zor cümle. Ayrılmış: Antalia'nın 20 uzun cümlesi, eğitimde yok. Benzerlik: ECAPA kosinüsü, f022 referans klibine (60 cümle). Hepsi bir RTX 5060 dizüstüde ölçüldü.

Model Boyut TR-Zor WER (hatasız) Ayrılmış WER (hatasız) UTMOS TR-Zor / ayrılmış f022'ye benzerlik
Ahenk Cep 8.6M 2.32 (144/155) 0.95 (17/20) 3.44 / 3.18 0.62
EMA Lightning + trnorm 8.6M 2.43 (145/155) 1.49 (16/20) 3.36 / 2.95 0.22
Antalia-2 Mini, kendi ön ucu 7.6M 3.30 (140/155) 1.22 (16/20) 3.23 / 2.94 0.24
Ahenk (öğretmen, GPU) 2B + LoRA 2.54 (141/155) 0.82 (16/20) 3.69 / 3.13 0.62
Hız (RTF, düşük daha hızlı) GPU CPU, 2 iş parçacığı CPU, 8 iş parçacığı
Ahenk Cep, 16 adım 0.025 0.20 0.14
Ahenk Cep, 8 adım 0.016 0.16 0.12
EMA Lightning (4 adım) 0.014 0.13 0.10
Antalia-2 Mini 0.020 0.08 0.05
  • Kısa cümlede doğallık EMA ile başa baş, büyük modelin gerisinde (3.44'e karşı 3.69). Uzun cümlede EMA'dan iyi.
  • Hızda EMA ve Antalia'nın gerisindeyiz: aynı işlemcide 0.20'ye karşı 0.13 ve 0.08.
  • Soru tonlaması (TR-Soru, 35 satır, score_intonation.py geçme oranı): Ahenk Cep 0.60, öğretmen 0.56, Antalia 0.51, EMA 0.43. Sonu yükselen sorular hiçbir sistemde yükselmiyor (0/4).
  • 8 adım: UTMOS 3.30 / 2.99, WER aynı aralıkta. 4 adım doğallıktan ~0.4 kaybettiriyor.
  • Otomatik ölçümlerdir. 60 cümlelik alt kümede sistemler arası WER farkları birkaç kelimedir; beraberlik sayın.

Kör dinleme (tek dinleyici, 10 cümle, dört sistem rastgele sırada, ses düzeyleri eşit): öğretmen 8, Ahenk Cep 2, EMA Lightning 0, Antalia-2 Mini 0. Ahenk Cep'in kazandığı iki cümle soruydu. Tek kişinin kulağıdır; MOS çalışması yapılmadı.

Nasıl yapıldı

  • EMA Lightning'in ema.pt ağırlıklarından başlayıp büyük modelin f022 sesiyle okuduğu 4,5 saatlik derlemin latentleri üzerinde 20.000 adım ince ayar (4.164 klip). Sıfırdan eğitim aynı veriyle WER %13,4 verdi; kullanılamaz.
  • Ağırlık karışımı (WiSE-FT): %75 ince ayarlı + %25 özgün ema.pt. Uzun ince ayar sesi f022'ye yaklaştırıp doğallığı düşürüyordu; karışım ikisini dengeler.
  • Ses çözücüsünün (decoder) f022 sesine ince ayarı: 25 dakika; f022'ye benzerlik 0,48'den 0,62'ye.
  • 8 üsluplu bir stil gömmesi eklendi (gülme eğitilmedi).
  • Maliyet $0: hepsi tek bir dizüstü GPU'da (RTX 5060, 8 GB).

Sınırlamalar

  • Üslup hafif: "üzgün" 1,9 yarım ton pes ve %8 yavaş, "sakin" %8 yavaş; eğitim verisindeki fark daha büyük (~%20). Gülme yok.
  • Sonu yükselen sorular yükselmez ("Yarın geliyorsun?"). "mı" ekleyin.
  • Telefon için henüz yavaş: 2 iş parçacığında RTF ~0,2. Az adımlı damıtma (planlı) yapılmadı; şimdilik masaüstü ve sunucu CPU'su için.
  • Öğretmene benzerlik 0,68 (aynı cümlede, ECAPA); koyduğumuz 0,75 hedefini tutmadı.
  • Uzun metinde doğallık büyük modelin gerisinde. Tek ses, yalnız Türkçe.
  • Köken: ema.pt EMA Lightning'in açıklanmamış ~1000 saatlik verisiyle eğitildi (Apache-2.0). Ahenk Cep o ağırlıklardan türedi.

Dosyalar

Dosya İçerik Boyut sha256
student.pt akustik model (5.6M + stil gömmesi), fp32 22.3 MB 020e2d31cb51847a9f06376febbb6ba9329ded7c3084a7fdd4f45adada3f23d3
decoder.pt ses çözücüsü (3M), fp32, EMA Lightning decoder.pt biçiminde 12.0 MB 5caeede49ce987a94e31fc8a58bed569e993c820fe6f1c9b301d6c489d3cbbd1
ahenk_cep.py çıkarım kodu (Apache-2.0), kaynak 4.5 KB 01fb2b741b9991888305c9bd9fcadeba1f23025c7a92b738be379f6fcb36b332

.pt dosyaları torch.load(..., weights_only=True) ile yüklenir.

Lisans

Lisans
EMA Lightning (taban ağırlıklar ve motor) Apache-2.0
Öğretmen sesi f022 / Ahenk (Alania verilerinden türedi) CC BY 4.0
Ahenk Cep ağırlıkları CC BY 4.0
ahenk_cep.py Apache-2.0

Atıf: Alania Turkish Synthetic Speech by PatientDesk AI (https://huggingface.co/datasets/cloud0day3/alania-synthetic-speech-tr) ve Alania Turkish Domain Text by PatientDesk AI (https://huggingface.co/datasets/cloud0day3/alania-domain-text-tr), licensed under CC BY 4.0, öğretmen Ahenk üzerinden. EMA Lightning (https://huggingface.co/canberkkkkkk/ema-lightning), Apache-2.0.

Ağırlıkları kullanırken ya da dağıtırken şöyle atıf yapın: "Ahenk Cep, Ahenk (https://github.com/ozguradmin/ahenk-turkish-tts), CC BY 4.0", ve yukarıdaki atıfları koruyun.

Sorumlu kullanım

  • Üretilen sesi gerçek bir insan kaydı gibi sunmayın; yapay olduğunu söyleyin (AB Yapay Zekâ Yasası md. 50). Filigran yok; isterseniz AudioSeal (MIT) ekleyin.
  • Kimseyi taklit etmeyin.
  • Üslupları gerçek bir insanın duygusu gibi sunup dinleyiciyi baskı altına almayın.
  • Dolandırıcılık, sosyal mühendislik ve otomatik arama için kullanmayın.

Sürümler

Sürüm Ne
v0.1 (Ekim 2026) İlk deneme sürümü: WiSE α 0,25 öğrenci + 2.500. adım decoder

Atıf

@misc{guler2026ahenkcep,
  title  = {Ahenk Cep: a small on-device Turkish TTS student of Ahenk},
  author = "{Ahenk}",
  year   = {2026},
  url    = {https://huggingface.co/ozgurguler/ahenk-cep-tr}
}
@misc{ema_lightning,
  title  = {EMA Lightning},
  author = "{canberkkkkkk}",
  url    = {https://huggingface.co/canberkkkkkk/ema-lightning}
}
@inproceedings{wortsman2022wiseft,
  title     = {Robust fine-tuning of zero-shot models},
  author    = {Wortsman, Mitchell and others},
  booktitle = {CVPR},
  year      = {2022}
}

İletişim: destek@ozgurguler.tech


English

Ahenk Cep is a small student of the Ahenk model: 8.6M parameters, 34 MB (fp32), EMA Lightning architecture, one designed female voice (f022, no real person), 48 kHz. On 2 CPU threads it runs at about 0.2 of real time. Weights CC BY 4.0.

Quick start. The code above: AhenkCep(student, decoder).say(text, style="neutral") returns float32 audio and the sample rate. trnorm turns the written text into its spoken form inside say(). The same seed gives different audio on CPU and GPU; the samples above were made on a GPU.

Results (same harness as the big model, measured on one RTX 5060 laptop). TR-Zor WER 2.32 % vs EMA Lightning 2.43 and Antalia-2 Mini 3.30; similarity to the f022 voice 0.62, the same as the teacher. Predicted naturalness is level with EMA on short sentences and below the teacher (3.44 vs 3.69). It is slower than EMA and Antalia on CPU (RTF 0.20 vs 0.13 and 0.08 at 2 threads). Question intonation pass rate 0.60, the best of the four. Blind listening, one listener, 10 sentences: teacher 8, Ahenk Cep 2 (both questions), EMA 0, Antalia 0. Automatic metrics and one listener; no MOS study.

How it was made. Fine-tuned from EMA Lightning's ema.pt on 4.5 h of f022 latents (training from scratch gave 13.4 % WER), mixed 75/25 with the original weights (WiSE-FT), plus a 25-minute decoder fine-tune (similarity 0.48 → 0.62). Cost $0, one laptop GPU.

Limitations. Styles are weak (sad: −1.9 semitones, 8 % slower) and there is no laughter. Questions that should rise at the end do not. Not distilled for phones yet (RTF ~0.2 on 2 threads). Similarity to the teacher is 0.68, below our 0.75 target. Long-text naturalness is below the big model. ema.pt was trained by its authors on ~1000 h of undisclosed data (Apache-2.0); Ahenk Cep derives from it.

Responsible use. Label the output as synthetic (EU AI Act Art. 50); no watermark is built in. No impersonation, no deceptive emotion, no scams or robocalls.

Licence. Weights CC BY 4.0 (EMA Lightning Apache-2.0 + the CC BY Alania data behind the teacher; keep the attribution above). Credit it as "Ahenk Cep, Ahenk (https://github.com/ozguradmin/ahenk-turkish-tts), CC BY 4.0". Code Apache-2.0. Contact: destek@ozgurguler.tech

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ozgurguler/ahenk-cep-tr

Finetuned
(3)
this model

Dataset used to train ozgurguler/ahenk-cep-tr

Space using ozgurguler/ahenk-cep-tr 1