Синтез речи из текста в формате SSML с помощью API v1
Статья создана
Обновлена 27 сентября 2024 г.
С помощью API v1 можно синтезировать речь из текста, размеченного по правилам SSML, в файл формата OggOpus.
В примере заданы следующие параметры синтеза:
Считывание текстового файла выполняется с помощью утилиты cat
Аутентификация происходит от имени аккаунта на Яндексе или федеративного аккаунта с помощью IAM-токена. Если вы используете сервисный аккаунт, передавать в запросе идентификатор каталога не нужно. Подробнее об аутентификации в API SpeechKit см. Аутентификация в API SpeechKit.
Bash
-
Создайте файл, например
text.xml
, и напишите в нем текст в формате SSML:<speak> Вот несколько примеров использования SSML. Вы можете добавить в текст паузу любой длины:<break time="2s"/> та-дааам! Или разметить текст на параграфы и предложения. Паузы между параграфами длиннее. <p><s>Первое предложение</s><s>Второе предложение</s></p> А еще вы можете подменять фразы. Например, чтобы произносить аббревиатуры и <sub alias="тому подобное">т.п.</sub> </speak>
-
Отправьте запрос с текстом на сервер:
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
Где:
FOLDER_ID
— идентификатор каталога.IAM_TOKEN
— IAM-токен.ssml
— файл с текстом, размеченным по правилам SSML.lang
— язык текста.
Синтезированная речь будет записана в файл speech.ogg
в папке, из которой вы отправляли запрос.