Разметка синтеза речи
Aimyvoice позволяет размечать синтезируемый т екст, чтобы управлять его звучанием: задавать паузы, ударения, тон и другие особенности произношения. Разметка делает звучание более естественным и выразительным.
Вы можете размечать текст двумя способами:
-
Чтобы расставлять в тексте ударения и паузы, используйте упрощенную разметку при помощи специальных символов и знаков препинания.
-
Чтобы задавать правила произношения отдельных слов, управлять громкостью, стилем и другими характеристиками речи, используйте SSML-теги.
подсказкаSSML (Speech Synthesis Markup Language) — язык разметки синтеза речи, основанный на XML.
Упрощенная разметка
Символ | Равнозначный SSML‑тег | Функция | Пример |
---|---|---|---|
+ | <say-as stress> | Указывает на ударную гласную в слове. Символ ставится после ударной гласной. | На амбаре висел большо+й замо+к. |
# | <emphasis> | Указывает на позицию фразового ударения. Символ ставится перед ударным словом. | Это #вы ожидаете меня? |
- | <break time="50ms"/> | Минимальная пауза. | Станцию — РЛС — ввели в эксплуатацию. |
– или , | <break time="100ms"/> | Короткая пауза. | Предложение — одна из основных единиц языка. |
. ! ? : ; ( ) | <break time="200ms"/> | Длинная пауза. | Через две мили (примерно 4 км.) поле сменилось лесом. |
Поддерживаемые SSML-теги
Тег | Функция |
---|---|
<break> | Добавляет в текст паузу. |
<emphasis> | Задает место фразового ударения в предложении. |
<p> | Добавляет паузу, по длительности равную паузе между абзацами. |
<prosody> | Задает громкость, темп и тон речи. |
<s> | Добавляет паузу, по длительности равную паузе после точки. |
<say-as> | Задает словесное ударение и другие правила озвучивания текста. |
<style> | Изменяет манеру (стиль) речи диктора. |
<sub> | Заменяет звучание слова на другое. |
<break>
Добавляет в текст паузу.
<break>
использован совместно со знаками препинания, то он имеет более высокий приоритет и заменяет другие паузы.Возможные атрибуты:
-
time
— длительность паузы. Указывается в формате<число>s
(в секундах) или<число>ms
(в миллисекундах). Максимальная длительность — 5 секунд.предупреждениеПри значении более 2 секунд фактическая длительность паузы может отличаться от указанной на ±200 миллисекунд. -
breath
— логическое значение 0 или 1. Указывает на необходимость синтеза вдоха в конце паузы. Значение по умолчанию — 0. -
breath_power
— целое или дробное число в диапазоне 0–1. Задает силу вдоха: чем больше значение, тем вдох будет громче. Значение по умолчанию — 0.6. -
breath_dura
— целое или дробное число в диапазоне 0–2. Задает коэффициент изменения длительности вдоха. Значение по умолчанию — 1.предупреждениеЕсли значениеtime
меньше, чем предполагаемая длительность вдоха, то он не будет синтезирован. Сила вдоха зависит от выбранного голоса. Бол ьшие значенияbreath_power
иbreath_dura
могут приводить к синтезу неестественного дыхания или шума.
<break time="0.8s" breath="1" breath_power="0.8" breath_dura="1.2"/>
Мой дядя <break time="1s"/> самых честных правил. <break time="250ms"/> Когда не в шутку занемог.
<break time="0.5s"/> Он уважать себя заставил. И лучше выдумать не мог.
<emphasis>
Задает место фразового ударения в предложении.
Вы также можете обозначить его специальным символом #
перед ударным словом.
Вы сегодня подписываете договор?
Вы <emphasis>сегодня</emphasis> подписываете договор?
#Вы сегодня подписываете договор?
<p>
Добавляет паузу, по длительности равную паузе между абзацами. Пауза после нового абзаца длиннее, чем после точки.
<p>В тё+мно-синем лесу+</p> <p>Где трепещут осины</p>
<p>Где с дубов-колдунов</p> <p>Облетает листва</p>
<prosody>
Задает громкость, темп и тон речи. Тег может быть применен ко всему тексту, его части или отдельному слову, но не к слогу или букве слова.
Возможные атрибуты:
volume
— громкость.rate
— темп.pitch
— основной тон.
Значения атрибутов указываются в процентах от базового значения (100), в диапазоне 50–200.
Голос будет <prosody volume="175">звучать громче.</prosody>
Речь будет <prosody rate="140">произноситься быстрее.</prosody>
Речь будет <prosody rate="75">произноситься медленнее.</prosody>
<prosody pitch="125">Тон голоса будет повышен.</prosody>
<s>
Добавляет паузу, по длительности равную паузе после точки. Пауза после точки короче, чем после нового абзаца.
<s>Нет я не плачу</s> <s>И не рыдаю</s>