[Freeswitch-users] Getting call audio stream from a java application

Thomas, Tom tthomas at soleocommunications.com
Tue Mar 14 04:38:21 MSK 2017


Thank you for the response. I would have probably proceeded with the mrcp route, but fortunately, I found out that I can turn off the “enable_file_write_buffering” variable to solve the issue I was having with the original approach. Now freeswitch writes to the recorded file regularly, without buffering. My speech recognition application now works perfectly.

Thank You.

From: freeswitch-users-bounces at lists.freeswitch.org [mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Michael Jerris
Sent: Monday, March 13, 2017 12:16 PM
To: FreeSWITCH Users Help <freeswitch-users at lists.freeswitch.org>
Subject: Re: [Freeswitch-users] Getting call audio stream from a java application

To properly integrate speech recognition, mrcp is probably the best approach.  You can use the same library we use for the client module to build the server.


On Mon, Mar 13, 2017 at 11:06 AM Thomas, Tom <tthomas at soleocommunications.com<mailto:tthomas at soleocommunications.com>> wrote:
Hello Guys,
I know your time is valuable, but I am using this mailing list as my last resort. I have tried to look for answers everywhere else, including the Confluence, wiki and google, and previous posts on the mailing list.

So here’s my dilemma. I have a custom speech recognition engine which I want to use with freeswitch. I am not looking to use the built-in pocketsphinx module or using an mrcp server. What I am doing right now is, when a call is answered, I am recording it to a file using record_session. I have a java application that reads from this file and sends data to my speech engine. This would have been sufficient, if not for the fact that freeswitch writes 4 second chunks of audio at a time. I verified this by writing a small test. The recorded file is updated every 4 seconds with the previous 4 seconds of audio. This is not an acceptable delay for my particular application.

So I tried looking into other options where I can directly access the call audio. I know mod_shout can be used to setup an icecast stream, but that’s not really what I would like to do. Same for the telecast feature, as I would like to use the raw audio stream instead of transcoded audio. I read in one post on stackoverflow that it is possible to use eavesdropping to listen to the audio stream. But it didn’t go into any further details on how this can be achieved through an external application, like Java. Looking up examples for eavesdropping on freeswitch didn’t help either.

So I’d like to know, if it’s possible to directly access the audio stream from, say a Java program using the freeswitch library? If not, how does pocketsphinx and other built in speech engines really read in the audio? Also, if direct access is not possible, is there any way to change the recording write speed?

Thanks.
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto:FreeSWITCH-users at lists.freeswitch.org>
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20170314/8b810606/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list