Freepbx – Google Speech API – Directory recognition

Задача: При входящем звонке распознавать Имя или Фамилию сотрудника и переводить на него.

Особенностью является то, что распознавание имён удалось улучшить подключив параметры:

 model:phone,
useEnhanced: true,
phrases: [{"слово1", "Фраза из слов"}],

Используемые статьи:

  1. Приложение на базе node.js и bash скрипта которое позволяет быстро развернуть систему и провести первые тесты: https://github.com/phsultan/asterisk-eagi-google-speech-recognition
  2. процесс подключения телефона есть много разных статей но самая удобная и работающая у меня вот эта: Распознавание речи в Asterisk – Voxlink
  3. Докуметация от гугла

Проблемы: 1. установка окружения Node.js для меня в новинку была поэтому, пришлось сначала понять как устроено приложение Node.js.

отладка:

  1. asterisk -r – покажет исполнение скрипта и распознанные слова, если распознанных слов нет, то пункт 2
  2. в папке /usr/local/node_programs/node_speech/samples выполнить: “node recognize.js listen”.
  3. если выдаст “Error: Could not load the default credentials.” то выполнить команду “export GOOGLE_APPLICATION_CREDENTIALS=/usr/local/node_programs/service_account_file.json” – Она добавит данные по авторизации. и снова выполнить пункт 2.
  4. Если выдаст ошибку “invalid_grant: Invalid JWT Signature” то у вас проблемы с ключем от гугла. Решение создать ключ в JSON формате для вашего проекта через https://console.cloud.google.com

Leave a Reply