Синтез речи на базе Yandex SpeechKit Cloud — различия между версиями
м (→Использование компонента) |
|||
(не показано 8 промежуточных версии этого же участника) | |||
Строка 5: | Строка 5: | ||
==Введение== | ==Введение== | ||
− | Yandex SpeechKit | + | [https://cloud.yandex.ru/services/speechkit '''Yandex SpeechKit '''] – сервис распознавания и синтеза речи платформы Яндекс.Облако, открывающий разработчикам доступ к речевым технологиям Яндекса. В этой статье мы поговорим про синтез речи. |
Технология синтеза речи позволяет переводить текст в речь (звуковой файл). Задача актуальна для озвучивания динамически обновляемой информации или быстро меняющихся данных, таких как остаток товаров на складе, репертуар кинотеатров и так далее. Технология синтеза речи Яндекса построена на базе скрытых марковских моделей (HMM). За счет применения статистического подхода в акустическом моделировании удается достичь естественных плавных интонаций. Технология позволяет достаточно быстро создавать новые голоса и синтезировать различные эмоции. | Технология синтеза речи позволяет переводить текст в речь (звуковой файл). Задача актуальна для озвучивания динамически обновляемой информации или быстро меняющихся данных, таких как остаток товаров на складе, репертуар кинотеатров и так далее. Технология синтеза речи Яндекса построена на базе скрытых марковских моделей (HMM). За счет применения статистического подхода в акустическом моделировании удается достичь естественных плавных интонаций. Технология позволяет достаточно быстро создавать новые голоса и синтезировать различные эмоции. | ||
Строка 13: | Строка 13: | ||
*эмоции: добрый, злой, нейтральный голос. | *эмоции: добрый, злой, нейтральный голос. | ||
− | Документация по API синтеза речи Yandex SpeechKit доступна на сайте https:// | + | Документация по API распознавания и синтеза речи Yandex SpeechKit доступна на сайте https://cloud.yandex.ru/docs/speechkit/ |
==Использование компонента== | ==Использование компонента== | ||
− | Начиная с версии Oktell 2.12 в служебных и IVR сценариях появился компонент "Синтез речи". Компонент | + | Начиная с версии Oktell 2.12, в служебных и IVR сценариях появился компонент "Синтез речи". Компонент озвучивает заданную фразу (синтезирует речь) с помощью сервиса Yandex SpeechKit. Позволяет сразу воспроизвести файл в линию, либо сгенерировать файл для последующего использования. В компоненте можно включить кэш, тем самым сохраняя все сгенерированные файлы в папку \Oktell\Server\LocalStorage\SynthesisCache. Так как каждый запрос к сервису Яндекс платный, то включенный кэш позволяет сэкономить ваши средства. |
− | + | Техническая документация по компоненту: [[Компоненты_сценариев_IVR#.D0.A1.D0.B8.D0.BD.D1.82.D0.B5.D0.B7_.D1.80.D0.B5.D1.87.D0.B8|Синтез речи]] | |
− | |||
− | + | Для использования системы синтеза речи Yandex SpeechKit выполните следующие действия: | |
− | '''Шаг 2.''' Перейдите в ''Администрирование/Общие настройки/Распознавание речи | + | '''Шаг 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-токен. | ||
+ | |||
+ | |||
+ | '''Шаг 2.''' Перейдите в '''Администрирование''' / '''Общие настройки''' / '''Распознавание речи Yandex SpeechKit Cloud'''. Введите полученные значения '''OAuth-токен''' и '''Идентификатор каталога''' в соответствующие поля | ||
Строка 45: | Строка 50: | ||
*Режим — Воспроизвести. В этом режиме компонент сразу воспроизводит сгенерированный файл в текущую линию. | *Режим — Воспроизвести. В этом режиме компонент сразу воспроизводит сгенерированный файл в текущую линию. | ||
*Текст — строка "''Здравствуйте! Вас приветствует компания Телефонные Системы! Для соединения с менеджерами нажмите 1. Для соединения с сотрудниками технической поддержки нажмите 2.''". Введенный текст будет передан на сервера Yandex для озвучивания. | *Текст — строка "''Здравствуйте! Вас приветствует компания Телефонные Системы! Для соединения с менеджерами нажмите 1. Для соединения с сотрудниками технической поддержки нажмите 2.''". Введенный текст будет передан на сервера Yandex для озвучивания. | ||
− | *Голос — Zahar. Настройка отвечает за синтезируемый голос: Zahar - мужской голос, Jane -женский. Возможно указание другого значения, если оно поддерживается сервисом Yandex SpeechKit | + | *Голос — Zahar. Настройка отвечает за синтезируемый голос: Zahar - мужской голос, Jane -женский. Возможно указание другого значения, если оно поддерживается сервисом Yandex SpeechKit. |
*Эмоция — По умолчанию. Настройка отвечает за используемую окраску голоса. Возможные варианты: good, neutral, evil, mixed. | *Эмоция — По умолчанию. Настройка отвечает за используемую окраску голоса. Возможные варианты: good, neutral, evil, mixed. | ||
*Кэш — Использовать. Если использовать кэш, то система попытается найти файл с озвученным текстом среди сгенерированных ранее (находятся в папке \Oktell\Server\LocalStorage\SynthesisCache). Рекомендуется всегда включать в целях экономии средств. | *Кэш — Использовать. Если использовать кэш, то система попытается найти файл с озвученным текстом среди сгенерированных ранее (находятся в папке \Oktell\Server\LocalStorage\SynthesisCache). Рекомендуется всегда включать в целях экономии средств. | ||
− | *Таймаут ожидания ответа, с — 5. Максимальное время ожидания ответа от серверов | + | *Таймаут ожидания ответа, с — 5. Максимальное время ожидания ответа от серверов Яндекс. |
*Символы прерывания — строка "''1, 2''". Если абонент нажмет на указанные символы прерывания, компонент сохранит их в буфер и перейдет к следующему блоку. | *Символы прерывания — строка "''1, 2''". Если абонент нажмет на указанные символы прерывания, компонент сохранит их в буфер и перейдет к следующему блоку. | ||
*Буфер для DTMF — переменная '''ввод''' (строковая). Переменная, в которую сохранится введенный символ прерывания. | *Буфер для DTMF — переменная '''ввод''' (строковая). Переменная, в которую сохранится введенный символ прерывания. | ||
*Очистить буфер — Да. Указывает на то, что буфер предварительно будет очищен. | *Очистить буфер — Да. Указывает на то, что буфер предварительно будет очищен. | ||
+ | |||
Компонент "'''Меню'''". Маршрутизирует абонента на выбранную группу операторов. | Компонент "'''Меню'''". Маршрутизирует абонента на выбранную группу операторов. | ||
Строка 59: | Строка 65: | ||
: 2, прочее - на компонент "Переключение 2" | : 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-токен и Идентификатор каталога в соответствующие поля
Нажмите "Сохранить". Теперь вы можете использовать синтез речи в сценариях.
Шаг 3. Рассмотрим пример использования синтеза речи в IVR сценарии.
Компонент "Синтез речи". Озвучивает приветствие абоненту и сохраняет выбор абонента в переменную.
- Режим — Воспроизвести. В этом режиме компонент сразу воспроизводит сгенерированный файл в текущую линию.
- Текст — строка "Здравствуйте! Вас приветствует компания Телефонные Системы! Для соединения с менеджерами нажмите 1. Для соединения с сотрудниками технической поддержки нажмите 2.". Введенный текст будет передан на сервера Yandex для озвучивания.
- Голос — Zahar. Настройка отвечает за синтезируемый голос: Zahar - мужской голос, Jane -женский. Возможно указание другого значения, если оно поддерживается сервисом Yandex SpeechKit.
- Эмоция — По умолчанию. Настройка отвечает за используемую окраску голоса. Возможные варианты: good, neutral, evil, mixed.
- Кэш — Использовать. Если использовать кэш, то система попытается найти файл с озвученным текстом среди сгенерированных ранее (находятся в папке \Oktell\Server\LocalStorage\SynthesisCache). Рекомендуется всегда включать в целях экономии средств.
- Таймаут ожидания ответа, с — 5. Максимальное время ожидания ответа от серверов Яндекс.
- Символы прерывания — строка "1, 2". Если абонент нажмет на указанные символы прерывания, компонент сохранит их в буфер и перейдет к следующему блоку.
- Буфер для DTMF — переменная ввод (строковая). Переменная, в которую сохранится введенный символ прерывания.
- Очистить буфер — Да. Указывает на то, что буфер предварительно будет очищен.
Компонент "Меню". Маршрутизирует абонента на выбранную группу операторов.
- Аргумент — переменная Ввод
- Значения —
- 1 — на компонент "Переключение 1"
- 2, прочее - на компонент "Переключение 2"
Настройка дальнейшей маршрутизации не рассматривается.
Чтобы использовать синтез речи для преднабора необходимо вначале сгенерировать файл с помощью компонента "Синтез речи" и сохранить путь к этому файлу в переменную (в соответствующем свойстве). Далее указать этот файл в компоненте "Воспроизведение с преднабором".