[Asterisk-Users] Re: Sphinx (Karl Putland)

Matt Lawson matt at 1control.com
Thu Dec 18 19:56:35 MST 2003


On Thu, 2003-12-18 at 15:40, Kevin Bockman wrote:

>> Hi. I just started trying to play with Sphinx.  I followed their site as far as running sphinx-server.  It is listening on the default port.  I copied sphinx2-simple to another file and changed sphinx2-continuous to sphinx2-server.
>> 
>> So, I ran eagi-sphinx-test under asterisk.  What exactly is it supposted to do?  Here's what I get:
>> 
>
I wondered how long before someone started asking about that.  That was 
all about creating a hook into Asterisk where it would stream the audio 
over a socket to another program (which was a custom program we wrote, 
but similar to the Sphinx example programs).  The Sphinx program could 
do the voice recognition and possibly return a result to Asterisk over 
the socket, in the form of a text token.

The goal was to be able to route calls using voice recognition.  It 
basically worked, except at the time we were having terrible problems 
with the Zap cards and echo.  It was distorting the sound so horribly 
that it wasn't even human-recognizable, much less machine-recognizable. 
 We've put that project on indefinte hold for now but it could possibly 
be usable again in the future.  It's been many months since I worked on 
it so I'm a little rusty.  If you used something like an ISDN line where 
you could get a clear signal it did pretty well.  Of course it was only 
choosing between about 10 different words.

The eagi-sphinx-test program is basically a stub that has the necessary 
hook into Asterisk.  We have a modified "Sphinx AGI" which is similar to 
the test program but just includes some of the logic of what we wanted 
it to do when it heard a token, etc..

As far as the Sphinx side of it goes, I actually posted the modification 
I made to Sphinx to read audio from a socket to the Sphinx mailing list. 
 I was surprised that no one hardly seemed interested in it.

The stock "Sphinx server" doesn't read audio over the network.  It only 
communicates the responses over the network.  That's why I had to make 
the above-mentioned audio-socket-read modification.

- Matt





More information about the asterisk-users mailing list