Archives‎ > ‎MSAGENTS‎ > ‎


Part 3 - Speech

Now that you have the character appearing on the screen you just need to get it to do something. Enter the following command after the Merlin.Show command:

     Merlin.Speak "Hello World!"

As you can see it's easy to get the agent to say something, all you need to do is give it a string with the text to speak and it will talk. Now try this one:

     Merlin.Speak "HELLO WORLD!"


You will notice that the Agent will not speak the words, but will sound out each letter. Remember this when you send text to the agents as you may want to convert it to lowercase before you call the Speak command.

The problem with the Speak command is that the agent does not use things like inflections or dramatic pauses; things we use in everyday speech, so typically when getting the agent to speak long sentences it will sound rather monotone. Lucky this is where speech output tags come in handy.

Part 4 - Speech Output Tags

Speech output tags can be used to modify the way in which words are spoken. All tags start and end with a backslash, and modify the word following the output tag. Whitespace is important so be sure not to leave empty space after your output tag or else your tag will not work properly.

One good example of this is the Emphasis ("Emp") tag. This tag will force the agent to emphasize a word. First lets hear a phrase without the emphasis placed on any word:

     Merlin.Speak "I will emphasize this word."

Now try it with the emphasis tag on the word "this".

     Merlin.Speak "I will emphasize \emp\this word."

Some tags like the Character ("Chr") tag have a parameter you can pass. This parameter must be surrounded by quotes, but since this is a string and the whole text is already in quotes you have to use double-quotes so VB knows that the quotes are part of the string. So to use the "Whisper" parameter for the "Chr" tag we would do this:

     Merlin.Speak "\Chr=""Whisper""\This is an example of whispering."


Another example of a tag that has parameters is the Context ("Ctx") tag. This tag can be used for Email addresses and phone numbers. To see why you may want to use the tag try this:


Notice Merlin said "me at someplace com" instead of "me at someplace dot com". That is because the period is never normally spoken by the agent. To get the agent to speak the period for an Email address you need to use the "Ctx" tag. Try this:

     Merlin.Speak "\Ctx=""Address"\"