[Freeswitch-users] Web sockets and gRPC modules?

Leonardo Lima Ribeiro llribeiro90 at gmail.com
Mon Aug 15 20:14:44 MSD 2016

Michael, thank you for the response!

Actually I was thinking about copy the function “recordFile” but instead of save a file in the system etc, just the streams to my STT service…

Example of usage in LUA:
text = session:asrApi(“IBM_WATSON”, max_len_secs, silent_threshold, silence_secs, keywords)

Which “IBM_WATSON” points me to a XML conf file (eg. conf/asrapi/IBM_WATSON.xml) which have all the settings needed to stream to that API like auth token, endpoints urls, supported protocols (initially web sockets and gRPC) etc.
max_len_secs, silent_threshold, silence_secs - exactly like the current recordFile function params.
keywords - optional field, some of these apis can use a list of words to improve the accuracy and speed of recognition...

For now, if my approach is correct, I found the following functions, to have an idea on how to start:
switch_ivr_play_say.c - switch_ivr_record_file
switch_cpp.cpp - CoreSession::recordFile

So yeah, I've setup already a development environment for me, following the instructions on (Creating New Modules - Confluence page).
To be honest it’s my first time developing on C, so if you have good sources to improve my learning curve on “how to create a module in FreeSWITCH” would be awesome!

Can you give me a feedback on my approach and also the directions/instructions in what modules/functions should I use to do that?

Thank you,

> On Aug 15, 2016, at 11:33 AM, freeswitch-users-request at lists.freeswitch.org wrote:
> we would welcome for review someone submitting an module to support these.. it should not require a new module format, we already have those for speech recognition.. it would require a module that implemented the interfaces.
>> On Aug 14, 2016, at 5:47 AM, Leonardo Lima Ribeiro <llribeiro90 at gmail.com <mailto:llribeiro90 at gmail.com>> wrote:
>> Hello guys!
>> Is there any modules that we can use to make ASR using IBM Bluemix Watson Speech To Text (which accepts web sockets for streaming recognition) or Google Speech to Text API (which uses gRPC for streaming recognition)?
>> If there are none, do you think it’s worth it to build them (like in a new module format)? I know the current standard way is to use unimrcp, but unfortunately I could not get good results for my business cases using Sphinx, and the good services appears to be pricey… Said that, I was thinking about build modules that allows us to easily integrate to Google STT and IBM Watson STT Apis, which are the most popular and accessible services... 
>> Thank you,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160815/d879f8d3/attachment.html 

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