Компонент Синтез речи (Azure Cloud Speech)

Описание

Осуществляет синтез речи по тексту и воспроизведение текущему абоненту.
Используется Azure Speech Cloud, канал REST HTTP (streamed). +

Порядок регистрации учетной записи MS Azure и стоимость сервиса см. на https://learn.microsoft.com/en-us/azure/ai-services/speech-service/.

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

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

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

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

Индекс

230

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

tts_azure

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

IVR

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

r_sip_ivr_script_component_tts_sber

Режим

Асинхронный

Иконка

230

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

SSML-разметка с текстом.
Помимо текста в разметке указывается используемая голосовая модель.

Пример:

<speak version='1.0' xml:lang='en-US'>
  <voice xml:lang='en-US' xml:gender='Male' name='en-US-ChristopherNeural'>
     I'm excited to try text to speech!
  </voice>
</speak>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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