Два компонента дают сценарию голос и слух: один синтезирует речь из текста, другой распознаёт сказанное абонентом. Оба работают через сервис Yandex SpeechKit и доступны в сценариях IVR и в служебных сценариях.
Синтез речи
Озвучивает заданную фразу. В сценарии IVR может либо сразу воспроизвести результат в линию, либо сгенерировать файл для дальнейшего использования; в служебных сценариях доступна только генерация файла. Полученные файлы имеют формат MP3.
Кэш
\Oktell\Server\LocalStorage\SynthesisCache. При включённом кэше повторный запрос с тем же текстом не уходит на сервер Яндекса — берётся готовый файл. Для типовых фраз голосового меню это означает, что вы платите за них один раз, а не при каждом звонке.
Обратная сторона: папка со временем разрастается. Её объём стоит держать под наблюдением.
Свойства
| Свойство | Описание |
|---|---|
| Режим | Воспроизвести или Сгенерировать файл. В IVR доступны оба, в служебных сценариях — только генерация. |
| Текст | Аргумент с текстом для синтеза. |
| Голос | jane — женский, zahar — мужской, либо «Указать свой». Другие доступные голоса перечислены в документации Yandex SpeechKit. |
| Пользовательский голос | Аргумент с именем голоса, если выбрано «Указать свой». |
| Эмоция | Окраска голоса: по умолчанию — стандартная; good — добрый, neutral — нейтральный, evil — злой, mixed — смешанный. |
| Кэш | Использовать — брать готовый файл, если такой запрос уже генерировался. Не использовать — всегда обращаться к сервису. |
| Таймаут ожидания ответа, с | Предельное время ожидания ответа от сервера. |
| Символы прерывания | Только в режиме «Воспроизвести». Символы или последовательности через запятую либо пробел; при их наборе проигрывание прекращается. |
| Буфер для DTMF | Только в режиме «Воспроизвести». Переменная для набранной последовательности прерывания. |
| Очистить буфер | Только в режиме «Воспроизвести». Да — очистить буфер, нет — дописать символы в конец. |
| Путь к файлу в переменную | Переменная, куда заносится полный путь к сгенерированному файлу. |
| Переход | После успешного завершения синтеза. |
| Переход, таймаут | Сервер не ответил за указанное время. |
| Переход, ошибка | Синтез завершился неудачей. |
Распознавание речи
Распознаёт речь либо из готового файла, либо прямо из линии.
| Режим | Где доступен | Требования и скорость |
|---|---|---|
| Файл | IVR и служебные сценарии | Файл должен быть в формате PCM 16bit 8kHz Mono. Время распознавания примерно равно длительности файла. |
| Запись | Только IVR | Запись и отправка звука на распознавание идут одновременно, поэтому ответ приходит почти мгновенно. |
В режиме записи она прекращается, когда произошло одно из событий: истекло время записи, набрана последовательность DTMF-символов прерывания, набрано установленное количество DTMF-символов.
Это удобно: один компонент обслуживает и голосовое управление, и привычный набор с клавиатуры, а сценарий разбирает результат одинаково.
Свойства
| Свойство | Описание |
|---|---|
| Режим | Запись или файл. |
| Файл | Только в режиме «Файл». Звуковой файл в формате PCM 16bit 8kHz Mono или путь к нему. |
| Символы прерывания | Только в режиме «Запись». |
| Буфер для DTMF | Только в режиме «Запись». Переменная для введённых символов, исключая символы прерывания. |
| Очистить буфер | Только в режиме «Запись». Дописывать или очищать перед записью. |
| Максимальное время записи | Только в режиме «Запись». Время ожидания в секундах. |
| Сигнал окончания записи | Только в режиме «Запись». Звуковой файл, который прозвучит по окончании записи. См. примечание ниже. |
| Тема | Тематика речи — см. таблицу ниже. |
| Пользовательская тема | Строка с индивидуальной темой, поддерживаемой сервисом. |
| Предопределённые значения | Таблица заранее заданных вариантов с группировкой. Упрощает последующее разветвление сценария. |
| Текст в переменную | Результат распознавания. |
| Код группировки в переменную | Код, выявленный при сравнении результата со списком предопределённых значений. |
| Вероятность совпадения в переменную | Значение от 0 до 1. |
| Переход / Переход, ошибка | Успешное распознавание либо неудача. |
Темы распознавания
| Тема | Для чего | Качество |
|---|---|---|
queries |
Поисковые запросы и короткие фразы в 3—5 слов на разные темы: «а где ближайший банкомат», «мне нужно заблокировать карту», «соедините меня с оператором», «хочу отменить заказ такси». Рекомендуемая тема для голосового управления IVR-сценариями. | 85 % |
maps |
Адреса, названия географических объектов и организаций: «такси на улицу Кирпичные Выемки 5», «мой адрес доставки — Льва Толстого 16». | 95 % |
notes |
Свободная диктовка коротких текстов: SMS, заметки, комментарии. | 82 % |
music |
Запросы на музыкальную тематику: названия песен и групп, имена исполнителей. | — |
Как разветвлять сценарий по распознанному
Таблица предопределённых значений с группировкой закрывает простые случаи: несколько ожидаемых ответов, каждому присвоен код, сценарий ветвится по коду.