Как синтезировать речь в SpeechKit API v3
Статья создана
Обновлена 13 августа 2024 г.
В этом разделе вы научитесь синтезировать речь из текста с помощью SpeechKit API v3 (gRPC).
Для работы с API нужна утилита grpcurl
.
Перед началом работы
-
Установите утилиту grpcurl
. -
Установите утилиту jq
для потоковой обработки JSON-файлов:sudo apt update && sudo apt install jq
Примечание
Вы можете реализовать синтез речи в SpeechKit API v3 как с помощью указанных утилит, так и другими способами.
Преобразуйте текст в аудиофайл
Чтобы синтезировать речь из текста в TTS-разметке в файл формата WAV
-
Создайте файл c телом запроса API и текстом для синтеза речи:
tts_req.json
{ "text": "Я Яндекс Спичк+ит. Я могу превратить любой текст в речь. Теперь и в+ы — можете!", "outputAudioSpec": { "containerAudio": { "containerAudioType": "WAV" } }, "hints": [ { "voice": "jane" }, { "role": "good" } ], "loudnessNormalizationType": "LUFS" }
-
Выполните команды:
export FOLDER_ID=<идентификатор_каталога> export IAM_TOKEN=<IAM-токен> jq . -c tts_req.json | \ grpcurl -H "authorization: Bearer ${IAM_TOKEN}" \ -H "x-folder-id: ${FOLDER_ID}" \ -d @ tts.api.cloud.yandex.net:443 speechkit.tts.v3.Synthesizer/UtteranceSynthesis | \ jq -r '.audioChunk.data' | base64 -d > speech.wav
Где:
FOLDER_ID
— идентификатор каталога, полученный перед началом работы. Если вы используете IAM-токен сервисного аккаунта, не указывайте в запросе идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.IAM_TOKEN
— IAM-токен, полученный перед началом работы.speech.wav
– файл, в который будет записан ответ.
В результате в папке будет создан файл speech.wav
с синтезированной речью.