[python-nl] Dragonfly, is SDK 5.1 good enough ?

Christo Butcher christo at twizzy.biz
Sun Mar 15 17:28:23 CET 2009


Hi Stef,

On 3/8/09, Stef Mientki <stef.mientki at gmail.com> wrote:
> after downloading the latest version from your repositry,
> the problems were solved.
> We didn't have much time to play with it,
> but already have a few suggestions ;-)

Good to you that your earlier problems have been resolved.  :-)


> - when working in a program, let's say Notepad, it recognizes commands
> from Excel. In our opinion it shouldn't. This could be done by looking
> at the caption of the active application. (and we forget the situations
> were we are working on a file called "outlook-notes.txt" in Notepad ;-)
> . Still even better it would be to recognize some of the commands of
> other programs, e.g. I'm working in Notepad and I want to write an email.

Indeed, I agree with you.  The framework to do this is an important
part of Dragonfly.  All the "process_begin" methods of Grammar and
Rule objects are passed the foreground application's executable path,
window title, and window handle.  Within these methods they can decide
whether they want to be active or not within a given context.

The reason it wasn't working for the SAPI backend was that MS's
documentation is not always as clear as I need it to be.  I'm
reasonably sure that I fixed this now (after many hours of
frustratingly helpless trial and error), changes committed this
afternoon.  There's only one caveat: it sometimes takes one
phrase-start-detection for rule activation/deactivation to take
effect.  This means that when working within one context (application,
dialogue,...) the correct rules and only those rules will be active
now, but when you switch to a different context the old rules will
only be deactivated and the new rules activated after one recognition
based on the old rules.  (Don't ask me why, Dragonfly's state says
that the correct rules are active, but for some reason MS's doesn't
agree for the first recognition but does after that.)

(By the way, none of these problems occur when using the DNS backend.)


> - it should be handy if there was a command for enabling / disabling the
> speech recognition

Good feature request.  Noted.


> - the engine hears itself ;-). In practical situation where you're
> wearing a headset, that's not a problem, but with demonstrations it's bad.

But... uhm... this is actually... ahh... a Feature!  :-)
Isn't it clever that it can hear and understand its own voice??  So,
well, yes, you're right that in most practical situations you won't
want the SR engine to repeat what it heard every time it hears
anything.  I'd put that in the SAPI backend for development/debugging
purposes.  It's been removed (commented out) now, so you won't have
this problem anymore if you update your source check out.

Kind regards,
-- Chris/Christo (whichever you prefer)


More information about the Python-nl mailing list