I’ve tried to use the text-to-speech beta driver in mControl but it just doesn’t seem to work. It may be that something required to make it function just isn’t present or may be broken in the beta release of mControl that I’m using. It’s also possible that just didn’t do something properly in the setup of the driver. Regardless, nothing I did seemed to work so I went back to a command-line tool I had tried previously.

In a previous post I mentioned psexec.exe, which I used to get this to work in the “Run App” component.

The command-line application I’m using is saystatic.exe (or you can use saydynamic.exe). It’s a free tool available at krolik.net. Included below is an example of how I’m using it in “Run App” in conjunction with psexec.exe:

Application

c:\folder\psexec.exe

Parameters

-i 1 c:\folder\saystatic.exe “Hello world.”

Updated: 08/25/2011: An important step, which is mentioned in one of the sources credited in a previous post, is to set the mControl service to interact with the desktop.

Tonight I started working on re-establishing text-to-speech integration in mControl 3 (beta). I don’t think they have a TTS driver available for this version, at least not yet. I just tried to get it working the way it was in my mControl 2 setup. It took a while but I was finally successful.

I am getting a frequent warning about interactive desktop messages for a process that appears to be related to mControl 3 license management. So far, I’ve been able to ignore them (they don’t have any interactions available anyway).

The moment I had text-to-speech working in a macro I realized it wasn’t using my custom voice (due to the user level that I had psexec.exe set to interact with Windows). I came up with a solution, though it’s not the most elegant. On the automation server I created a new, standard user account. After setting up the account I logged into it, set its text-to-speech voice to the custom voice, saved the changes, and then logged out. The final step was to add the user credentials to the psexec.exe parameters. After making these changes I was again able to use the custom voice with psexec.exe within the account I typically use.

In the new setup I didn’t include saystatic.exe directly within the psexec.exe parameters (as part of the macro). Instead, I created a batch file that contains the call for saystatic.exe along with the phrase to speak, and then referenced that from within the psexec.exe parameters. This works out a little better because not only are the parameters within the macro shorter but I can also make some changes from the batch files without having to edit the macros themselves.

Category:
Home Automation, mControl, Projects, Windows
Tags:
, , , , ,

Join the conversation! 1 Comment

  1. […] and require a few seconds to initialize. For playing music this isn’t  a problem. However, using the speakers for text-to-speech can be a problem as the speakers may not initialize before the computer has finished speaking. In […]

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: