Синтез речи на базе Yandex SpeechKit Cloud — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
м (Использование компонента)
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
[[Практики|Наверх]]  
+
[[Практики|Наверх]]    <span style="color:darkviolet"><nowiki>[Oktell 2.7+]</nowiki></span>
  
 
__TOC__
 
__TOC__
Строка 5: Строка 5:
 
==Введение==
 
==Введение==
  
Yandex SpeechKit Cloud — это облачный сервис, открывающий разработчикам доступ к речевым технологиям Яндекса. В этой статье мы поговорим про синтез речи.  
+
[https://cloud.yandex.ru/services/speechkit '''Yandex SpeechKit '''] – сервис распознавания и синтеза речи платформы Яндекс.Облако, открывающий разработчикам доступ к речевым технологиям Яндекса. В этой статье мы поговорим про синтез речи.  
  
 
Технология синтеза речи позволяет переводить текст в речь (звуковой файл). Задача актуальна для озвучивания динамически обновляемой информации или быстро меняющихся данных, таких как остаток товаров на складе, репертуар кинотеатров и так далее. Технология синтеза речи Яндекса построена на базе скрытых марковских моделей (HMM). За счет применения статистического подхода в акустическом моделировании удается достичь естественных плавных интонаций. Технология позволяет достаточно быстро создавать новые голоса и синтезировать различные эмоции.
 
Технология синтеза речи позволяет переводить текст в речь (звуковой файл). Задача актуальна для озвучивания динамически обновляемой информации или быстро меняющихся данных, таких как остаток товаров на складе, репертуар кинотеатров и так далее. Технология синтеза речи Яндекса построена на базе скрытых марковских моделей (HMM). За счет применения статистического подхода в акустическом моделировании удается достичь естественных плавных интонаций. Технология позволяет достаточно быстро создавать новые голоса и синтезировать различные эмоции.
Строка 13: Строка 13:
 
*эмоции: добрый, злой, нейтральный голос.
 
*эмоции: добрый, злой, нейтральный голос.
  
Документация по API синтеза речи Yandex SpeechKit доступна на сайте https://tech.yandex.ru/speechkit/cloud/doc/dg/concepts/speechkit-dg-tts-docpage/
+
Документация по API распознавания и синтеза речи Yandex SpeechKit доступна на сайте https://cloud.yandex.ru/docs/speechkit/
  
  
==Быстрый старт==
+
==Использование компонента==
  
Для использования системы синтеза речи Yandex SpeechKit Cloud выполните следующие действия:
+
Начиная с версии Oktell 2.12, в служебных и IVR сценариях появился компонент "Синтез речи". Компонент озвучивает заданную фразу (синтезирует речь) с помощью сервиса Yandex SpeechKit. Позволяет сразу воспроизвести файл в линию, либо сгенерировать файл для последующего использования. В компоненте можно включить кэш, тем самым сохраняя все сгенерированные файлы в папку \Oktell\Server\LocalStorage\SynthesisCache. Так как каждый запрос к сервису Яндекс платный, то включенный кэш позволяет сэкономить ваши средства.
  
'''Шаг 1.''' Скачайте и импортируйте следующий сценарий. Сценарий позволяет преобразовывать текст в звуковой файл, и воспроизводить его абоненту.
+
Техническая документация по компоненту: [[Компоненты_сценариев_IVR#.D0.A1.D0.B8.D0.BD.D1.82.D0.B5.D0.B7_.D1.80.D0.B5.D1.87.D0.B8|Синтез речи]]
  
Скачать сценарий: [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]
 
  
После импорта сценария сохраните его. 
+
Для использования системы синтеза речи Yandex SpeechKit выполните следующие действия:
  
  
'''Шаг 2.''' Получите API-ключ на использование сервиса в [https://developer.tech.yandex.ru/?utm_source=partn&utm_medium=wiki&utm_campaign=oktell кабинете разработчика]. После получения присвойте этот ключ переменной '''key''' (строковая) в компоненте '''SpeechKit Key''' установленного сценария.
+
'''Шаг 1.''' Получить авторизационные данные на использование сервиса Yandex SpeechKit.
 +
* Выполните шаги 1-5 [https://cloud.yandex.ru/docs/speechkit/concepts/auth инструкции] по авторизации в API для получения идентификатора каталога
 +
* [https://passport.yandex.ru/auth Войдите] в ваш аккаунт на Яндексе или Яндекс.Коннекте
 +
* Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по [https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb ссылке], нажмите '''Разрешить''' и скопируйте полученный OAuth-токен.
  
  
[[Файл:Синтез речи Yandex SpeechKit Cloud 001.png|center]]
+
'''Шаг 2.''' Перейдите в '''Администрирование''' / '''Общие настройки''' / '''Распознавание речи Yandex SpeechKit Cloud'''. Введите полученные значения '''OAuth-токен''' и '''Идентификатор каталога''' в соответствующие поля
  
  
'''Шаг 3.'''  Для использования сервиса используйте компонент "Запуск сценария" в IVR сценарии. В свойствах компонента выберите
+
[[Файл:Yandex ASR Cloud 001.png|center|600px]]
  
Тип запуска - Вложенный
+
 
Сценарий - выберите сценарий "Синтез речи Google"
+
Нажмите "'''Сохранить'''". Теперь вы можете использовать синтез речи в сценариях.
Параметр запуска - введите ваш текст для воспроизведения. В примере, строка "Здравствуйте! Вас приветствует компания Телефонные Системы!"
+
 
Возврат управления - Да
+
 
 +
'''Шаг 3'''. Рассмотрим пример использования синтеза речи в IVR сценарии.
 +
 
 +
 
 +
[[Файл:Синтез речи 001.png|center]]
 +
 
 +
 
 +
Компонент "'''Синтез речи'''". Озвучивает приветствие абоненту и сохраняет выбор абонента в переменную.
 +
*Режим — Воспроизвести. В этом режиме компонент сразу воспроизводит сгенерированный файл в текущую линию.
 +
*Текст — строка "''Здравствуйте! Вас приветствует компания Телефонные Системы! Для соединения с менеджерами нажмите 1. Для соединения с сотрудниками технической поддержки нажмите 2.''". Введенный текст будет передан на сервера Yandex для озвучивания.
 +
*Голос — Zahar. Настройка отвечает за синтезируемый голос: Zahar - мужской голос, Jane -женский. Возможно указание другого значения, если оно поддерживается сервисом Yandex SpeechKit.
 +
*Эмоция — По умолчанию. Настройка отвечает за используемую окраску голоса. Возможные варианты: good, neutral, evil, mixed.
 +
*Кэш — Использовать. Если использовать кэш, то система попытается найти файл с озвученным текстом среди сгенерированных ранее (находятся в папке \Oktell\Server\LocalStorage\SynthesisCache). Рекомендуется всегда включать в целях экономии средств.
 +
*Таймаут ожидания ответа, с — 5. Максимальное время ожидания ответа от серверов Яндекс.
 +
*Символы прерывания — строка "''1, 2''". Если абонент нажмет на указанные символы прерывания, компонент сохранит их в буфер и перейдет к следующему блоку.
 +
*Буфер для DTMF — переменная '''ввод''' (строковая). Переменная, в которую сохранится введенный символ прерывания.
 +
*Очистить буфер — Да. Указывает на то, что буфер предварительно будет очищен.
 +
 
 +
 
 +
Компонент "'''Меню'''". Маршрутизирует абонента на выбранную группу операторов.
 +
*Аргумент — переменная '''Ввод'''
 +
*Значения —
 +
: 1 — на компонент "Переключение 1"
 +
: 2, прочее - на компонент "Переключение 2"
 +
 
 +
Настройка дальнейшей маршрутизации не рассматривается.
 +
 
 +
Чтобы использовать синтез речи для преднабора необходимо вначале сгенерировать файл с помощью компонента "Синтез речи" и сохранить путь к этому файлу в переменную (в соответствующем свойстве). Далее указать этот файл в компоненте "Воспроизведение с преднабором".

Текущая версия на 11:56, 31 марта 2023

Наверх    [Oktell 2.7+]

Введение

Yandex SpeechKit – сервис распознавания и синтеза речи платформы Яндекс.Облако, открывающий разработчикам доступ к речевым технологиям Яндекса. В этой статье мы поговорим про синтез речи.

Технология синтеза речи позволяет переводить текст в речь (звуковой файл). Задача актуальна для озвучивания динамически обновляемой информации или быстро меняющихся данных, таких как остаток товаров на складе, репертуар кинотеатров и так далее. Технология синтеза речи Яндекса построена на базе скрытых марковских моделей (HMM). За счет применения статистического подхода в акустическом моделировании удается достичь естественных плавных интонаций. Технология позволяет достаточно быстро создавать новые голоса и синтезировать различные эмоции.

Синтез речи Яндекса позволяет выбрать:

  • мужской или женский голос для озвучивания;
  • эмоции: добрый, злой, нейтральный голос.

Документация по API распознавания и синтеза речи Yandex SpeechKit доступна на сайте https://cloud.yandex.ru/docs/speechkit/


Использование компонента

Начиная с версии Oktell 2.12, в служебных и IVR сценариях появился компонент "Синтез речи". Компонент озвучивает заданную фразу (синтезирует речь) с помощью сервиса Yandex SpeechKit. Позволяет сразу воспроизвести файл в линию, либо сгенерировать файл для последующего использования. В компоненте можно включить кэш, тем самым сохраняя все сгенерированные файлы в папку \Oktell\Server\LocalStorage\SynthesisCache. Так как каждый запрос к сервису Яндекс платный, то включенный кэш позволяет сэкономить ваши средства.

Техническая документация по компоненту: Синтез речи


Для использования системы синтеза речи Yandex SpeechKit выполните следующие действия:


Шаг 1. Получить авторизационные данные на использование сервиса Yandex SpeechKit.

  • Выполните шаги 1-5 инструкции по авторизации в API для получения идентификатора каталога
  • Войдите в ваш аккаунт на Яндексе или Яндекс.Коннекте
  • Получите OAuth-токен в сервисе Яндекс.OAuth. Для этого перейдите по ссылке, нажмите Разрешить и скопируйте полученный OAuth-токен.


Шаг 2. Перейдите в Администрирование / Общие настройки / Распознавание речи Yandex SpeechKit Cloud. Введите полученные значения OAuth-токен и Идентификатор каталога в соответствующие поля


Yandex ASR Cloud 001.png


Нажмите "Сохранить". Теперь вы можете использовать синтез речи в сценариях.


Шаг 3. Рассмотрим пример использования синтеза речи в IVR сценарии.


Синтез речи 001.png


Компонент "Синтез речи". Озвучивает приветствие абоненту и сохраняет выбор абонента в переменную.

  • Режим — Воспроизвести. В этом режиме компонент сразу воспроизводит сгенерированный файл в текущую линию.
  • Текст — строка "Здравствуйте! Вас приветствует компания Телефонные Системы! Для соединения с менеджерами нажмите 1. Для соединения с сотрудниками технической поддержки нажмите 2.". Введенный текст будет передан на сервера Yandex для озвучивания.
  • Голос — Zahar. Настройка отвечает за синтезируемый голос: Zahar - мужской голос, Jane -женский. Возможно указание другого значения, если оно поддерживается сервисом Yandex SpeechKit.
  • Эмоция — По умолчанию. Настройка отвечает за используемую окраску голоса. Возможные варианты: good, neutral, evil, mixed.
  • Кэш — Использовать. Если использовать кэш, то система попытается найти файл с озвученным текстом среди сгенерированных ранее (находятся в папке \Oktell\Server\LocalStorage\SynthesisCache). Рекомендуется всегда включать в целях экономии средств.
  • Таймаут ожидания ответа, с — 5. Максимальное время ожидания ответа от серверов Яндекс.
  • Символы прерывания — строка "1, 2". Если абонент нажмет на указанные символы прерывания, компонент сохранит их в буфер и перейдет к следующему блоку.
  • Буфер для DTMF — переменная ввод (строковая). Переменная, в которую сохранится введенный символ прерывания.
  • Очистить буфер — Да. Указывает на то, что буфер предварительно будет очищен.


Компонент "Меню". Маршрутизирует абонента на выбранную группу операторов.

  • Аргумент — переменная Ввод
  • Значения —
1 — на компонент "Переключение 1"
2, прочее - на компонент "Переключение 2"

Настройка дальнейшей маршрутизации не рассматривается.

Чтобы использовать синтез речи для преднабора необходимо вначале сгенерировать файл с помощью компонента "Синтез речи" и сохранить путь к этому файлу в переменную (в соответствующем свойстве). Далее указать этот файл в компоненте "Воспроизведение с преднабором".