Posted: Fri Feb 23, 2007 1:01 am Post subject: [asterisk-speech-rec] DTMF CRM:00110073
Hi David,
DTMF tones do not get passed to the LumenVox Speech Engine only human
speech. What happens inside the Asterisk code is that once the very
first DTMF tone is detected speech recognition is turned off. Then when
the DTMF is done being entered by the caller the resulting text string
of numbers are returned by the SPEECH_TEXT(0) object. Once you have
that string you can parse that against one of the included DTMF grammars
which will interpret the string into something meaningful - such as a
phone number, date, time, currency, etc... For this type of
interpretation you would have to go through the AGI I don't think the
dialplan can handle that.
-----Original Message-----
From: asterisk-speech-rec-bounces@lists.digium.com
[mailto:asterisk-speech-rec-bounces@lists.digium.com] On Behalf Of David
Brazier
Sent: Thursday, February 22, 2007 2:54 PM
To: Use of speech recognition in Asterisk
Subject: RE: [asterisk-speech-rec] DTMF
I understand that Lumenvox SRE supports DTMF and voice grammars, but I'm
still not clear if the Asterisk/Lumenvox interface is designed to
support passing DTMF events to Lumenvox.
David
Joshua Colp wrote:
Quote:
David Brazier wrote:
> Thanks for the explanation. So this means there is no point loading
a
Quote:
> DTMF grammar in the SRE?
Pretty much.
Joshua Colp wrote:
Quote:
DTMF gets returned as a regular speech result from the dtmf grammar
with
Quote:
a score of 1000.
You could do a check on that to see if they entered DTMF or did
speech.
Stephen Keller wrote:
Quote:
The purpose of DTMF grammars is so that once the platform (in this
case Asterisk) recognizes DTMF,
Quote:
you can get semantic interpretation from the Engine regardless of
whether the user spoke or dialed.
Quote:
I.e. you can return the same semantic interpretation to your
application regardless of whether your
Quote:
user said "One" or pressed 1. It sounds like this is what you would
want for your application -- this
Quote:
way all semantic interpretation is handled in grammars and not by your
application.
Quote:
I am not sure how to pass recognized DTMF from Asterisk to the Engine
for semantic interpretation.
Quote:
Perhaps Josh or somebody else on the list is more familiar with this?
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
Posted: Fri Feb 23, 2007 12:00 pm Post subject: [asterisk-speech-rec] DTMF CRM:00110073
I still don't get it. If the Asterisk code switches off speech
recognition when it sees a DTMF digit, does that mean it no longer
passes any data (audio, DTMF) to the SRE? But if it's in
SpeechBackground at the time, how can I get the DTMF digit back? Or did
you mean that Asterisk tells the SRE to switch to DTMF-only mode and
then passes only DTMF events through. Are these events "out of band"
(like RFC 2833) or does the Asterisk code re-create the tones for the
SRE to recognise?
If the SRE is not involved in DTMF, are you saying the AGI application
should collect digits in the usual way ("wait for digit" etc.) and then
somehow pass them to the SRE for semantic processing? I can't see how
do that via either the dialplan commands or the C API covered in
http://www.asterisk.org/doxygen/1.4/AstSpeech.html. Even if it were
possible, I don't think there'd be much value in it. It's nice to have
the same semantic processing results for voice & DTMF grammars, but the
actual processing of DTMF digits is likely to be trivial.
Can you provide some working Asterisk code for loading both a voice and
a DTMF grammar and getting the results? That would be a great help.
This is covered in the SRE documentation, but not specifically for
Asterisk of course.
David
Randal Rand wrote:
Quote:
DTMF tones do not get passed to the LumenVox Speech Engine only human
speech. What happens inside the Asterisk code is that once the very
first DTMF tone is detected speech recognition is turned off. Then
when
Quote:
the DTMF is done being entered by the caller the resulting text string
of numbers are returned by the SPEECH_TEXT(0) object. Once you have
that string you can parse that against one of the included DTMF
grammars
Quote:
which will interpret the string into something meaningful - such as a
phone number, date, time, currency, etc... For this type of
interpretation you would have to go through the AGI I don't think the
dialplan can handle that.
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
Posted: Fri Feb 23, 2007 10:40 pm Post subject: [asterisk-speech-rec] DTMF CRM:00110073
David,
Correct, Asterisk will not send audio to the Speech Engine when DTMF is
pressed. You will be able to get your string of DTMF inputs with
SPEECH_TEXT(0).
True, the DTMF grammars are provided as convience. Our documentation
included with the installation of the Speech Engine covers how to parse
strings with our grammar object. If you are so inclinded.
Currently we don't have an example to supply, sorry.
-----Original Message-----
From: asterisk-speech-rec-bounces@lists.digium.com
[mailto:asterisk-speech-rec-bounces@lists.digium.com] On Behalf Of David
Brazier
Sent: Friday, February 23, 2007 3:59 AM
To: Use of speech recognition in Asterisk
Subject: RE: [asterisk-speech-rec] DTMF CRM:00110073
I still don't get it. If the Asterisk code switches off speech
recognition when it sees a DTMF digit, does that mean it no longer
passes any data (audio, DTMF) to the SRE? But if it's in
SpeechBackground at the time, how can I get the DTMF digit back? Or did
you mean that Asterisk tells the SRE to switch to DTMF-only mode and
then passes only DTMF events through. Are these events "out of band"
(like RFC 2833) or does the Asterisk code re-create the tones for the
SRE to recognise?
If the SRE is not involved in DTMF, are you saying the AGI application
should collect digits in the usual way ("wait for digit" etc.) and then
somehow pass them to the SRE for semantic processing? I can't see how
do that via either the dialplan commands or the C API covered in
http://www.asterisk.org/doxygen/1.4/AstSpeech.html. Even if it were
possible, I don't think there'd be much value in it. It's nice to have
the same semantic processing results for voice & DTMF grammars, but the
actual processing of DTMF digits is likely to be trivial.
Can you provide some working Asterisk code for loading both a voice and
a DTMF grammar and getting the results? That would be a great help.
This is covered in the SRE documentation, but not specifically for
Asterisk of course.
David
Randal Rand wrote:
Quote:
DTMF tones do not get passed to the LumenVox Speech Engine only human
speech. What happens inside the Asterisk code is that once the very
first DTMF tone is detected speech recognition is turned off. Then
when
Quote:
the DTMF is done being entered by the caller the resulting text string
Quote:
of numbers are returned by the SPEECH_TEXT(0) object. Once you have
that string you can parse that against one of the included DTMF
grammars
Quote:
which will interpret the string into something meaningful - such as a
phone number, date, time, currency, etc... For this type of
interpretation you would have to go through the AGI I don't think the
dialplan can handle that.
_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum