original:
http://www.pulsar.org/archive/tav/JMSAgentObj/
archived: http://web.archive.org/web/*/www.pulsar.org/archive/tav/JMSAgentObj/help/
JMSAgentObja NeatTools interface to the Microsoft Agent
by Tav Hawkins and
Rob Salgado (ver. 99 July 27)
NeatTools speaks!
From the
Microsoft Agent home page
:
Microsoft® Agent is a set of software services that supports the
presentation of software agents as interactive personalities within the
Microsoft Windows® interface. Microsoft Agent's conversational interface
approach is an extension and enhancement of the existing interactive
modalities of the Windows interface.
Required Components
You will need the following files.
You can obtain these files at the
Microsoft Agent download page.
They are also provided on the MSDN CDs that accompany the Visual Studio.
Consult the
Microsoft Agent Developer Page for more information.
(Note: Speech recognition
has been implemented in Microsoft Agent. However, this feature
is not yet available in our external module.)
Other available languages: Arabic, French, German, Hebrew, Italian, Japanese, Korean, Simplified Chinese,
Spanish, and Traditional Chinese!
using JMSAgentObj
On the External Module toolbar, the JMSAgentObj looks like
.
When it is copied to the NeatTools desktop,
the Microsoft Agent services will initialize. If there are no problems,
the module label will change from gray to yellow.
First, let's give our Agent Character a name.
Access the PropertyBox by clicking on the lower-right
corner of the module. Then, change the nickname of the Agent Character
Note that we can also change other properties of the Agent Character.
- We can change the X and Y positions of the Agent Character.
These quantities can also be changed via the input ports on the left side
of the module.
- We can change the start up state of the Agent Character.
- We can change the prefix the input text to modify the speech synthesis.
A list of modifiers appears below.
- We can change the Agent Character.
Next, let's make our Agent Character talk.
Connect the string-output of a JLabelObj to the string-input
of the JMSAgentObj module. When this connection is made,
the Agent Character makes its first apperance and converts
the text to speech.
Finally, let's modify the synthesis of the speech.
You can insert modifiers in the string passed to the JMSAgentObj.
Some of these modifiers are specific to this TruVoice speech engine.
Here are some examples
(note that each speech-modifying tag is
enclosed in its own pair of backslashes):
- \Chr="type"\ modifies the character of the voice
- \Chr="Normal"\My name is
Genie for normal speech (default)
- \Chr="Monotone"\My name is
Genie for monotone speech
- \Chr="Whisper"\My name is
Genie for whispered speech
- \Ctx="type"\ modifies the context of the speech
- Call me at \Ctx="Address"\555-1212
for addresses and phone numbers
- My email is \Chr="Email"\salgado@physics.syr.edu
for electronic mail
- This is \Chr="Unknown"\ unknown context
(default)
- \Emp\ emphasizes the next word
- \Lst\ repeats the last spoken statement
- \Map="spokentext"="balloontext"\ maps the spoken text to display the balloon text
- \Mrk=number\ defines a bookmark in the spoken text
- \Pau=number\ pauses for the specified number of milliseconds (range: 10-2250)
- \Pit=number\ sets the baseline pitch in Hertz (range: 50-400)
- \Rst\ resets all tags to the default
- \Spd=number\ sets the baseline average speaking rate in words per minute (range: 50-250)
- \Vol=number\ sets the baseline volume (range: 0-65535)
You can use the preText property to prefix the input string,
thus modifying the default characteristics of your Agent Character's
speech. Here, we want Genie to, by default, speak with a high pitch.
There's a lot more that the Microsoft Agent can do!
Unfortunately, many other features are not yet available in our external module.
Each character has a personality with animated gestures and sound effects, which
can be controlled and scripted.
Speech recognition
has also been implemented in Microsoft Agent.
In addition, the Agent core components provide an ActiveX control that can be used
in a webpage.
For more information, consult the
Microsoft Agent home page
and the
Microsoft Agent Webring
NeatTools developer notes
This external module features:
- implementation of an ActiveX control
- the use of JThread
- the use of JIntegerListProperty, JFileProperty
Here are the source files: