[asterisk-speech-rec] New ASR
Renato Cassaca
renato.cassaca at voiceinteraction.pt
Sat Jan 24 11:42:58 CST 2009
I started to test the integration of my speech recognizer but not
everything is going as expected....
- Is ast_speech_engine->start supposed to be a synchronous function?
exten => 1000,1,Answer()
exten => 1000,n,SpeechCreate(Audimus)
exten => 1000,n,SpeechActivateGrammar(digitos-unidades)
exten => 1000,n,SpeechStart()
exten => 1000,n,Background(hello-world)
exten => 1000,n,SpeechDeactivateGrammar(digitos-unidades)
exten => 1000,n,Goto(internal-${SPEECH_TEXT(0)})
I have the above dialpan (copied from docs) and what is happening is:
-- Executing [1000 at phones:1] Answer("SIP/1000-0334ea70", "") in new
stack
-- Executing [1000 at phones:2] SpeechCreate("SIP/1000-0334ea70",
"Audimus") in new stack
-- Executing [1000 at phones:3]
SpeechActivateGrammar("SIP/1000-0334ea70", "digitos-unidades") in new stack
-- Executing [1000 at phones:4] SpeechStart("SIP/1000-0334ea70", "") in
new stack
-- Executing [1000 at phones:5] BackGround("SIP/1000-0334ea70",
"hello-world") in new stack
-- <SIP/1000-0334ea70> Playing 'hello-world' (language 'en')
-- Executing [1000 at phones:6]
*SpeechDeactivateGrammar*("SIP/1000-0334ea70", "digitos-unidades") in
new stack
There is no wait explicit wait for engine results and there's no call
to ast_speech_engine->write (no audio is being sent to the ASR).
From the functions in ast_speech_engine which of them should be
synchronous?
How is ast_speech->state affecting the Asterisk behavior? (if you
indicate me the source file, I can check it myself)
What else should be done do to have audio streamed to my engine?
Renato
Joshua Colp wrote:
> ----- "Renato Cassaca" wrote:
>
>
>> I'm finishing the ASR integration and I have a few more questions
>> (hopefully, the last ones):
>> - ast_speech_engine->get(...): returns the next available result or
>> all pending available results?
>>
>
> It returns a linked list of results sorted by score.
>
>
>> - ast_speech_engine->dtmf(...): what is the expected engine behavior?
>> - stop the recognition, ignoring the results that are being processed
>> (but not finalized yet)
>> - stop the recognition but produce all results that are being
>> processed (and can be finalized with the received audio)
>>
>
> This callback is purely informational. You do not need to implement it.
>
>
>> - ast_speech_engine->list: it's managed by Asterisk, I don't have to
>> do nothing with it. Right?
>>
>
> Right.
>
>
>> - ast_speech_engine->activate(...grammar...): the activated grammar is
>> exclusive or incremental?
>> That means, if the ASR has already an activated grammar, should the
>> new one be added to them or should all current ASR grammars be
>> replaced by the new one? The interpretation of this will influence the
>> implementation of deactivate...
>>
>
> This depends on the engine itself... you can implement it whichever way you want. I would say have it so that you can have multiple grammars at once though. This is what people would probably expect.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-speech-rec/attachments/20090124/c579c124/attachment.htm
More information about the asterisk-speech-rec
mailing list