Attached please find a plug-in script that can help you out. Copy this plugin to your Ultra Hal Assistant folder and enable it from Hal's general options. When enabled it will force the speech recognition engine to pause recognition as soon as Hal begins processing your last input, thus preventing him from listening to himself once he starts speaking.
The hard part is getting the microphone back on automatically when Hal finishes speaking, which is why this isn't a standard part of Hal. If Hal is generating speech internally, then Hal will automatically send a frmAssistant.ResumeRec command as soon as Hal finishes speaking, which is excatly what you want. However, if a plugin is generating speech, as is the case when either a Haptek or MSAgent character is selected, then there is no way of Hal knowing when it has finished speaking and thus ResumeRec never reenables speech recognition.
So what you need to do is force Hal to generate speech internally. One way of doing this is by choosing a SAPI 5.0 voice and an MSAgent character. If no lip-syncronized character animation is present, that means Hal is internally generating speech and will automatically trigger ResumeRec for you. Another way is to choose an incompatible SAPI 4.0 voice and a Haptek character. Or if you install a voice after Haptek is installed and NEVER run the Haptek SAPI config utility, you can use a Haptek character. Basically, you have to sacrifice syncronized lip movements for this functionality.
I also may be able to dig up a couple Ultra Hal Assistant 4.0 and earlier animated characters that would work no matter what voice you select. Their lips move when Hal speaks, and stop moving when Hal stops speaking, but they just aren't in sync with the audio. One such character is available at
ftp://zabaware.com/cocolr.zip Just be sure to install it in the Ultra Hal Assistant 6\Characters folder
Download Attachment: turnoffsr.uhp1.15 KB