[asterisk-speech-rec] New ASR

Renato Cassaca renato.cassaca at voiceinteraction.pt
Mon Jan 19 11:29:16 CST 2009


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?

 - 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)

- ast_speech_engine->list: it's managed by Asterisk, I don't have to do 
nothing with it. 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...

Thanks!

Joshua Colp wrote:
> ----- "Renato Cassaca" <renato.cassaca at voiceinteraction.pt> wrote:
>
>   
>> Thanks Joshua for your quick answer, it helped me to keep on
>> developing. Now I have some calls of Asterisk forwarded to my engine.
>> Even though some some quick questions arose:
>>
>> - If a call to "speech_engine_create" fails (returns a value different
>> from 0) will "speech_engine_destroy" be called to the same ast_speech?
>>     
>
> No, it will not be.
>
>   
>> - In ast_speech structure who is responsible to initialize the lock
>> and when should it be acquired/release? What is protected by this
>> lock?
>>     
>
> The ast_speech structure is initialized by res_speech. The only thing you need to initialize is your engine itself. The lock protects the contents of the structure.
>
>   
>> - In ast_speech structure there is a "data" field... What is it for? I
>> thought that audio will be delivered to the engine here, but then I
>> saw that the write function (in ast_speech_engine) already has an
>> argument to that intent...
>>     
>
> The field is for data that is unique to your engine. If it has to keep its own structure with current state information, buffers, whatever, it can associate that to the speech session using the data field and then get to it in the various speech callbacks.
>
>   

-- 
Renato Cassaca
VoiceInteraction - Tecnologias de Processamento da Fala, SA
Renato.Cassaca at voiceinteraction.pt 
<maito:Renato.Cassaca at voiceinteraction.pt>
http://www.voiceinteraction.pt
Rua Alves Redol 9, 1000-029 Lisboa, Portugal
Telefone: +351 213100206 Fax: +351 213145843
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-speech-rec/attachments/20090119/cc4ef919/attachment.htm 


More information about the asterisk-speech-rec mailing list