Синтез речи из текста в формате SSML с помощью API v1

С помощью API v1 можно синтезировать речь из текста, размеченного по правилам SSML, в файл формата OggOpus.

В примере заданы следующие параметры синтеза:

  • язык — русский;
  • голосjane;
  • остальные параметры оставлены по умолчанию.

Считывание текстового файла выполняется с помощью утилиты cat.

Аутентификация происходит от имени аккаунта на Яндексе или федеративного аккаунта с помощью IAM-токена. Если вы используете сервисный аккаунт, передавать в запросе идентификатор каталога не нужно. Подробнее об аутентификации в API SpeechKit см. Аутентификация в API SpeechKit.

  1. Создайте файл, например text.xml, и напишите в нем текст в формате SSML:

    <speak>
              Вот несколько примеров использования SSML.
              Вы можете добавить в текст паузу любой длины:<break time="2s"/> та-дааам!
              Или разметить текст на параграфы и предложения. Паузы между параграфами длиннее.
              <p><s>Первое предложение</s><s>Второе предложение</s></p>
              А еще вы можете подменять фразы.
              Например, чтобы произносить аббревиатуры и <sub alias="тому подобное">т.п.</sub>
            </speak>
            
  2. Отправьте запрос с текстом на сервер:

    export FOLDER_ID=<идентификатор_каталога>
            export IAM_TOKEN=<IAM-токен>
            curl \
              --request POST \
              --header "Authorization: Bearer ${IAM_TOKEN}" \
              --data-urlencode "ssml=`cat text.xml`" \
              --data "lang=ru-RU&voice=jane&folderId=${FOLDER_ID}" \
              "https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize" > speech.ogg
            

    Где:

Синтезированная речь будет записана в файл speech.ogg в папке, из которой вы отправляли запрос.

См. также