/ Модель

Характеристики

Лицензия
CC BY-NC 4.0
Опубликована
11 сен 2026

Anka-TTS

Синтез речиТекст → аудио3 профессии

Anka TTS — модель на базе F5-TTS для синтеза турецкой речи и клонирования голоса по референсной записи.

2 128скачиваний за 30 дней7лайковвеса обновлены30 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Anka TTS v0.1, krmkayabasi tarafından geliştirilen Türkçe konuşma sentezi modeli; metinden konuşma üretir ve referans ses kaydı ile dökümünü koşul olarak kullanarak sıfır örnekli ses klonlama yapar. Model yaklaşık 336 milyon parametreye sahiptir ve F5-TTS mimarisini, DiT ile flow matching yaklaşımını kullanır.

Модель рассчитана на синтез турецкой речи, создание речи голосом по референсной записи и обработку длинных текстов с разбиением по границам предложений. Перед синтезом текст нормализуется, включая числа, даты и сокращения. В описанном тесте на 495 турецких предложениях модель показала WER 1,73% при скорости 1,0; эта метрика отражает разборчивость речи распознавателем и не измеряет естественность звучания или сходство клонированного голоса.

Для использования весов применяется формат safetensors. Лицензия CC BY-NC 4.0 разрешает использование с указанием авторства, но запрещает коммерческое применение. Модель предназначена для турецкого языка; результаты бенчмарка зависят от настроек и использованного референсного аудио.

Сценарии применения

  • синтез турецкой речи из текста
  • создание речи с заданным голосом по аудиозаписи и её расшифровке
  • озвучивание длинных текстов с паузами между предложениями и абзацами
  • нормализация чисел, дат и сокращений для последующего синтеза речи

Ограничения

Бенчмарк оценивает разборчивость через WER и CER, но не естественность речи и не сходство клонированного голоса; результаты зависят от референсной записи и настроек. Для длинных текстов аудио синтезируется отдельными фрагментами на границах предложений.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Anka TTS v0.1

English · Türkçe

Turkish speech synthesis and zero-shot voice cloning. Anka TTS uses the F5-TTS architecture and was trained on Turkish speech data. On a 495-sentence Turkish test set it scores 1.73% WER, the lowest of the eight systems measured. That is ASR intelligibility; it is not a claim about naturalness or about how closely a cloned voice matches its reference.

Website · PyPI

ArchitectureF5-TTS · DiT + flow matching
Parameters336M
LanguageTurkish
Fine-tuning260,000 steps
Output24 kHz · mono

Quickstart

pip install "anka-tts[tts]"
from anka import AnkaTTS

tts = AnkaTTS.from_pretrained("anka-tts/v0.1", device="cuda")  # or "mps", "cpu"

There are two ways to give it a voice:

1. Built-in voices. No reference needed. Two voices ship with the package: male (the default) and female.

wav = tts.synthesize("2026'da toplantı 14:30'da mı?")                   # male
wav = tts.synthesize("2026'da toplantı 14:30'da mı?", voice="female")
tts.save_wav(wav, "cikti.wav")

2. Your own voice. Zero-shot cloning from a 7-9 second reference recording and its transcript.

tts.add_voice("anlatici", "referans.wav", "Bugün İstanbul'da hafif bir rüzgar var.")
wav = tts.synthesize("2026'da toplantı 14:30'da mı?", voice="anlatici")
tts.save_wav(wav, "cikti.wav")

A registered voice stays available in later sessions. For a one-off, skip the registry: tts.synthesize(text, ref_audio="referans.wav", ref_text="...").

The weights download on the first from_pretrained call. The model runs on CUDA, MPS and CPU behind the same interface, and the output follows the same contract every time: 24 kHz, mono, reproducible with a fixed seed.

Samples

Both clips were synthesized with the defaults, in a single take, each conditioned on a built-in voice. These recordings predate the current voices: the built-in male and female were replaced with shorter clips, which measure better. What the model does with a reference is unchanged; the voices you hear here are simply not the ones that ship today.

male — reference, 8.2 s:

Output, "Toplantı 15.03.2026'da saat 14:30'da başlıyor.":

female — reference, 8.1 s:

Output, "Dr. Ayşe Yılmaz'ın raporuna göre üretim %12 arttı.":

More samples: anka.krmkayabasi.com

Benchmark

Eight systems under one billion parameters, one test. Lower is better for WER and CER; RTF is generation time over audio duration, lower is better there too.

#SystemParamsReference audioWER %CER %RTF
1Anka TTS336M✓1.73 ± 0.050.41 ± 0.050.160
2Chatterbox MTL500M✓1.84 ± 0.200.41 ± 0.080.379
3Piper (tr, dfki)16M✗3.220.710.065
4XTTS-v2 (base)470M✓3.34 ± 0.381.33 ± 0.200.140
5MMS-TTS (tr)36M✗6.411.520.015
6Coqui GlowTTS (tr)28M✗10.752.920.016
7FreyaTTS183M✗12.024.950.119
8F5 base (no Turkish)336M✓77.84 ± 0.1332.58 ± 0.540.146

