msagent characters (when loading), will load the parameters set in the agent file.
if after loaded, you choose another voice in the Hal options, it will replace the voice "in-use". *THIS IS TEMPORARY*
when the agent reloads, it will load the voice in the agent file.
msagents are designed to be sapi4 compatible ONLY (which sucks for me for a number of reasons). Hal overides the current voice selection using the Hal interface (which is sapi5 compatible).
there are some sapi4 voices that are good, such as att voices (crystal, audry, mike). i have tyhe sapi4 and sapi5 versions of these. (they do lack pitch control- which is not a concern for anyone who is not "modifing" the voice), but can be used with agents.
if you want to create an agent, and give it whatever voice you want (sapi4), then try this:
http://msdn.microsoft.com/en-us/library/ms695797(VS.85).aspxif you want to use sapi5 with msagent in Hal, then as far as i know, you will have to let the agent load and then change the voice in the options screen.
hope this helps
-the dude