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

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Реализация SSML-разметки для управления интонацией и паузами
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1240
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1167
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    867
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1084
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    829

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

SSML (Speech Synthesis Markup Language) — XML-диалект для точного контроля произношения, пауз, интонации и темпа в TTS. Стандарт W3C, поддерживается Google TTS, Azure, Amazon Polly, Yandex SpeechKit.

Базовые SSML-теги

<speak>
  <!-- Пауза -->
  Добрый день. <break time="500ms"/> Рад вас слышать.

  <!-- Скорость и тональность -->
  <prosody rate="slow" pitch="+2st" volume="loud">
    Важное объявление!
  </prosody>

  <!-- Произношение чисел, дат, аббревиатур -->
  Ваш заказ <say-as interpret-as="digits">12345</say-as>
  от <say-as interpret-as="date" format="dd.MM.yyyy">01.03.2024</say-as>
  на сумму <say-as interpret-as="currency" language="ru-RU">1500 RUB</say-as>.

  <!-- Фонетическое произношение -->
  Компания <phoneme alphabet="ipa" ph="ˈbɛtə">Beta</phoneme>.

  <!-- Акцент на слове -->
  Позвоните <emphasis level="strong">сейчас</emphasis>!

  <!-- Переключение языка -->
  <lang xml:lang="en-US">Machine learning</lang> — ключевая технология.

  <!-- Эффекты для телефонии (Azure) -->
  <mstts:express-as style="customerservice">
    Чем могу помочь?
  </mstts:express-as>
</speak>

Генератор SSML для IVR

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 дней.