Setup: Freya Eval TR, 495 sentences, synthesized three times per system and averaged · ASR faster-whisper large-v3 (fp16, tr, beam 5) · 8 kHz band-matched · every system that takes a reference is given the same one: the male voice this package ships. The harness is in the repository under eval/.

WER and CER are means over three independent runs, ± the sample standard deviation across them; a row with no ± takes no reference clip and is deterministic, so it was run once. RTF was measured separately on an RTX 4090, one system at a time over every 5th sentence, so that one number in the column is not a faster card than the next.

The benchmark was run at speed=1.0 for every system. The package itself defaults to speed=0.85, which on the same set scores 1.50% WER, 0.31% CER — the figure a user obtains without passing any arguments.

Anka and Chatterbox are nominally separated but their intervals overlap, so this test does not distinguish them. VoxCPM2 was dropped from the comparison: at 2B it sits outside the class, and it generated the reference clip itself.

What the numbers cover, and what they do not

Text handling. Each system is handed the raw sentence and runs whatever text frontend it ships with. Anka and F5 base have no Turkish frontend of their own, so both are given anka.text.normalize. On this set the rule barely applies: the 495 sentences contain no digit and no abbreviation, and the normalizer changes 6 of them, each by dropping an apostrophe before a suffix.

Training overlap: none. Across the 79,375-line training corpus (1.75M distinct 5-grams), not one test sentence shares a single 5-gram with it. 0 of 495, at both 5-gram and 8-gram.

The reference clip is not a neutral input, and this one suits Anka. Every cloner is given the same file, but its 7.2 s length is calibrated to Anka's generation window. Replacing the previous 8.17 s clip with this one lowered Anka's WER from 2.15 to 1.50 and raised Chatterbox's from 1.50 to 1.84. No system gets a different input; the input does favour one architecture.

Settings. Every baseline runs at its published defaults, and no hyperparameter sweep was run for any of them. The table is measured at speed=1.0, which is F5's own value, rather than the 0.85 the package selected on this set.

F5 base is an ablation, not a competitor. Same architecture, same 336M parameters, no Turkish adaptation. It shows what the fine-tune buys, and its 77.84% inflates the spread of the table it is listed in.

Not measured here: prosody, naturalness, and speaker similarity. The last one matters: a model that leans less on the reference and drifts toward an average voice tends to score better on WER, so this table does not reward cloning fidelity.

What it does

  • Your own voice. The model takes a reference recording and its transcript as conditioning and derives the voice character from them. No fine-tuning, LoRA or GPU hours. Several voices can be registered in one session and switched with voice=; without a reference, the built-in male voice speaks.
  • Long text. The model generates a limited span of audio per pass, and the reference takes up part of that window. Long texts are split at sentence boundaries and synthesized separately, with a measured silence between them: the seam lands at the end of a sentence, never in the middle. Pauses get longer at paragraph breaks (sentence_pause=0.15, paragraph_pause=0.45).
  • Text normalization. Before it reaches the model, text passes through a normalization layer: numbers, dates, abbreviations and suffixes are rewritten the way they are spoken. 15.03.2026'da → on beş mart iki bin yirmi altıda.

Reference audio guide

The reference recording decides the cloning result more than the model or the parameters. A long reference takes its share of the generation window; a short one does not give the model enough of the voice. Seven to nine seconds is the band between the two.

goodbad
Duration7-9 s< 5 s the model cannot read the voice, > 12 s gets clipped
Contenta full sentence ending on falling intonationa fragment cut from mid-sentence
Transcriptpunctuated, word for wordunpunctuated, approximate, incomplete
Recordingone speaker, quiet room, 24 kHz+noise, music, reverb, 16 kHz
Levelnormal recording levelnormalized afterwards, which raises the noise floor

Files

file
model.safetensorsmodel weights
vocab.txtthe character vocab the model was trained with (also shipped inside anka-tts)
samples/the reference and output clips played on this card

License

The weights are CC-BY-NC-4.0: free for personal, hobby and research use; commercial use is not permitted. The anka-tts code is Apache-2.0, which does not extend to these weights.

Commercial licensing. For information about licensing the model for commercial use, contact info@krmkayabasi.com.

Clone a voice only with the consent of its owner.


Anka TTS v0.1 (Türkçe)

English · Türkçe

Türkçe konuşma sentezi ve zero-shot ses klonlama. Anka TTS, F5-TTS mimarisini kullanıyor ve Türkçe konuşma verisiyle eğitildi. 495 cümlelik Türkçe testte WER %1,73 ile ölçülen sekiz sistemin en düşüğü. Bu ASR anlaşılırlığıdır; doğallık ya da klonlanan sesin referansa benzerliği hakkında bir iddia değil.

