×

Как синтезировать речь в API v3

 
Для работы с API нужна утилита grpcurl.
 
ПЕРЕД НАЧАЛОМ РАБОТЫ
 
1. Установите утилиту grpcurl.
2. .Установите утилиту jq для потоковой обработки JSON-файлов:
sudo apt update && sudo apt install jq
 
Вы можете реализовать синтез речи в SpeechKit API v3 как с помощью указанных утилит, так и другими способами.
 
ПРЕОБРАЗУЙТЕ ТЕКСТ В АУДИОФАЙЛ
 
Чтобы синтезировать речь из текста в TTS-разметке в файл формата WAV:
1. Создайте файл c телом запроса API и текстом для синтеза речи.
{
 "text": "Я Yandex Speech в Узбекистане Спичк+ит. Я могу превратить любой текст в речь. Теперь и в+ы — можете!",
 "outputAudioSpec": {
   "containerAudio": {
     "containerAudioType": "WAV"
   }
 },
 "hints": [
     {
         "voice": "jane"
     },
     {
         "role": "good"
     }
 ],
 "loudnessNormalizationType": "LUFS"
}
 
2. Выполните команды.
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 @ 85.92.116.215/:443 speechkit.tts.v3.Synthesizer/UtteranceSynthesis | \
jq -r '.audioChunk.data' | base64 -d > speech.wav
 
FOLDER_ID— идентификатор каталога, полученный перед началом работы. Если вы используете IAM-токен сервисного аккаунта, не указывайте в запросе идентификатор каталога — сервис использует каталог, в котором был создан сервисный аккаунт.
IAM_TOKEN— IAM-токен, полученный перед началом работы.
speech.wav – файл, в который будет записан ответ.
 
В результате в папке будет создан файл speech.wav с синтезированной речью.