SSML-розмітка: інтонація та паузи в TTS

Голосові асистенти телефонують клієнтам монотонним роботом — 65% користувачів скидають виклик за перші 5 секунд. **SSML** (Speech Synthesis Markup Language) вирішує цю проблему, даючи точний контроль вимови, пауз, інтонації та темпу. В одному з проєктів для банку ми впровадили SSML-розмітку IVR-сцен

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

Часті запитання

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

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

Голосові асистенти телефонують клієнтам монотонним роботом — 65% користувачів скидають виклик за перші 5 секунд. SSML (Speech Synthesis Markup Language) вирішує цю проблему, даючи точний контроль вимови, пауз, інтонації та темпу. В одному з проєктів для банку ми впровадили SSML-розмітку IVR-сценаріїв — відтік клієнтів на першому кроці знизився з 65% до 38% завдяки природним паузам та акцентам. SSML — це XML-стандарт W3C XML-стандарт W3C, що підтримується всіма великими TTS-провайдерами. Ми реалізуємо SSML-шаблони та генератори під ключ, інтегруючи з Google TTS, Azure, Amazon Polly, Yandex SpeechKit. Оцінимо ваш проєкт за 1 день. Маємо значний досвід, реалізували багато проєктів за голосовими інтерфейсами — гарантуємо якість та підтримку на всіх етапах.

Чому SSML критично важливий для TTS?

Без SSML синтезована мова звучить неприродно: злиті фрази, неправильні наголоси, монотонність. Дослідження показують, що природний голос підвищує утримання клієнтів на 40%. SSML дає точний контроль без заміни TTS-двигуна. Економія для операторів з 10 000 дзвінків за рахунок зниження відтоку. Додатково: правильно розставлені паузи та акценти скорочують середній час діалогу на 12 секунд, що приносить значну економію.

Як SSML допомагає уникнути відтоку клієнтів?

Кожна додаткова секунда утримання підвищує конверсію в цільову дію на 2–3%. SSML дозволяє зробити повідомлення більш людяними: додавання пауз після привітання, зниження темпу при називанні цифр, виділення ключових слів голосом. В IVR-сценаріях це критично — неправильний наголос у прізвищі клієнта може викликати роздратування та скидання. Ми використовуємо словники вимови для імен, адрес та специфічних термінів (наприклад, ТОВ "Ромашка").

Як ми реалізуємо SSML: стек та приклад

Використовуємо Python для генерації SSML-структур. Приклад класу SSMLBuilder дозволяє динамічно створювати розмітку для будь-якого сценарію. Підтримуємо всі сучасні провайдери, додаємо обробку помилок, логування та кастомні словники вимови.

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-шаблони скорочують час розробки в 5 разів порівняно з ручним налаштуванням. Генератор економить 80% часу при зміні сценаріїв. Нижче таблиця підтримки тегів у популярних провайдерів та порівняння статичного та динамічного підходів.

Тег Google Azure AWS Polly Yandex
<break>
<prosody> частково
<say-as> обмежено
<phoneme>
<emphasis>
<lang>
Характеристика Шаблони Генератор
Швидкість змін Низька Висока
Підтримка кастомних сценаріїв Обмежена Повна
Вартість розробки Нижча Вища
Гнучкість Низька Висока

Що входить в роботу

  • Аналіз сценаріїв: аудит поточних голосових потоків, виявлення місць, де SSML дасть найбільший ефект.
  • Проектування SSML-структури: визначення необхідних тегів, створення словників вимови (імена, числа, адреси).
  • Реалізація: написання шаблонів або генератора на Python з підтримкою всіх цільових провайдерів.
  • Документація: повна технічна документація з прикладами використання та інструкціями з інтеграції.
  • Тестування: A/B-тести з реальними TTS-провайдерами, замір конверсії та утримання.
  • Деплой: поставка у вигляді API-модуля, готового до інтеграції через REST або gRPC.
  • Навчання: навчання ваших інженерів роботі з SSML-шаблонами та генератором.
  • Підтримка: гарантійне обслуговування 6 місяців, швидкий зворотний зв'язок по доопрацюванням.

Процес впровадження та строки

  1. Аналіз сценаріїв IVR та поточних TTS-шаблонів.
  2. Проектування SSML-структури: паузи, акценти, словники вимови.
  3. Реалізація: написання шаблонів або генератора на Python.
  4. Тестування з реальними TTS-провайдерами (A/B-тести).
  5. Деплой в вашу інфраструктуру (S3, API Gateway).
  • Розробка SSML-шаблонів для IVR — від 2 до 3 днів.
  • SSML-генератор для динамічних відповідей — від 3 до 5 днів.
  • Інтеграція з існуючими системами — від 1 до 2 днів.

Типові помилки та чек-ліст

  • Забувають закрити тег <speak>.
  • Використовують <break time="500ms"> без дефіса — break без часу.
  • Плутають <say-as> з interpret-as: для чисел digits, для дат date.
  • Не перевіряють підтримку тегів у провайдера (наприклад, Yandex не підтримує <phoneme>).
  • Надмірні <emphasis> — голос стає неприродним.
Приклад базових 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="currency" language="ru-RU">сума</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> 

Отримайте консультацію нашого інженера — підберемо оптимальне рішення під вашу архітектуру. Зв'яжіться з нами для детального аудиту та попередньої оцінки.