Синтез речи в oktell на базе сервиса Google.

В данной статье приведен пример синтеза речи с помощью Google translate.


Ниже прикреплен пример ivr-сценария, который синтезирует речь по тексту. Текст передается через параметр запуска. 

Обратите внимание на то, что длина текста не должна превышать 100 символов.

После поднятия трубки делаем web-запрос на google translate методом get. Передаем текст и получаем звуковой файл в виде текста. Данный текст сохраняем в переменную response.

Затем необходимо определить путь для сохранения звукового файла. Для этого записываем секундный файл. Сохраняем его в локальную категорию, а полный путь к файлу сохраняем в переменную filename. 

Удаляем секундный файл записи( он нам нужен только для генерации имени файла и возвращения полного пути до локальной категории). 

Заменяем в сгенерированном имени 'wav' на 'mp3'. Для этого используется функция  Substr (s, idx, len).

Дописываем в файл содержимое переменной response и сохраняем по адресу, сохраненному в переменную filename.

Удаляем файл записи. Можно не удалять файлы, если необходимости в этом нет. 

Воспроизводим запись.


  1. Синтез речи.oscr (3 Kb) 

Комментарии

225

ООО "Автоматика"ИТК


2 июня 201200:02

Google возвращает синтезированный голос в формате mp3, а в сценарии компонент "Запись 1" генерирует файл с расширением wav. Поэтому компонент "Воспроизводим файл" не проигрывает этот файл.
Немного поправил сценарий, чтобы файл генерировался с расширением mp3.

  1. синтез речи.oscr (3 Kb) 
228

Асхадулин Ренат


4 июня 201211:00

Верно, исправлено. Файл №2.

    230

    Кибец Игорь


    12 июня 201213:31

    Да, пробовал давно, интересная штука

      233

      ООО Специальные Машины


      20 июня 201206:23

      а как его использовать? :)

        265

        НоваИнтех


        4 сентября 201215:13

        А можно файлик выложить еще раз?

          440

          казахтелеком


          6 сентября 201420:54

          да, граждане! почему ничего скачать нельзя???

            Новое сообщение

            Прикрепить файлы

            Написать