Bosh sahifa Wiki SSML

SSML

SSML (Speech Synthesis Markup Language) — matnni speech synthesizer qanday talaffuz qilishi va ohanglantirishini belgilash uchun XML asosida yaratilgan markup tili. Oddiy text mazmunni beradi, SSML esa pauza, talaffuz, tezlik, pitch, ovoz va matnning semantik turiga oid ko‘rsatmalarni qo‘shadi.

Hujjat tuzilishi

SSML hujjatining ildiz elementi odatda <speak> bo‘ladi. XML qoidalari sabab taglar to‘g‘ri yopilishi, attribute qiymatlari qo‘shtirnoqda yozilishi va maxsus belgilar escape qilinishi kerak. Engine qo‘llaydigan SSML versiyasi va namespace providerga bog‘liq bo‘lishi mumkin.

<speak>
  Hisobot <say-as interpret-as="date">2026-07-17</say-as> kuni tayyorlandi.
  <break time="400ms"/>
  <prosody rate="slow">Muhim raqamni takrorlayman.</prosody>
</speak>

<break> jimlik kiritadi. <prosody> rate, pitch yoki volume’ni boshqaradi. <say-as> belgilar ketma-ketligini sana, raqam, vaqt yoki harflar kabi talqin qilishni so‘raydi. <phoneme> phonetic alphabet yordamida aniq talaffuz beradi. <sub> yozilgan ibora o‘rniga boshqa talaffuzni uzatadi.

Talaffuzni boshqarish

Ismlar, qisqartmalar va domain terminlari Text-to-Speech uchun qiyin. <phoneme> IPA yoki engine qo‘llaydigan boshqa alphabet bilan ambiguity’ni kamaytiradi. Biroq phoneme set va til kodi mos bo‘lmasa natija noto‘g‘ri chiqadi. Lexicon katta terminlar to‘plami uchun alohida pronunciation dictionary sifatida qulayroq bo‘lishi mumkin.

Language switching ko‘p tilli jumlada foydali. <lang> bo‘lagi tegishli til modelini tanlashga yordam beradi. Voice elementi speaker yoki voice variantini belgilaydi. Har bir provider barcha element va attribute’ni bir xil qo‘llamaydi; portable hujjat umumiy standard subset’dan foydalanadi va fallback matnni saqlaydi.

Prosody va mazmun

Pauza uzunligi, speaking rate va pitch faqat bezak emas: ular ma’noni o‘zgartirishi mumkin. Juda ko‘p qo‘lda berilgan break nutqni parchalab yuboradi, keskin pitch qiymatlari esa tabiiylikni kamaytiradi. Zamonaviy neural TTS punctuation va context’dan prosody chiqaradi; SSML uning qarorini zarur nuqtalarda cheklaydi.

Paragraph va sentence elementlari text segmentationga signal beradi. Emphasis ayrim so‘zni ajratadi, ammo engine uni volume, duration yoki pitch kombinatsiyasi bilan amalga oshirishi mumkin. Shuning uchun markup akustik natijani mutlaq kafolatlamaydi; u synthesizerga berilgan yuqori darajali ko‘rsatmadir.

Xavfsiz ishlov va test

Foydalanuvchi kiritgan text’dan SSML tuzilsa XML injection ehtimoli mavjud. Input markup sifatida biriktirilmasdan escape qilinadi yoki ruxsat etilgan elementlar ro‘yxati bo‘yicha sanitize qilinadi. Document length, audio duration va nested tag chuqurligiga limit qo‘yish xizmatni ortiqcha resurs sarfidan himoya qiladi.

Testlar XML validity bilan cheklanmaydi. Har bir engine va voice’da acronym, date, currency, telefon raqami, ko‘p tilli matn va boundary qiymatlar tinglanadi. Output cache qilinsa voice versiyasi va SSML ham cache key tarkibiga kiradi. Accessibility tizimida markup screen reader yoki TTS engine tomonidan inkor qilinishi mumkinligi uchun mazmun oddiy matnda ham tushunarli qolishi lozim.

Versiyalash

SSML template application kodi kabi versiyalanadi. Voice yoki provider yangilanganda bir xil markup boshqacha eshitilishi mumkin, shu sabab representative utterance’lar audio regression testidan o‘tadi. Unsupported tag uchun xizmat xato qaytarishi, elementni inkor qilishi yoki fallback talaffuz ishlatishi mumkin. Integratsiya bu uch holatni aniq boshqaradi. Template ichidagi locale, voice identifier va pronunciation lexicon versiyasi deployment konfiguratsiyasida qayd etiladi.

Bog‘liq tushunchalar

Text-to-Speech, XML, Phoneme, Prosody, Pronunciation lexicon, Speech synthesis, Accessibility