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

Обработка входного голосового потока

Добавлено: 23 июл 2015, 10:49
Austry
Добрый день!
Я пытаюсь создать систему, которая бы распознавала речь в реальном времени. Для этого я использую команду monitor() и YandexSpeechApi.
Я слежу за файловой системой и жду когда Asterisk внесет изменения в файл входного звукового потока. Когда происходят изменения - прочитываем их и отправляем частями в яндекс. И это работает. Проблема такого решения состоит в довольно большом времени распознавания. Пытаясь всячески оптимизировать процесс, было обнаружено, что Asterisk записывает данные в файл раз в 3-4 секунды. Могу ли я каким-либо способом изменить это время? Или могу я напрямую, не записывая в файл, получить звуковой поток? Или, возможно, есть другой подход к задаче?
Спасибо!

Re: Обработка входного голосового потока

Добавлено: 23 июл 2015, 11:15
ded
Есть.
Monitor не нужен, нужно анализировать RTP поток установленного соединения, даже пусть и через tcpdump.

Re: Обработка входного голосового потока

Добавлено: 23 июл 2015, 12:00
gosha
EAGI

?

Re: Обработка входного голосового потока

Добавлено: 23 июл 2015, 12:02
Austry
ded, при таком подходе не понятно как соотносить канал с прослушиваемым портом? Ведь порты для передачи выделаются случайно из какого-то диапазона. Если у меня есть несколько каналов одновременно, как определить что поток проходящий через порт X соответствует каналу Y?

Re: Обработка входного голосового потока

Добавлено: 23 июл 2015, 12:07
Austry
При таком подходе не понятно как соотносить канал с прослушиваемым портом? Ведь порты для передачи выделаются случайно из какого-то диапазона. Если у меня есть несколько каналов одновременно, как определить что поток проходящий через порт X соответствует каналу Y?

Re: Обработка входного голосового потока

Добавлено: 23 июл 2015, 12:26
Glukinho
Это в SDP написано, кто на каких портах RTP принимает.

Re: Обработка входного голосового потока

Добавлено: 23 июл 2015, 17:31
kasper
обратите внимание на совет с eagi. Сам им непользовался но судя по документации и с учётом предположения, что вам нужен сервис выполняющий голосовые команды(т.к. обычно там требования к скорости), eagi то что вам нужно.

Re: Обработка входного голосового потока

Добавлено: 23 июл 2015, 21:06
Zavr2008
Можно просто написать астерисковое приложение, отправляющее в яндекс данные. Подцепить его через канал LOCAL можно либо конфой, либо через Spy..