- ONNX tabanlı,
State-of-the-art hafif metinden konuşmaya (TTS) kütüphanesi; yalnızca CPU ile yüksek kaliteli konuşma sentezi gerçekleştirir
- Model boyutu 15M~80M parametre (25~80MB) aralığındadır ve GPU olmadan da verimli çalışabilir
- 8 yerleşik ses, hız ayarı, metin ön işleme hattı ve 24kHz ses çıkışı özellikleri sunar
- Hugging Face üzerinden doğrudan kullanılabilir ve Python API ile kolayca entegre edilebilir
- Uç cihazlara dağıtım ve ticari entegrasyon desteğini hedefleyen açık kaynaklı bir TTS çözümüdür
Kitten TTS genel bakış
- Kitten TTS, ONNX tabanlı açık kaynaklı bir TTS kütüphanesidir ve GPU olmadan CPU üzerinde yüksek kaliteli konuşma sentezi yapar
- Model boyutu 15M~80M parametre, disk üzerinde ise 25~80MB'dir
- 0.8 sürümünde 15M, 40M ve 80M modeller sunulmaktadır
- Şu anda geliştirici önizleme aşamasındadır ve API gelecekte değişebilir
- Ticari destek (entegrasyon desteği, özel sesler, kurumsal lisans) sağlanır
Temel özellikler
- Son derece hafif yapı: int8 tabanında 25MB'den başlar ve uç ortam dağıtımları için uygundur
- CPU optimizasyonu: GPU olmadan da verimli ONNX çıkarımı gerçekleştirir
- 8 yerleşik ses: Bella, Jasper, Luna, Bruno, Rosie, Hugo, Kiki, Leo
- Hız ayarlama özelliği: konuşma hızını
speed parametresiyle kontrol eder
- Metin ön işleme hattı: sayıları, para birimlerini, birimleri vb. otomatik işler
- 24kHz çıkış: standart örnekleme oranında yüksek kaliteli ses üretir
Sunulan modeller
- Dört model sunulmaktadır
- kitten-tts-mini (80M, 80MB)
- kitten-tts-micro (40M, 41MB)
- kitten-tts-nano (15M, 56MB)
- kitten-tts-nano (int8, 15M, 25MB)
- Bazı kullanıcılar
kitten-tts-nano-0.8-int8 modelinde sorun bildirmiştir; issue açılması önerilir
Demo ve kullanım
- Hugging Face Spaces üzerinde tarayıcıdan doğrudan denenebilir
- Python 3.8 ve üzeri ile yalnızca pip kullanılarak kurulabilir
- Temel kullanım örneği:
from kittentts import KittenTTS
model = KittenTTS("KittenML/kitten-tts-mini-0.8")
audio = model.generate("텍스트", voice="Jasper")
- Gelişmiş özellikler: hız ayarı (
speed), dosyaya kaydetme (generate_to_file), kullanılabilir ses listesini sorgulama
API yapısı
KittenTTS(model_name, cache_dir=None)
- Modeli Hugging Face Hub üzerinden yükler
model.generate(text, voice, speed, clean_text)
- Metni 24kHz sese dönüştürür
model.generate_to_file(text, output_path, voice, speed, sample_rate, clean_text)
- Sentezlenen sesi doğrudan dosyaya kaydeder
model.available_voices
- Kullanılabilir ses listesini döndürür
Sistem gereksinimleri
- İşletim sistemi: Linux, macOS, Windows
- Python: 3.8 ve üzeri
- Donanım: Yalnızca CPU gerekir, GPU gerekli değildir
- Disk alanı: modele bağlı olarak 25~80MB
- Sanal ortam (venv, conda vb.) kullanılması önerilir
Yol haritası
- Çıkarım motoru optimizasyonu, mobil SDK, yüksek kaliteli modeller, çok dilli TTS, KittenASR planlanıyor
- Apache License 2.0
1 yorum
Hacker News yorumları
Kitten TTS için CLI sarmalayıcısı olan purr'u yaptım
kitten paketi kittentts → misaki[en] → spacy-curated-transformers şeklinde bir bağımlılık zincirine sahip
Bu yüzden
uvile doğrudan kurunca torch ve NVIDIA CUDA paketlerini (birkaç GB) çekiyor, ama bunlar aslında çalıştırmak için gerekmiyorİlk çalıştırmada “OSError: PortAudio library not found” hatasını aldım, ama
apt install libportaudio2ile çözdümYalnız gereksiz bağımlılıkları kaldırırken herhangi bir işlev kaybı olup olmadığını merak ediyorum
Gerçekten harika bir proje
Yakında kendim deneyeceğim
Ama bir şey merak ediyorum — neden komut satırı çalıştırılabilir dosyası olarak dağıtılmadı?
API de neredeyse manpage tarzında, o yüzden hızlıca yapılabilirmiş gibi duruyor. Sadece merak ettim
Önce onnx sürümü için geri bildirim almak, sonra da komut satırı çalıştırılabilir dosyasını ekleyerek çalıştırma sürecini basitleştirmek istiyorum
OpenClaw'da hoşuma giden şey, Discord'da sadece GitHub URL'si gönderince hemen sesli mesaj üretebilmesiydi
Birkaç dakika içinde benchmark ve örnek sesleri de aldım
Kalite boyutuna göre etkileyici. Ses mükemmel değil ama kötü de değil
Intel 9700 CPU'da 80M model için yaklaşık 1.5x gerçek zaman hızındaydı, 3080 GPU'da da daha hızlı değildi
Şu anda ifadeyi göstermek için anime tarzı bir ses ekledim
GPU'da neden yavaş olduğunu GitHub issue ya da Discord üzerinden paylaşırsan iyi olur. Örnek kod da ekleyeceğim
Python sürüm çakışmalarını önlemek için uğraştım, Docker ile de denedim ama sonunda elle kurmam gerekti
Sonunda çalıştı ama Python'dan gerçekten nefret ediyorum
Şu an yalnızca Amerikan aksanı destekleniyor gibi görünüyor
Benim kişisel olarak ilgilendiğim aksanlar İrlanda, Birleşik Krallık ve Galler aksanları. Amerikan aksanını pek sevmiyorum
Cihaz üzerinde çalışan TTS, erişilebilirlik aracı olarak gerçekten harika
Çoğu cihaz çevrimiçi servislere bağımlı, böyle yerel bir yaklaşım çok daha iyi
Önceki modellere göre çok daha belirgin bir iyileşme hissediliyor
Gerçekten etkileyici. Paylaştığın için teşekkürler
Şu anda 15M model eski 80M modelden daha iyi ve bu gelişim hızını sürdürmeyi planlıyorum
İleride yalnızca Japonca için bir model de görmek isterim
Qwen3-tts Japoncayı destekliyor ama bazen içine Çince karışıyor, bu yüzden kullanamıyorum
Ama bunu yaparsan perde bilgisi (ör. 飴 vs 雨) kaybolabilir
Kullanım senaryolarını paylaşırsan kaliteyi iyileştirmede dikkate almak isterim
Model boyutuna göre performansı etkileyiciydi
Ama sayıların telaffuzunda sorun vardı
“Startup finished in 135 ms.” denedim ve sayı gürültü gibi çıktı
“one hundred and thirty five seconds” olarak değiştirince biraz daha iyi oldu
O zamana kadar metin ön işleme ekleyerek çözülebilir
Çoğu TTS modeli sayıları ve birimleri metne çevirerek bunu ele alıyor
Bir sonraki sürümde model tarafında da düzeltilecek
Dört modeli karşılaştıran örnek sesleri birlikte göstermek iyi olurdu
Her modelin aynı cümleyi okuduğu örnekler olsa anlamak daha kolay olurdu
O zamana kadar modelleri Hugging Face demosunda doğrudan deneyebilirsin
Bunun açık kaynak mı yoksa açık ağırlıklı bir model mi olduğunu merak ediyorum
Bu hafta sonuna kadar MIT lisanslı bir phonemizer da eklemeyi planlıyorum, böylece özgürce kullanılabilecek