Skip to content

SSML: краткая инструкция

Elizaveta edited this page Jun 29, 2023 · 2 revisions

SSML

SSML (Speech Synthesis Markup Language) - это язык разметки, который используется для управления синтезом речи. Он предоставляет возможности для задания различных эффектов и параметров воспроизведения текста.

Пример

ssml_sample = """
              <speak>
              <p>
                  Когда я просыпаюсь, <prosody rate="x-slow">я говорю довольно медленно</prosody>.
                  Потом я начинаю говорить своим обычным голосом,
                  <prosody pitch="x-high"> а могу говорить тоном выше </prosody>,
                  или <prosody pitch="x-low">наоборот, ниже</prosody>.
                  Потом, если повезет – <prosody rate="fast">я могу говорить и довольно быстро.</prosody>
                  А еще я умею делать паузы любой длины, например две секунды <break time="2000ms"/>.
                  <p>
                    Также я умею делать паузы между параграфами.
                  </p>
                  <p>
                    <s>И также я умею делать паузы между предложениями</s>
                    <s>Вот например как сейчас</s>
                  </p>
              </p>
              </speak>
              """

sample_rate = 48000
speaker = 'xenia'              
audio = model.apply_tts(ssml_text=ssml_sample,
                        speaker=speaker,
                        sample_rate=sample_rate)

Основные тэги SSML

speak

Основной тэг. Весь текст синтезируемой речи должен находиться внутри этого элемента.

Пример

<speak>Привет. я бот-психолог</speak>

break

Тэг break позволяет добавить паузы в тексте синтезируемой речи. Опции:

  • time - позволяет указать продолжительность паузы в секундах или миллисекундах (например, 500ms или 5s)
  • strength - по умолчанию значение medium. Возможные значения: x-weak, weak, medium, strong, x-strong (например, <break strength="x-weak"/>)

Пример

<speak>
    Пауза длиной в три секунды<break time="3s"/>
    После этого речь продолжается.
</speak>

prosody

Тэг prosody позволяет контролировать параметры воспроизведения, такие как высоту тона и скорость. Опции:

  • rate- позволяет изменить скорость воспроизведения. Возможные значения: x-slow, slow, medium, fast, x-fast
  • pitch - позволяет повысить или понизить тон (высоту) речи. Возможные значения: x-low, low, medium, high, x-high

Тэг prosody можно комбинировать с другими, а также rate и pitch можно комбинировать между собой.

Пример

<speak>
    Когда я просыпаюсь, <prosody rate="x-slow">я говорю довольно медленно</prosody>.
    Потом я начинаю говорить своим обычным голосом, <prosody pitch="x-high">а могу говорить тоном выше.</prosody>
    <prosody pitch="x-high" rate="x-slow"> Могу говорить медленно высоким тоном.</prosody>
</speak>

p

Тэг p позволяет добавить дополнительные паузы между абзацами. Эквивалентен x-strong паузе.

Пример

<speak>                                         
    <p>Первый параграф.</p>       
    <p>Второй параграф.</p>
</speak>

s

Тэг s позволяет добавить дополнительные паузы между предложениями. Эквивалентен strong паузе.

Пример

<speak>                                         
    <s>Первое предложение.</s><s>Второе предложение.</s>
</speak>