Реалізація SSML-розмітки для управління інтонацією та паузами

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Реалізація SSML-розмітки для управління інтонацією та паузами
Простий
від 1 дня до 3 днів
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Реалізація SSML-розмітки для керування інтонацією та паузами SSML (Speech Synthesis Markup Language) - XML-діалект для точного контролю вимови, пауз, інтонації та темпу в TTS. Стандарт W3C підтримується Google TTS, Azure, Amazon Polly, Yandex SpeechKit. ### Базові SSML-теги```xml

Добрый день. Рад вас слышать. Важное объявление!

Ваш заказ 12345 от 01.03.2024 на сумму 1500 RUB.

Компания Beta.

Позвоните сейчас!

Machine learning — ключевая технология.

<mstts:express-as style="customerservice"> Чем могу помочь? </mstts:express-as> ### Генератор SSML для IVRpython from xml.etree.ElementTree import Element, SubElement, tostring

class SSMLBuilder: def init(self, lang: str = "ru-RU"): self.speak = Element("speak", { "version": "1.0", "xmlns": "http://www.w3.org/2001/10/synthesis", "xml:lang": lang })

def add_text(self, text: str) -> "SSMLBuilder":
    self.speak.text = (self.speak.text or "") + text
    return self

def add_pause(self, ms: int) -> "SSMLBuilder":
    br = SubElement(self.speak, "break", {"time": f"{ms}ms"})
    return self

def add_prosody(self, text: str, rate: str = "medium",
                pitch: str = "medium") -> "SSMLBuilder":
    p = SubElement(self.speak, "prosody",
                   {"rate": rate, "pitch": pitch})
    p.text = text
    return self

def build(self) -> str:
    return tostring(self.speak, encoding="unicode")

Использование

ssml = (SSMLBuilder() .add_text("Добрый день! ") .add_pause(300) .add_prosody("Ваш баланс составляет пять тысяч рублей.", rate="slow") .build()) ```### Підтримка SSML за провайдерами | Тег | Google | Azure | AWS Polly | Yandex | |-----|--------|-------|-----------|--------| | <break> | ✓ | ✓ | ✓ | ✓ | | <prosody> | ✓ | ✓ | ✓ | частково | | <say-as> | ✓ | ✓ | ✓ | обмежено | | <phoneme> | ✓ | ✓ | ✓ | - | | <emphasis> | ✓ | ✓ | ✓ | - | | <lang> | ✓ | ✓ | - | - | Терміни: розробка SSML-шаблонів для IVR - 2-3 дні. SSML-генератор для динамічних відповідей – 3–5 днів.