Денис Пестрецов
06.11.2019
208

Синтез речи из консоли средствами Yandex SpeechKit

В этой статье рассмотрим, как синтезировать речь с помощью сервиса SpeechKit от компании Yandex. Данная функция может понадобиться для динамической генерации файлов воспроизведения в Asterisk. Перед началом работы Перед началом работы с сервисом Yandex Cloud необходимо авторизоваться в Yandex-почте. Если у Вас нет аккаунта, то необходимо его создать. Официальную документацию по начале работы со SpeechKit […]

В этой статье рассмотрим, как синтезировать речь с помощью сервиса SpeechKit от компании Yandex. Данная функция может понадобиться для динамической генерации файлов воспроизведения в Asterisk.

Перед началом работы

Перед началом работы с сервисом Yandex Cloud необходимо авторизоваться в Yandex-почте. Если у Вас нет аккаунта, то необходимо его создать.

Официальную документацию по начале работы со SpeechKit можно найти здесь.

Создание платёжного аккаунта

Информацию о текущих созданных платёжных аккаунтах можно найти на странице биллинга. Если ни один аккаунт не создан на данный момент, увидим следующее:

Биллинг
Биллинг

Создадим аккаунт (нажимаем на кнопку «Создать аккаунт» в правом верхнем углу).

Заполняем соответствующие поля аккаунта: указываем страну, выбираем тип плательщика, заполняем поля, согласно выбранному типу, а также привязываем к аккаунту банковскую карту.

Привязка банковской карты к платёжному аккаунту является обязательным действием. Без него не активируется пробный период.
Создание нового платёжного аккаунта
Создание нового платёжного аккаунта

ID каталога

Далее, для работы нам необходим будет ID текущего каталога. Чтобы его узнать переходим на главную страницу консоли облака: https://console.cloud.yandex.ru/. Здесь мы увидим информацию по текущему платёжному аккаунту, а также по текущим каталогам. Копируем себе ID – он нам понадобится в дальнейшей работе.

Получение ID каталога
Получение ID каталога

Для дальнейшей настройки переходим в консоль сервера CentOS, на котором установлен Asterisk.

Настройка интерфейса командной строки

В качестве примера будет рассматриваться система CentOS 6.9.

Первым делом необходимо установить утилиту CURL, если она не была установлена ранее. Для этого в консоли выполняем команду:

yum install curl

Далее устанавливаем интерфейс командой строки от Yandex. Выполняем команду в консоли:

curl https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
Установка CLI от Yandex
Установка CLI от Yandex

Данный скрипт установит CLI. Теперь необходимо инициализировать CLI. Для этого переходим по ссылке и нажимаем на кнопку «Разрешить».

Разрешение доступа Yandex.Cloud
Разрешение доступа Yandex.Cloud

После разрешения откроется страница, на которой будет отображён OAuth-токен. Он нам потребуется для дальнейшей инициализации CLI.

Выполняем в консоли команду:

yc init

По запросу вводим полученный OAuth-токен. Также выбираем директорию, с которой будем работать (можно выбрать директорию по умолчанию, т.е. default) и выбираем Compute zone равным 2 (ru-central1-b).

Для просмотра применённых настроек используем команду:

yc config list
Инициализация CLI
Инициализация CLI

Получение IAM-токена

Также для работы нам потребуется получить IAM-токен. Для этого выполняем следующую команду:

yc iam create-token
 Генерация IAM-токена
Генерация IAM-токена
Срок действия IAM-токена – 12 часов, поэтому следует обеспечить его автоматическую генерацию.

На этом все подготовительные работы для синтеза речи завершены, можно переходить к самому процессу.

Синтез речи

Произведём синтез речи в тестовом режиме из командной строки. Выполняем:

curl -X POST -H "Authorization: Bearer IAM_KEY"  --data-urlencode "text=Привет, мир" -d "lang=ru-RU&folderId=ID_КАТАЛОГА" "https://tts.api.cloud.yandex.net/speech/v1/tts:synthesize" > filename.ogg

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

  • IAM_KEY – IAM-токен, полученный ранее;
  • ID_КАТАЛОГА – полученный ранее ID каталога (см. рис. 3);
  • filename – произвольное имя файла, в формате ogg.

Если всё указано верно, то будет загружен файл, где будет синтезирован текст, указанный в переменной text.

Синтез речи
Синтез речи
В случае если указан неверный IAM-токен, то процесс синтеза речи также будет запущен, но прослушать созданный файл не удастся.

На этом обзор синтезирования речи из консоли средствами Yandex SpeechKit завершено.

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices