Компонент Синтез речи (Sber SaluteSpeech)

Описание

Осуществляет синтез речи по тексту и воспроизведение текущему абоненту.
Используется on-premise сервис Sber SaluteSpeech, канал GRPC. +

Настройка точек подключения в разделе настройки домена, поле 'sber_salute'.

Позволяет воспроизводить результат, а также просто записывать его в аудио-файл.

:description1: В режиме воспроизведения речь начинает воспроизводиться при появлении в буфере данных длительностью на 1.5 секунды.
В зависимости от того, настроено ли на сервисе синтеза кэширование и имеются ли данные для синтезируемого текста, выдача первых полутора секунд может производиться от 300 до 1500 мс.

Table 1. Системные характеристики

Индекс

226

Краткое название

tts_sber

Типы сценариев

IVR

Стартовый модуль

r_sip_ivr_script_component_tts_sber

Режим

Асинхронный

Иконка

226

Характер разветвления

Разветвляющий, прерывающий

Свойства

Table 2. Свойства
Спецификация Описание

Название: Аккаунт Сбер Салют
Код: accountKey
Усл. видимости: нет
По умолчанию: default

Указание на аккаунт, определяющего точки подключения к сервису Sber SaluteSpeech.
В список попадает значение 'default', устанавливающее к использованию корневые поля 'speech' в объекте 'settings.sber_salute'.
Дополнительно в список попадают ключи объекта 'settings.sber_salute.accounts', за каждым из которых также находится объект с отдельно настроенными параметрами доступа.

Название: Режим
Код: mode
Усл. видимости: нет
По умолчанию: Воспроизведение

Режим работы компонента после получения ответа от сервиса TTS Sber SaluteSpeech.
Возможные варианты:

  • Воспроизведение (play, 0) – Воспроизведение синтезированной речи абоненту с последующим удалением файла.

  • Генерация файла (file, 1) – Сохранение аудио-файла в локальный временный каталог и возврат пути к файлу в переменную.

Название: Тип контента
Код: contentType
Усл. видимости: нет
По умолчанию: TEXT

Параметр сервиса TTS Sber SluteSpeech: формат данных, передаваемых в теле запроса (content_type).
Возможные варианты:

  • TEXT (text, 0) – простой текст.

  • SSML (ssml, 1) – SSML-разметка с текстом.

Название: Текст
Код: text
Усл. видимости: нет
По умолчанию: — 

Текст, подлежащий синтезу и последующему воспроизведению, либо SSML-разметка с текстом (необходимо установить тип контента: SSML).

Название: Язык
Код: lang
Усл. видимости: нет
По умолчанию: ru-RU

Параметр сервиса TTS Sber SaluteSpeech: язык синтеза.
Возможные варианты:

  • ru-RU (0) – Русский язык

  • en-US (1) – Английский язык

  • kk-KZ (2) – Казахский язык

Название: Голос
Код: voice
Усл. видимости: нет
По умолчанию: Alyss (ж)

Параметр сервиса TTS Sber SaluteSpeech: голос синтезируемой речи (voice).
Возможные варианты:

  • Наталья (ж) (0)

  • Борис (м) (1)

  • Марфа (ж) (2)

  • Тарас (м) (3)

  • Александра (ж) (4)

  • Сергей (м) (5)

  • Kira (ж, англ) (5)

  • Другой (other, 100) – Указание произвольного голоса через аргумент.

Название: Другой голос
Код: voiceOther
Усл. видимости: нет
По умолчанию: — 

Аргумент, содержащий название голоса для сервиса TTS Sber SaluteSpeech.

Название: Кэширование
Код: useCache
Усл. видимости: нет
По умолчанию: нет

Режим кэширования результатов синтеза речи.

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

Первый раз при остутствии значения файл генерируется с помощью сервиса и сохраняется в папку ':GlobalShare/domains/DOMAIN/cache/sber_tts/…​'.
В дальнейшем при обнаружении в кэше файла, обращений к сервису TTS Sber SaluteSpeech не происходит, файл копируется из кэша.

В уникальном имени файла скрывается отображение параметров синтеза: текст, язык, голос.
Файлы из кэша автоматически не удаляются. Необходимо отдельно настраивать процедуру удаления устаревающих данных. Критерием может являться, например, время последнего обращения к файлу.

Возможные варианты:

  • Выключить (0) – Кэширование не используется. Каждый запрос отправляется на синтез в сервис TTS Sber SaluteSpeech.

  • Включить (1) – Кэширование используется.

Название: Прерывать по DTMF
Код: checkDTMF
Усл. видимости: нет
По умолчанию: Нет

Выключатель детектора DTMF. Открывает настройки режимов сохранения символов и прерывания операции.

Название: Буфер для DTMF
Код: dtmfBuffer
Усл. видимости: да
По умолчанию: — 

Переменная для сохранения получаемых DTMF-символов.

Название: Очистить буфер DTMF
Код: clearDtmfBuffer
Усл. видимости: да
По умолчанию: Да

Выключатель предварительной очистки буфера DTMF.

Название: Количество символов
Код: maxSymbolCount
Усл. видимости: да
По умолчанию: — 

Аргумент, содержащий ограничение на количество вводимых символов.
После получения во время исполнения компонента указанного количества символов DTMF завершается операции воспроизведения.

Название: Символы прерывания
Код: interruptSymbols
Усл. видимости: да
По умолчанию: — 

Строка, содержащая последовательности символов прерывания через запятую.
После обнаружения на конце буфера DTMF последовательности символов, совпадающей с одной из указанных последовательностей прерывания, завершается операция воспроизведения.
Например, *, 7, 123, 9395.

Название: Таймаут ожидания ответа, с
Код: responseTimeoutSec
Усл. видимости: нет
По умолчанию: — 

Таймаут ожидания ответа от сервиса TTS Sber SaluteSpeech после отправки ему запроса.
По истечении таймаута управление передается следующему компоненту по ветке Время.

Название: Код ответа в переменную
Код: varHttpCode
Усл. видимости: нет
По умолчанию: — 

Переменная для сохранения кода HTTP-ответа сервиса распознавания.

Название: Путь к файлу в переменную
Код: varFile
Усл. видимости: да
По умолчанию: — 

Переменная для сохранения пути к аудио-файлу с синтезированной речью в локальном временном каталоге.
Для длительного сохранения файла требуется дальнейшее перемещение файла сценарием в место стационарного хранения.

Название: Переход
Код: transfer
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае успешного завершения операции.

Название: Переход, время
Код: transferTimeout
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае истечения времени ожидания HTTP-ответа от сервиса.

Название: Переход, ошибка
Код: transferError
Усл. видимости: нет
По умолчанию: — 

Компонент, которому передается управление в случае возникновения ошибки.