Bugun biz Navoiy TTS modelini ochiq manbaga chiqarishga qaror qildik. Asos sifatida CosyVoice2-0.5B modelini oldik, uni GPU’ga solib, yetarlicha o‘zbekcha audio “masalliqlari” bilan qaynatdik. Natijada o‘zbek tilida yaxshi gapira oladigan text-to-speech modelini yaratishga muvaffaq bo‘ldik.

Model o‘zbekcha matnni neytral yoki ifodali ovozga aylantiradi. Shuningdek, sonlar, sanalar, vaqtlar, apostroflar va o‘zbek kirill yozuvidagi matnlarni tayyorlash uchun normalization utilitasiga ega.

Hech narsa mukammal bo‘lmaganidek, bu modelning ham o‘ziga yarasha kamchiliklari bor. Hamma gap masalliqda: ma’lumotda. Ko‘p va sifatli masalliq bo‘lsa, mazali taom chiqadi.

Nega modelni ommaga ochiq qildik?

Kundalik nutq faqat oddiy so‘zlardan iborat emas. Shuni inobatga olib, model:

  • sonlar, sanalar va vaqtlarni yaxshi o‘qishi;
  • ismlar va atoqli joy nomlarini to‘g‘ri aytishi;
  • lotin va kirill yozuvini tushunishi;
  • tabiiy pauzalar bilan gapirishi;
  • turli gapirish uslublarini qo‘llashi;
  • gap ichidagi ruscha va inglizcha so‘zlarni ayta olishi

uchun tayyorlandi.

Va hokazo. Siz duch keladigan boshqa holatlarni ham hisobga olib, og‘riqli vazifalaringizga yechim berishga harakat qildik.

Bizga tashakkur aytishning eng oson yo‘li: loyihani do‘stlaringiz bilan ulashish. Agar modelimiz loyihangizda qo‘l kelsa, bundan juda xursand bo‘lamiz.

Modellarimizdan foydalanayotganingiz bizni quvontiradi. Nutqni matnga va matnni nutqqa aylantirish modellarimizdan foydalanganingiz uchun minnatdormiz.

Qanday ishlatay?

Bu savolni berib ovora bo‘lmasligingiz uchun modelni quyidagi ketma-ketlikda o‘rnating, sozlang va ishga tushiring. Checkpoint mustaqil ishlamaydi: upstream CosyVoice kodi va CosyVoice2-0.5B bazaviy modeli ham kerak.

1. Avval CosyVoice’ni o‘rnating

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. Keyin Navoiy TTS’ni yuklab oling

git clone https://huggingface.co/aisha-org/navoiy-tts
pip install -r navoiy-tts/requirements.txt

CosyVoice2-0.5B bazaviy modelini model kartasida ko‘rsatilgan revision bilan yuklab oling.

3. Endi ovoz yarating

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.wav

Skript CUDA hisoblash uslubini talab qiladi va 24 kHz audio yaratadi. Barcha mavjud emotsiyalarni ko‘rish uchun --list-emotions buyrug‘idan foydalaning.

Emotsiyalar

Modelimiz calm, happy, sad, angry, nervous, surprised, whisper, warm, tired va sarcastic emotsiyalarini qo‘llab-quvvatlaydi.

Ushbu sozlamalar kutilgan natijani kafolatlamaydi. Yakuniy ovoz matnga, namuna (reference) audioga, modelning checkpoint’iga va tasodifiylik koeffitsiyentiga (random seed) bog‘liq. Tizimni production muhitiga joriy etishdan oldin uni o‘z skriptlaringiz orqali sinab ko‘rishni tavsiya etamiz.

Normalizatsiya

Nutq (TTS) modeli uchun sonlar va sanalarni aytish qiyin bo‘lishi mumkin. Navoiy TTS sizga normalizatsiya modulini ham taqdim etadi:

from uztts.normalize import normalize

print(normalize('Bugun 16.07.2026, soat 14:30 da uchrashamiz.'))

U kirill yozuvini lotinga o‘tkazadi, apostroflarni bir xil ko‘rinishga keltiradi hamda keng tarqalgan sonlar, sanalar, vaqtlar, tartib sonlar va boshqa holatlarni normallashtiradi.

Cheklovlar

Model ismlar, o‘zlashma so‘zlar, qisqartmalar va noodatiy sonlarni noto‘g‘ri talaffuz qilishi mumkin. So‘zlarni takrorlashi, tushirib qoldirishi yoki o‘zgartirishi ham mumkin. Shevalarni va bir necha tilda yozilgan matnlarni o‘qish holatlarini hali to‘liq baholamaganmiz.

Ovozni klonlashdan oldin, ovoz egasining aniq roziligini oling. Modelni taqlid, aldov, firibgarlik, tazyiq yoki ovozni autentifikatsiya qilish (voice authentication) tizimini chetlab o‘tish uchun ishlatmang. Tinglovchi ovozni haqiqiy insonniki deb o‘ylashi mumkin bo‘lgan joyda uning sun’iy ekanini aytib o‘ting.

Xulosa

Navoiy TTS har bir gapning mukammal chiqishini va’da qilmaydi. Bu ishlab chiquvchilar va tadqiqotchilar sinab ko‘rishi, yaxshilashi va yangi mahsulotlar qurishi mumkin bo‘lgan ochiq asosdir.

Modelni Hugging Face’da ko‘ring, demolarni tinglang va tajribangizni ulashing.

Manbalar