Как улучшить синтез с 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.