Синтез речи на базе Yandex SpeechKit Cloud — различия между версиями
Строка 16: | Строка 16: | ||
− | == | + | ==Использование компонента== |
+ | |||
+ | Начиная с версии Oktell 2.12 в служебных и IVR сценариях появился компонент "Синтез речи". Компонент использует сервис Yandex SpeechKit Cloud. Подробное описание компонента можно найти в [http://wiki.oktell.ru/Компоненты_сценариев_IVR#.D0.A1.D0.B8.D0.BD.D1.82.D0.B5.D0.B7_.D1.80.D0.B5.D1.87.D0.B8 технической документации]. | ||
Для использования системы синтеза речи Yandex SpeechKit Cloud выполните следующие действия: | Для использования системы синтеза речи Yandex SpeechKit Cloud выполните следующие действия: | ||
− | '''Шаг 1.''' | + | '''Шаг 1.''' Получите API-ключ на использование сервиса в [https://developer.tech.yandex.ru/?utm_source=partn&utm_medium=wiki&utm_campaign=oktell кабинете разработчика]. |
− | + | Тестовый период (бесплатный) – 1 месяц с момента получения ключа. | |
− | |||
+ | '''Шаг 2.''' Перейдите в ''Администрирование/Общие настройки/Распознавание речи Яндекс''. Введите полученный ключ доступа в поле "'''Ключ доступа (key)'''" | ||
− | |||
− | + | [[Файл:Yandex ASR Cloud 001.png|center|600px]] | |
− | + | Нажмите "'''Сохранить'''". Теперь вы можете использовать синтез речи в сценариях. | |
− | '''Шаг 3 | + | '''Шаг 3'''. Рассмотрим пример использования синтеза речи в IVR сценарии. |
− | |||
− | |||
− | |||
− | |||
+ | [[Файл:Синтез речи 001.png|center]] | ||
− | |||
+ | Компонент "Синтез речи". | ||
− | |||
− | + | ==Альтернативный вариант синтеза речи== | |
+ | |||
+ | Для версий ниже Oktell 2.12 вы можете использовать компонент веб-запрос для отправки и получения запроса с сервиса Yandex SpeechKit Cloud. Сценарий выглядит следующий образом: | ||
Строка 58: | Строка 57: | ||
− | Компонент "'''SpeechKit Key'''". Определяет API-ключ для выполнения Web-запроса на сервисы Yandex. | + | Компонент "'''SpeechKit Key'''". Определяет API-ключ для выполнения Web-запроса на сервисы Yandex. Получить API-ключ на использование сервиса можно в [https://developer.tech.yandex.ru/?utm_source=partn&utm_medium=wiki&utm_campaign=oktell кабинете разработчика]. |
*переменной '''key''' (строковая) присваивается значение API-ключа. | *переменной '''key''' (строковая) присваивается значение API-ключа. | ||
Строка 124: | Строка 123: | ||
Компонент "'''Стоп'''". Для возврата в родительский сценарий (из которого запустился сценарий синтеза речи) необходимо указать возврат управления. | Компонент "'''Стоп'''". Для возврата в родительский сценарий (из которого запустился сценарий синтеза речи) необходимо указать возврат управления. | ||
*Возврат управления - Да. | *Возврат управления - Да. | ||
+ | |||
+ | |||
+ | Для использования сервиса используйте компонент "'''Запуск сценария'''" в IVR сценарии. В свойствах компонента выберите | ||
+ | |||
+ | *'''Тип запуска''' - Вложенный | ||
+ | *'''Сценарий''' - выберите сценарий "'''Синтез речи Yandex SpeechKit Cloud'''" | ||
+ | *'''Параметр запуска''' - введите ваш текст для воспроизведения. В примере, строка "''Здравствуйте! Вас приветствует компания Телефонные Системы!''" | ||
+ | *'''Возврат управления''' - Да | ||
+ | |||
+ | |||
+ | [[Файл:Синтез речи Yandex SpeechKit Cloud 002.png|center]] | ||
'''Скачать сценарий:''' [http://wiki.oktell.ru/images/5/51/%D0%A1%D0%B8%D0%BD%D1%82%D0%B5%D0%B7_%D1%80%D0%B5%D1%87%D0%B8_Yandex_SpeechKit_Cloud.oscr Синтез речи Yandex SpeechKit Cloud.oscr] (собран на версии 2.11.141204) | '''Скачать сценарий:''' [http://wiki.oktell.ru/images/5/51/%D0%A1%D0%B8%D0%BD%D1%82%D0%B5%D0%B7_%D1%80%D0%B5%D1%87%D0%B8_Yandex_SpeechKit_Cloud.oscr Синтез речи Yandex SpeechKit Cloud.oscr] (собран на версии 2.11.141204) |
Версия 13:49, 22 мая 2015
Наверх [Oktell 2.7+]
Введение
Yandex SpeechKit Cloud — это облачный сервис, открывающий разработчикам доступ к речевым технологиям Яндекса. В этой статье мы поговорим про синтез речи.
Технология синтеза речи позволяет переводить текст в речь (звуковой файл). Задача актуальна для озвучивания динамически обновляемой информации или быстро меняющихся данных, таких как остаток товаров на складе, репертуар кинотеатров и так далее. Технология синтеза речи Яндекса построена на базе скрытых марковских моделей (HMM). За счет применения статистического подхода в акустическом моделировании удается достичь естественных плавных интонаций. Технология позволяет достаточно быстро создавать новые голоса и синтезировать различные эмоции.
Синтез речи Яндекса позволяет выбрать:
- мужской или женский голос для озвучивания;
- эмоции: добрый, злой, нейтральный голос.
Документация по API синтеза речи Yandex SpeechKit доступна на сайте https://tech.yandex.ru/speechkit/cloud/doc/dg/concepts/speechkit-dg-tts-docpage/
Использование компонента
Начиная с версии Oktell 2.12 в служебных и IVR сценариях появился компонент "Синтез речи". Компонент использует сервис Yandex SpeechKit Cloud. Подробное описание компонента можно найти в технической документации.
Для использования системы синтеза речи Yandex SpeechKit Cloud выполните следующие действия:
Шаг 1. Получите API-ключ на использование сервиса в кабинете разработчика.
Тестовый период (бесплатный) – 1 месяц с момента получения ключа.
Шаг 2. Перейдите в Администрирование/Общие настройки/Распознавание речи Яндекс. Введите полученный ключ доступа в поле "Ключ доступа (key)"
Нажмите "Сохранить". Теперь вы можете использовать синтез речи в сценариях.
Шаг 3. Рассмотрим пример использования синтеза речи в IVR сценарии.
Компонент "Синтез речи".
Альтернативный вариант синтеза речи
Для версий ниже Oktell 2.12 вы можете использовать компонент веб-запрос для отправки и получения запроса с сервиса Yandex SpeechKit Cloud. Сценарий выглядит следующий образом:
Компонент "Старт". Получает переданный текст для озвучки и записывает его в переменную text.
- Параметр запуска - переменная text (строковая)
Компонент "SpeechKit Key". Определяет API-ключ для выполнения Web-запроса на сервисы Yandex. Получить API-ключ на использование сервиса можно в кабинете разработчика.
- переменной key (строковая) присваивается значение API-ключа.
Компонент "Web запрос". Выполняет GET-запрос на сервис Yandex SpeechKit Cloud и получает бинарные данные звукового файла.
- URL - выражение:
'https://tts.voicetech.yandex.net/generate?text='+[text]+'&format=mp3&lang=ru-RU&speaker=zahar&key='+[key]
- Метод - GET
- Режим работы - Обрыв по таймауту
- Таймаут, сек - 30
ВНИМАНИЕ: Данный режим работы накладывает ограничение на время скачивания звукового файла. Если вы хотите озвучить большой текст, то рекомендуется увеличить время таймаута. Как вариант, установите режим работы - Ожидание результата, но в этом случае время время работы компонента может быть неограниченным, что приведет к тому, что абонент устанет ждать и положит трубку.
- Тип ответа - Текст
- Ответ в переменную - переменная response (строковая)
- Кодировка ответа - Текущая кодовая страница Windows
Компонент "Запись". Используется для генерации имени файла.
- Сохранение файла - Сгенерировать автоматически
- Каталог - CustomCategory\Local\Синтез речи YandexSpeechKit Cloud\DefaultCategory
- Начинать новую папку - Никогда
- Сохранить путь в переменную - Абсолютный путь
- Путь в переменную - переменная filename (строковая)
- Макс время, с - 1
Компонент "Удаляем файл (если есть)". Компонент удаляет запись от предыдущего компонента, так как его целью была генерация названия файла. Сам временный файл записи фактически не нужен, поэтому и происходит его удаление.
- Путь - переменная filename
- Тип объекта - Файл
- Операция - Удалить
Компонент "wav->mp3". Меняет название файла путем подмены расширения на mp3. У названия файла удаляются последние три символа (это может быть wav или mp3, информацию мы изначально не знаем), а затем добавляет расширение mp3. Таким образом, название будет гарантированно иметь расширение mp3.
- переменной filename присваивается выражение
remove([filename],len([filename])-3,3)+'mp3'
Компонент "Сохраняем данные в файл". Записывает все полученные данные от сервиса Yandex SpeechKit Сloud в файл со сгенерированным названием.
- Путь - переменная filename
- Тип объекта - Файл
- Операция - Дописать данные в конец
- Данные - переменная response
- Кодировка - Текущая кодовая страница Windows
Компонент "Воспроизводим файл". Воспроизводит звуковой файл в линию абонента.
- Режим - Файл полностью
- Файл - переменная filename
Компонент "Файловая операция". Удаляет полученную запись после воспроизведения для экономии места на диске. Предполагается, что файл с озвученным текстом далее не понадобится.
- Путь - переменная filename
- Тип объекта - Файл
- Операция - Удалить
Компонент "Стоп". Для возврата в родительский сценарий (из которого запустился сценарий синтеза речи) необходимо указать возврат управления.
- Возврат управления - Да.
Для использования сервиса используйте компонент "Запуск сценария" в IVR сценарии. В свойствах компонента выберите
- Тип запуска - Вложенный
- Сценарий - выберите сценарий "Синтез речи Yandex SpeechKit Cloud"
- Параметр запуска - введите ваш текст для воспроизведения. В примере, строка "Здравствуйте! Вас приветствует компания Телефонные Системы!"
- Возврат управления - Да
Скачать сценарий: Синтез речи Yandex SpeechKit Cloud.oscr (собран на версии 2.11.141204)