Fun with MS Agent

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Fun with MS Agent

Andy Bower
Folks,

I wrote this as a reply to a question in c.l.s but, since it's fun, I
thought it might be nice to reproduce it here so that other Dolphin users
can play around with MS Agent.

Just in case you don't know, MS Agent is a set of services to allow you to
interface with those annoying little avatar characters that pop up in MS
Office from time to time. There are loads of characters available and you
can get them to talk, make gestures and (although I haven't tried it) even
recognize your speech. I had great fun when my son was younger getting him
to fly Robby the Robot around the screen all driven, of course, from
Dolphin.

Anyway, the interface code is already built in to Dolphin Value Edition and
it's dead easy to play around. First, you have to make sure you have MS
Agent installed:

http://www.microsoft.com/downloads/release.asp?ReleaseID=30332

Then from a Dolphin workspace try this:

"Connect to Agent"
agent := IAgentCtlEx new.
agent connected: true.

"Load Merlin character (there are others).
characters := agent characters load: 'Merlin' loadKey:
'\winnt\msagent\chars\merlin.acs'.
merlin := agent characters character: 'Merlin'
merlin show.
merlin play: 'Greet'.
merlin speak: 'Hello there'.

"Look up possible animations and play around"
merlin animationNames "Display it".
merlin play: 'Reading'.
merlin stop.
merlin play: 'Surprised'.
merlin play: 'Congratulate'
merlin hide.

"Goodbye"
merlin speak: 'Au revoir'.
merlin hide.

If you want to try more characters there's a web-ring with loads to choose
from:

http://www.msagentring.org/

Have fun.

Best Regards,

Andy Bower
Object Arts Ltd.
http://www.object-arts.com
---
Are you trying too hard?
http://www.object-arts.com/Relax.htm
---


Reply | Threaded
Open this post in threaded view
|

Re: Fun with MS Agent

Joey Gibson-2
In article <9j95lg$mfskc$[hidden email]>, bower@object-
arts.com says...

> Just in case you don't know, MS Agent is a set of services to allow you to
> interface with those annoying little avatar characters that pop up in MS
> Office from time to time. There are loads of characters available and you
> can get them to talk, make gestures and (although I haven't tried it) even
> recognize your speech. I had great fun when my son was younger getting him
> to fly Robby the Robot around the screen all driven, of course, from
> Dolphin.

O great! As if I didn't have enough things to do/play with... Now I feel
compelled to write an app that will let my son play with these little
guys. If I could get a Mickey Mouse or a Tigger he'd be in heaven...

Thanks Andy. Really. I mean it....

Joey
--
-- Sun Certified Java2 Programmer
-- My Pocket Smalltalk Stuff: www.joeygibson.com/st
--
-- "We thought about killin' him, but we kinda
--  hated to go that far...."



-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----==  Over 80,000 Newsgroups - 16 Different Servers! =-----


Reply | Threaded
Open this post in threaded view
|

Re: Fun with MS Agent

Bill Schwab-2
Andy,

> >  There are loads of characters available and you
> > can get them to talk, make gestures and (although I haven't tried it)
even
> > recognize your speech. I had great fun when my son was younger getting
him
> > to fly Robby the Robot around the screen all driven, of course, from
> > Dolphin.

I've done a _little_ with the speech recognition.  It appeared that the idea
was to associate a voice trigger (string) with each command and (IIRC) then
ask the agent to listen.  Correct or not, my approach worked provided that
the strings were very different and therefore easy to distinguish.  I'll
admit that I didn't go through the entire training of the recognizer, in
part because my users would never have the patience for it (honest, trust
me!!), and in part because the environment of interest requires multiple
users so training is all but impossible anyway.

Thanks for the pointers to new agent download site and the web ring!

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Fun with MS Agent

Ingo Blank-3
In reply to this post by Andy Bower
Howdy all,

First of all, thanks Andy, for pointing us there.

I have some problems however.
After installing the ActiveX interface for MSAgents - my Dolphin didn't have
it preinstalled - all works so far...

But my characters *DON'T SPEAK* !!!!

Executing:

agent := AgentObjectsIAgentCtlEx new.
agent connected: true.
"Load Merlin character (there are others)."
characters := agent characters load: 'Merlin' loadKey:
'c:\winnt\msagent\chars\Merlin.acs'.
merlin := agent characters character: 'Merlin'.
merlin show.
merlin play: 'Greet'.
merlin speak: 'Hello there'.


shows Merlin greeting, with a _Baloon_ showing 'Hello there'...

Even more surprising, browsing for implementors of 'speak*'
gives:

AgentObjectsIAgentCtlCharacter>>speak:url:
AgentObjectsIAgentCtlCharacter>>Speak:Url:Request


Q: Why responds the merlin object to method speak: ?

I must admit, I'm confused and afraid to have M. Alzheimer or something
else...

What's wrong here?
Why don't they speak ???

Ingo

P.S.

Windows 2000 (Build 2195) SP2
Dolphin 4.01.3
and yes, a speech engine is installed and the Platform SDK examples
work, I can *hear* it, honest...


"Andy Bower" <[hidden email]> schrieb im Newsbeitrag
news:9j95lg$mfskc$[hidden email]...

> Folks,
>
> I wrote this as a reply to a question in c.l.s but, since it's fun, I
> thought it might be nice to reproduce it here so that other Dolphin users
> can play around with MS Agent.
>
> Just in case you don't know, MS Agent is a set of services to allow you to
> interface with those annoying little avatar characters that pop up in MS
> Office from time to time. There are loads of characters available and you
> can get them to talk, make gestures and (although I haven't tried it) even
> recognize your speech. I had great fun when my son was younger getting him
> to fly Robby the Robot around the screen all driven, of course, from
> Dolphin.
>
> Anyway, the interface code is already built in to Dolphin Value Edition
and

> it's dead easy to play around. First, you have to make sure you have MS
> Agent installed:
>
> http://www.microsoft.com/downloads/release.asp?ReleaseID=30332
>
> Then from a Dolphin workspace try this:
>
> "Connect to Agent"
> agent := IAgentCtlEx new.
> agent connected: true.
>
> "Load Merlin character (there are others).
> characters := agent characters load: 'Merlin' loadKey:
> '\winnt\msagent\chars\merlin.acs'.
> merlin := agent characters character: 'Merlin'
> merlin show.
> merlin play: 'Greet'.
> merlin speak: 'Hello there'.
>
> "Look up possible animations and play around"
> merlin animationNames "Display it".
> merlin play: 'Reading'.
> merlin stop.
> merlin play: 'Surprised'.
> merlin play: 'Congratulate'
> merlin hide.
>
> "Goodbye"
> merlin speak: 'Au revoir'.
> merlin hide.
>
> If you want to try more characters there's a web-ring with loads to choose
> from:
>
> http://www.msagentring.org/
>
> Have fun.
>
> Best Regards,
>
> Andy Bower
> Object Arts Ltd.
> http://www.object-arts.com
> ---
> Are you trying too hard?
> http://www.object-arts.com/Relax.htm
> ---
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Fun with MS Agent

Bill Schwab
Ingo,

> and yes, a speech engine is installed and the Platform SDK examples
> work, I can *hear* it, honest...

Ok, that was my first question :)


> But my characters *DON'T SPEAK* !!!!

I'm really just guessing, but, I think you are either sending to the wrong
objects, or at least initializing them incorrectly.  Try this:

control := IAgentCtlEx new.
control connected:true.
characters := control characters.
wildcard := File composePath: SessionManager current windowsDirectory
subPath: 'msagent\chars\*.acs'.
characters contents isEmpty ifTrue: [
 File for: wildcard do: [ :each |
  characters load: (File removeExtension: each fileName) loadKey: each
fileName
 ]
].
agent := characters contents first queryInterface: IAgentCtlCharacterEx.
agent show.
agent speak:'Hello'.


> Even more surprising, browsing for implementors of 'speak*'
> gives:
>
> AgentObjectsIAgentCtlCharacter>>speak:url:
> AgentObjectsIAgentCtlCharacter>>Speak:Url:Request
>
> Q: Why responds the merlin object to method speak: ?

If the above code works, select

   agent speak:'Hello'

again and use Debug It.  Stepping through it will show how IDispatch uses
#doesNotUnderstand: to match the Smalltalk selector to a control method or
property.  If it doesn't work, please let me know and I'll try to fix the
example.

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Fun with MS Agent

Ingo Blank-3
Bill,

I tried your code example, but it's still the same.
They display their texts in balloons, that's all.

Thanks for the hint regarding my question with  the expected "does not
understand" walkback. I understand now, why it works.
I already assumed, that it must be a special behavior for IDispatch, because
I discovered a lot more of those methods in IDispatch descendents.

Is there a way to test the speech engine's functionality in Dolphin
independently of  MSAgents ?

I think there's the rub...

Thanks
Ingo

"Bill Schwab" <[hidden email]> schrieb im Newsbeitrag
news:9jco41$4m7$[hidden email]...

> Ingo,
>
> > and yes, a speech engine is installed and the Platform SDK examples
> > work, I can *hear* it, honest...
>
> Ok, that was my first question :)
>
>
> > But my characters *DON'T SPEAK* !!!!
>
> I'm really just guessing, but, I think you are either sending to the wrong
> objects, or at least initializing them incorrectly.  Try this:
>
> control := IAgentCtlEx new.
> control connected:true.
> characters := control characters.
> wildcard := File composePath: SessionManager current windowsDirectory
> subPath: 'msagent\chars\*.acs'.
> characters contents isEmpty ifTrue: [
>  File for: wildcard do: [ :each |
>   characters load: (File removeExtension: each fileName) loadKey: each
> fileName
>  ]
> ].
> agent := characters contents first queryInterface: IAgentCtlCharacterEx.
> agent show.
> agent speak:'Hello'.
>
>
> > Even more surprising, browsing for implementors of 'speak*'
> > gives:
> >
> > AgentObjectsIAgentCtlCharacter>>speak:url:
> > AgentObjectsIAgentCtlCharacter>>Speak:Url:Request
> >
> > Q: Why responds the merlin object to method speak: ?
>
> If the above code works, select
>
>    agent speak:'Hello'
>
> again and use Debug It.  Stepping through it will show how IDispatch uses
> #doesNotUnderstand: to match the Smalltalk selector to a control method or
> property.  If it doesn't work, please let me know and I'll try to fix the
> example.
>
> Have a good one,
>
> Bill
>
> --
> Wilhelm K. Schwab, Ph.D.
> [hidden email]
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Fun with MS Agent

Bill Schwab
Ingo,

> I tried your code example, but it's still the same.
> They display their texts in balloons, that's all.

In that case, the other thing that comes to mind is that you might not have
the correct speech engine installed.  IIRC, there was mention of the
characters' having their voices compiled for a specific engine.  The old
download page is gone, so I can't look back at it, and don't see anything
suggestive of the details on my machine at home (which works).  If you have
a fast connection, you might download the revised installation (18MB IIRC)
and try installing it.

The web ring site mentions the Lernout & Hauspie engine - that's probably
the one MS wanted, but, no promises :)


> Is there a way to test the speech engine's functionality in Dolphin
> independently of  MSAgents ?

In Dolphin, I'm not sure.  You might try looking for an example page on the
MS site - if it doesn't work, it might point back to the type of speech
engine that's installed.

Sorry I can't be of any real help.

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]