Bugün Navoiy TTS modelini açık kaynak olarak yayımlamaya karar verdik. CosyVoice2-0.5B ile başladık, GPU’ya koyduk ve yeterince Özbekçe ses malzemesiyle pişirdik. Ortaya iyi Özbekçe konuşabilen bir metinden sese modeli çıktı.
Model, Özbekçe metni nötr veya ifadeli konuşmaya dönüştürür. Sayıları, tarihleri, saatleri, kesme işaretlerini ve Özbekçe Kiril metnini senteze hazırlayan bir normalleştirme aracı da içerir.
Hiçbir şey mükemmel değil; bu modelin de sınırları var. Her şey malzemelere, yani verilere bağlı. Daha fazla kaliteli malzeme daha iyi sonuç verir.
Modeli neden herkese açtık?
Günlük konuşma yalnızca basit kelimelerden oluşmaz. Bu nedenle model şunlar için hazırlandı:
- sayıları, tarihleri ve saatleri doğru okumak;
- kişi ve yer adlarını doğru telaffuz etmek;
- Latin ve Kiril yazılarını anlamak;
- doğal duraklamalarla konuşmak;
- farklı konuşma tarzlarını desteklemek;
- cümle içindeki Rusça ve İngilizce kelimeleri telaffuz etmek.
Karşılaşabileceğiniz diğer durumları da hesaba katmaya ve bunların getirdiği zor görevleri çözmeye çalıştık.
Bize teşekkür etmenin en kolay yolu projeyi arkadaşlarınızla paylaşmak. Model projenizde işe yararsa çok seviniriz.
Modellerimizi kullandığınızı görmek bizi mutlu ediyor. Konuşmadan metne ve metinden sese modellerimizi kullandığınız için teşekkür ederiz.
Nasıl kullanılır?
Modeli kurmak, yapılandırmak ve çalıştırmak için bu adımları izleyin. Model kontrol noktası tek başına çalışmaz; özgün CosyVoice kodu ve CosyVoice2-0.5B temel modeli de gerekir.
1. Önce CosyVoice’u kurun
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
cd CosyVoice
git checkout 074ca6dc9e80a2f424f1f74b48bdd7d3fea531cc
git submodule update --init --recursive
pip install -r requirements.txt
cd ..2. Navoiy TTS’yi indirin
git clone https://huggingface.co/aisha-org/navoiy-tts
pip install -r navoiy-tts/requirements.txtCosyVoice2-0.5B temel modelini model kartında belirtilen revizyonla indirin.
3. Konuşma oluşturun
python navoiy-tts/inference.py \
--cosyvoice-dir CosyVoice \
--base-model-dir CosyVoice/pretrained_models/CosyVoice2-0.5B \
--checkpoint navoiy-tts/emotion_600h_joint.pt \
--reference reference.wav \
--text "Bugun siz bilan muhim bir xabarni baham ko'rmoqchiman." \
--emotion warm \
--output output.wavBetik CUDA hesaplama desteği gerektirir ve 24 kHz ses üretir. Tüm duyguları görmek için --list-emotions kullanın.
Duygular
Model calm, happy, sad, angry, nervous, surprised, whisper, warm, tired ve sarcastic duygularını destekler.
Bu ayarlar belirli bir sonucu garanti etmez. Son ses; metne, referans sese, model kontrol noktasına ve rastgelelik tohumuna bağlıdır. Sistemi üretimde kullanmadan önce kendi metinlerinizle denemenizi öneririz.
Normalleştirme
Sayı ve tarihleri telaffuz etmek bir metinden sese modeli için zor olabilir. Navoiy TTS bir normalleştirme modülü de sunar:
from uztts.normalize import normalize
print(normalize('Bugun 16.07.2026, soat 14:30 da uchrashamiz.'))Kiril metnini Latin yazısına dönüştürür, kesme işaretlerini standartlaştırır ve yaygın sayıları, tarihleri, saatleri, sıra sayılarını ve diğer durumları normalleştirir.
Sınırlamalar
Model; adları, alıntı kelimeleri, kısaltmaları ve alışılmadık sayıları yanlış telaffuz edebilir. Kelimeleri tekrarlayabilir, atlayabilir veya değiştirebilir. Lehçeleri ve çok dilli metinleri henüz tamamen değerlendirmedik.
Bir sesi klonlamadan önce sahibinin açık rızasını alın. Modeli kimliğe bürünme, aldatma, dolandırıcılık, taciz veya sesli kimlik doğrulamayı aşmak için kullanmayın. Dinleyenlerin gerçek bir kişiye ait sanabileceği durumlarda sesin yapay olduğunu belirtin.
Sonuç
Navoiy TTS her cümlede kusursuz sonuç vaat etmez. Geliştirici ve araştırmacıların deneyebileceği, geliştirebileceği ve yeni ürünler oluşturmak için kullanabileceği açık bir temeldir.
Modeli Hugging Face üzerinde inceleyin, demoları dinleyin ve deneyiminizi paylaşın.
