Как улучшить синтез с SSML-разметкой
SSML (Speech Synthesis Markup Language) — язык разметки синтеза речи. Позволяет настраивать преобразование текста в речь и делает речь более естественной и выразительной.
SSML базируется на спецификации от W3C .
Доступные функции
- Добавление паузы в текст — тег break.
- Замена произношения на более привычное — тег sub.
- Добавление фонового звука — тег extra.background-audio.
- Правильное произнесение аббревиатур, дат и числительных – тег say-as.
- Управление тоном, интонацией, скоростью и громкостью – тег paint.
- Полное произнесение года — тег extra.fulldate.
- Выделение слова интонацией.
- Ударения в словах.
- Обработка букв е и ё;
- Управление эмоциями;
- Выбор языка синтеза.
Также для синтезируемого текста внутри SSML-разметки поддерживаются различные символы. Подробнее — в разделе Символы и междометия.
Применение SSML-разметки в зависимости от языка синтеза
Поддержка SSML-разметки зависит от выбранного языка синтеза. Некоторые теги доступны только для русского языка или работают с ограничениями на других языках.
Описание тега | Наименование тега | Русский язык | |
---|---|---|---|
Создание шаблона для аудиозаписи | <template id> | Да | Нет |
Паузы в тексте | <break> | Да | Да |
Исправление произношения | <sub alias> | Да | Да |
Фоновые звуки | <extra.background-audio> | Да | Да |
Аббревиатуры, даты, числительные | <say-as> | Да | Нет |
Громкость, скорость, тон | <paint>
(атрибуты: pitch, | Да | Да |
Произнесение года полностью | <extra.fulldate> | Да | Да |
Выделение слова интонацией | * (перед словом) | Да | Да |
Ударения в словах | ' (после ударной гласной) | Да | Нет |
Обработка букв е и ё | ' (после ё ) | Да | Нет |
Управление эмоциями | <voice mode> | Да | Нет |
Как использовать SSML
Если вы используете SSML-разметку, то в заголовке запроса на синтез Content-Type
должно быть значение application/ssml
.
Текст с разметкой размещается в теле запроса в теге speak
, например:
<speak>
Привет!
<break time="200ms" />
Как прошел день?
<break strength="weak" />
<paint speed="2">Все хорошо?</paint>
</speak>
Перед отправкой запроса проверьте правильность оформления текста:
- Все теги закрыты.
- В запросе есть только один верхнеуровневый тег
speak
. - Все атрибуты — в двойных кавычках.
- Символ & экранирован:
&
. - В тексте используются только теги, описанные в данном разделе.
Если при использовании тегов SSML вы получили ошибку, проверьте, что ваш запрос — это корректный XML.
Если запрос выглядит корректным, но все равно не работает — напишите нам на SaluteSpeech@sberbank.ru, указав свой ClientID
.