25 августа 2023 , Обновлено 27 августа 2023
SSML (Speech Synthesis Markup Language) - это разметочный язык, который используется для описания текста, предназначенного для синтеза речи нейросетями.
Для чего он? С его помощью можно контролировать интонацию, акценты, произношение, добавлять паузы и другие аудиоэффекты. Это делает сгенерированную речь более живой и выразительной.
Цели использования: Главная цель — придание синтезированной речи естественности и выразительности. Также SSML обеспечивает более точное произношение цифр, дат, номеров телефонов и другой специфической информации.
Кто стоит за этим? SSML была разработана организацией World Wide Web Consortium (W3C), ответственной за стандарты веба.
Какова его миссия? SSML призван стандартизировать и улучшить методы синтеза речи в цифровом пространстве.
Документация по SSML на официальном сайте W3C: https://www.w3.org/TR/speech-synthesis/
Теги SSML обычно обрамляются угловыми скобками, как в HTML. Пример: <speak>текст</speak>.
Как правило, должен быть открывающий и закрывающий тег (исключение - <break>).
Внутри тегов вы можете использовать атрибуты для настройки параметров произношения.
Некоторые теги могут быть вложенными друг в друга.
Синтаксис тегов и атрибутов SSML подчиняется стандарту XML.
Звукограм поддерживает основные популярные SSML-теги. Часть из голосов могут не подчиняться некоторым атрибутам тегов, об этом указано в документации к конкретному параметру.
Далее представлен список основных тегов с ссылкой на подробную документацию по каждому.
Это самый популярный тег на Звукограме. С его помощью можно регулировать длительность паузы.
Основной SSML-тег с множеством настроек - это say-as. Он управляет озвучкой информации различного типа.
<say-as interpret-as="spell-out">банан</say-as>
<say-as interpret-as="cardinal">5</say-as>
Документация по количественным числительным.
<say-as interpret-as="ordinal">3</say-as>
Документация по порядковым числительным.
<say-as interpret-as="fraction">1/2</say-as>
<say-as interpret-as="date" format="dmy" detail="1">5/7/24</say-as>
Документация по произношению дат.
<say-as interpret-as="time">13:45</say-as>
Документация по озвучке времени.
<say-as interpret-as="telephone">88005557778</say-as>
<say-as interpret-as="currency">99 CHF</say-as>
Это <say-as interpret-as="bleep">цензурное</say-as> слово
Документация по запикиванию цензурой.
Alias является значением тега sub. С его помощью одно слово можно прочитать другим. Часто длинные названия им оформляют в аббревиатуру.
<sub alias="МИД">Министерство иностранных дел</sub>
Этот тег управляет тоном, громкостью и скоростью озвучивания. Применяется только к целому предложению.
<prosody pitch="-2st" rate="fast" volume="+3dB">Это пример с комбинированными настройками.</prosody> <prosody pitch="-4st" rate="fast">Например тут у меня высота на 4 полут+она ниже, скорость быстрая, а громкость обычная .</prosody> <prosody pitch="+5st" rate="slow" volume="-8dB">А тут у меня высота на 5 полут+она выше, скорость тихая, а громкость на 8 децибел ниже.</prosody>
Emphasis - это упрощённая версия Prosody. Также применяется только к предложению целиком.
Это самый мощный способ коррекции произношения. При помощи международного фонетического словаря можно записать произношение слова по звукам. Посмотрите пример.
<phoneme alphabet="ipa" ph="nʲɪkˈitʲənko">Никитенко</phoneme>