Web sitesi · PyPI

MimariF5-TTS · DiT + flow matching
Parametre336M
DilTürkçe
İnce ayar260.000 adım
Çıktı24 kHz · mono

Hızlı başlangıç

pip install "anka-tts[tts]"
from anka import AnkaTTS

tts = AnkaTTS.from_pretrained("anka-tts/v0.1", device="cuda")  # ya da "mps", "cpu"

Modele ses vermenin iki yolu var:

1. Hazır sesler. Referans gerekmez. Pakette iki ses geliyor: male (varsayılan) ve female.

wav = tts.synthesize("2026'da toplantı 14:30'da mı?")                   # male
wav = tts.synthesize("2026'da toplantı 14:30'da mı?", voice="female")
tts.save_wav(wav, "cikti.wav")

2. Kendi sesiniz. 7-9 saniyelik bir referans kaydı ve transkriptiyle zero-shot klonlama.

tts.add_voice("anlatici", "referans.wav", "Bugün İstanbul'da hafif bir rüzgar var.")
wav = tts.synthesize("2026'da toplantı 14:30'da mı?", voice="anlatici")
tts.save_wav(wav, "cikti.wav")

Kaydedilen ses sonraki oturumlarda da kullanılabilir. Tek seferlik kullanımda kayda gerek yok: tts.synthesize(metin, ref_audio="referans.wav", ref_text="...").

Ağırlıklar ilk from_pretrained çağrısında iner. Model CUDA, MPS ve CPU üzerinde aynı arayüzle çalışır; çıktı her seferinde aynı sözleşmeye uyar: 24 kHz, mono, sabit seed ile yeniden üretilebilir.

Örnekler

İki klip de varsayılan ayarlarla, tek denemede üretildi; her biri gömülü bir sesle koşullandırıldı. Bu kayıtlar mevcut seslerden eski: gömülü male ve female, ölçümde daha iyi sonuç veren daha kısa kliplerle değiştirildi. Modelin referansla yaptığı iş aynı; buradaki sesler yalnızca bugün pakette gelenler değil.

male — referans, 8,2 sn:

Çıktı, "Toplantı 15.03.2026'da saat 14:30'da başlıyor.":

female — referans, 8,1 sn:

Çıktı, "Dr. Ayşe Yılmaz'ın raporuna göre üretim %12 arttı.":

Daha fazla örnek: anka.krmkayabasi.com

Ölçüm

Bir milyar parametre altındaki sekiz sistem, aynı test. WER ve CER'de düşük olan iyi; RTF üretim süresinin ses süresine oranı, orada da düşük olan iyi.

#SistemParametreReferans sesWER %CER %RTF
1Anka TTS336M✓1,73 ± 0,050,41 ± 0,050,160
2Chatterbox MTL500M✓1,84 ± 0,200,41 ± 0,080,379
3Piper (tr, dfki)16M✗3,220,710,065
4XTTS-v2 (base)470M✓3,34 ± 0,381,33 ± 0,200,140
5MMS-TTS (tr)36M✗6,411,520,015
6Coqui GlowTTS (tr)28M✗10,752,920,016
7FreyaTTS183M✗12,024,950,119
8F5 base (Türkçe yok)336M✓77,84 ± 0,1332,58 ± 0,540,146

Koşullar: Freya Eval TR, 495 cümle, her sistem üç kez sentezlenip ortalandı · ASR faster-whisper large-v3 (fp16, tr, beam 5) · 8 kHz band-matched · referans alan her sistem aynı klibi aldı: bu paketle gelen male sesi. Ölçüm betiği depoda eval/ altında.

WER ve CER üç bağımsız koşunun ortalaması, yanındaki ± aralarındaki standart sapma; ± taşımayan satırlar referans ses almayan ve deterministik çalışan sistemler, onlar bir kez koşuldu. RTF ayrıca ölçüldü: RTX 4090'da, her sistem kartı tek başına alarak, her 5. cümle üzerinden — böylece sütundaki bir sayı diğerinden daha hızlı bir kart olmuyor.

Ölçümler bütün modeller için speed=1.0 ile gerçekleştirildi. Paketin kendi varsayılanı speed=0.85 ve aynı sette WER %1,50, CER %0,31 veriyor — kullanıcının hiçbir argüman geçmeden aldığı sonuç budur.

Anka ile Chatterbox sayısal olarak ayrışıyor ama güven aralıkları çakışıyor, yani bu test ikisini birbirinden ayırmıyor. VoxCPM2 karşılaştırmadan çıkarıldı: 2B ile sınıfın dışında, üstelik referans klibi kendisi üretti.

