Страница 1 из 1

Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 09 июл 2017, 17:32
colonel
Здравствуйте!

Есть такая вот задача
  • Захватывать аудиопоток в режиме реального времени
  • Воспроизводить звуковые файлы в режиме реального времени

Или если на пальцах: звоним абоненту и воспроизводим заранее подготовленный файл, абонент отвечает - нужно проанализировать его ответ и воспроизвести другой звуковой файл.

Нужна асинхронность, но у AGI этого нет, но зато есть у AMI. Читал, что их как-то объединяют в одну систему.
Но еще есть ARI, которая судя по всему является гибридом AGI и AMI.

Подскажите, в какую сторону копать?

Re: Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 10 июл 2017, 00:43
ded
Диалоговая система? (Псевдо-) исскуственный интелект?
Это можно закодить и простым языком диал-плана.

https://www.google.ru/search?q=распознавание+речи+Астериск

Re: Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 13 июл 2017, 23:56
colonel
Спасибо за ответ, но диал-план выполняет все действия по очереди (записываем что говорит абонент -> распознаем -> отдаем ответ абоненту).
Мы ищем решение, которое позволит постоянно прослушивать входящих поток и в нужный момент отдать ответ абоненту.
Можете что-нибудь посоветовать?

Re: Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 14 июл 2017, 10:27
ded
Это не просто прослушивать, это анализировать, верно? Потоковое распознавание речи.
вам сюда: https://speechkit.yandex.ru/dev

Мы делали такую разработку. Но клиент оказался неадекватным по принятию решений, после чего ему было отказано. Не тот же клиент?

Re: Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 17 июл 2017, 13:10
Samael28
Посмотрите в сторону ARI. http://www.phpari.org - там есть пример с распараллеливанием потока Dial.

Re: Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 16 апр 2018, 17:24
bloodhung_
И мне что то похожее нужено. И ничего я не нашёл нужного. И с ARI страшно связываться, АМИ прогеры долго вылизывали с таймингами, т.к. вечно что то где то оборвётся или мы думаем, что оборвалось и... Вопрос актуален по идеям к задаче:
Приходит звонок на астериск, до того как делаю Dial, хочу бросить Progress в А сторону, что бы начать слушать медиапоток. Надо отправить это медиа потомк в raw / alaw / gsm кодеке в третью сторону (приблуда для анализа голоса) где будет принято решение делать хенгап или разрешить делать диал. Но столько нюансов возникает, что порой мысли, что проще просить прогеров написать свой свитч.
Может есть идеи проще, как можно отправить в выше указанных кодеках, если изначально звонок пришёл в g729?

Re: Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 17 апр 2018, 13:03
ded
Продаём приблуды для анализа голоса по сходной цене. Chan_LEG 4ever.
http://asterisk.ru

Re: Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 12 сен 2018, 00:22
Garnish
EAGI + call file + chan_spy
Подключаете к разговору шпиона, который слушает только клиента.
Захватываете аудио поток от клиента с тайм-аутом (например, если от клиента нет голоса в течение 3х секунд - заканчиваете работу AGI скрипта)
Парсите голос. Я для этого использую гугл спич
Отдаете команды в основной канал
https://github.com/ederwander/Asterisk- ... er/pahh.py

Re: Асинхронный захват аудиопотока и воспроизведение файлов

СообщениеДобавлено: 12 сен 2018, 08:15
virus_net
Call file лишний, как и завершение скрипта.
Стартовать при подъеме трубки, EAGI в background, внутри бесконечный цикл. Пока жив канал, жива и логика.
Если пропатчить мальца, то из EAGI можно и писать аудио в канал.