Sayıların kapsadığı ve kapsamadığı

Metin işleme. Her sisteme ham cümle veriliyor ve her biri kendi metin frontend'iyle çalışıyor. Anka ile F5 base'in Türkçe frontend'i yok, ikisine de anka.text.normalize uygulanıyor. Bu sette kuralın karşılığı çok küçük: 495 cümlede hiç rakam ve kısaltma yok, normalizer 6 cümleye dokunuyor, o da ekten önceki kesme işaretini atarak.

Eğitim örtüşmesi: yok. 79.375 satırlık eğitim korpusunda (1,75 milyon farklı 5-gram) hiçbir test cümlesi tek bir 5-gram'ı bile paylaşmıyor. 495'te 0, hem 5-gram hem 8-gram için.

Referans klibi nötr bir girdi değil ve bu klip Anka'ya uygun. Referans alan her sisteme aynı dosya veriliyor, ama 7,2 saniyelik uzunluğu Anka'nın üretim penceresine kalibre. Önceki 8,17 saniyelik klip bununla değiştirilince Anka'nın WER'i 2,15'ten 1,50'ye indi, Chatterbox'ınki 1,50'den 1,84'e çıktı. Hiçbir sistem farklı bir girdi almıyor; ama girdi bir mimariyi kayırıyor.

Ayarlar. Bütün baseline'lar yayınlanmış varsayılanlarıyla koştu, hiçbirine hiperparametre taraması yapılmadı. Tablo speed=1.0 ile ölçüldü, yani F5'in kendi değeriyle; paketin bu sette seçtiği 0,85 ile değil.

F5 base bir ablasyon, rakip değil. Aynı mimari, aynı 336M parametre, Türkçe uyarlaması yok. İnce ayarın ne kazandırdığını gösteriyor; %77,84'ü, içinde listelendiği tablonun yayılımını şişiriyor.

Burada ölçülmeyenler: prozodi, doğallık ve konuşmacı benzerliği. Sonuncusu önemli: referansa daha az bağlanıp ortalama bir sese kayan model WER'de genellikle daha iyi sonuç alır, yani bu tablo klonlama sadakatini ödüllendirmiyor.

Neler yapıyor

  • Kendi sesiniz. Model referans kaydı ile transkriptini koşul olarak alıp ses karakterini oradan çıkarıyor. İnce ayar, LoRA ya da GPU saati gerekmiyor. Aynı oturumda birden çok ses tanımlanabiliyor, geçiş voice= ile oluyor; referans verilmezse pakette gelen male sesi konuşuyor.
  • Uzun metin. Model tek geçişte sınırlı uzunlukta ses üretiyor ve referans bu pencerenin bir kısmını kaplıyor. Uzun metinler cümle sınırlarından bölünüp ayrı sentezleniyor, aralarına ölçülü bir sessizlik konuyor; dikiş cümlenin ortasına değil sonuna düşüyor. Paragraf geçişlerinde duraklama uzuyor (sentence_pause=0.15, paragraph_pause=0.45).
  • Metin normalizasyonu. Metin modele girmeden önce bir normalizasyon katmanından geçiyor: sayılar, tarihler, kısaltmalar ve ekler okunuşa çevriliyor. 15.03.2026'da → on beş mart iki bin yirmi altıda.

Referans ses kılavuzu

Klonlama sonucunu belirleyen şey referans kaydı; modelden de parametrelerden de daha çok. Uzun referans üretim penceresinden pay alıyor, kısa referans ise modele ses karakterini yeterince vermiyor. 7-9 saniye ikisinin arasındaki bant.

iyikötü
Süre7-9 sn< 5 sn model sesi tanıyamaz, > 12 sn kırpılır
İçerikdüşen tonlamayla biten tam cümlecümle ortasından kesilmiş parça
Transkriptnoktalamalı, birebir söylenennoktalamasız, yaklaşık, eksik
Kayıttek konuşmacı, sessiz ortam, 24 kHz+gürültü, müzik, yankı, 16 kHz
Seviyenormal kayıt seviyesisonradan normalize edilmiş, taban gürültüsü yükselir

Dosyalar

dosya
model.safetensorsmodel ağırlıkları
vocab.txtmodelin eğitildiği karakter seti (anka-tts içinde de geliyor)
samples/bu karttaki referans ve çıktı kayıtları

Lisans

Ağırlıklar CC-BY-NC-4.0: kişisel, hobi ve araştırma amaçlı kullanım serbest; ticari kullanım yasak. anka-tts kodu Apache-2.0'dır ve bu lisans ağırlıkları kapsamaz.

Ticari lisans. Modeli ticari olarak lisanslama hakkında bilgi almak isteyenler info@krmkayabasi.com adresinden ulaşabilir.

Bir sesi yalnızca sahibinin izniyle klonlayın.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
7b71e8c

0 моделей