Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 891
  • Last Modified:

Speech API select voice under a service

Here is an interesting one.  I have a program that has no visible user interface, as it runs as a service.  It does talk Using SPVOICE.

 I would like to have it speak with a certain voice, but it always selects the default voice.  Since there is no user, it cant select the default voice for the user, as there is no user.  So, where does it get the voice it selects?  It seems to pick Sam.  I have a user interface for changing settings (when there is a user logged on) where i would like to set the voice, but it uses an spobjecttoken as the object to select the voice, and i dont know how to save that to the registry.

Thanks!
John Gjonola
0
publicvoid
Asked:
publicvoid
1 Solution
 
ssiadminCommented:
I would try setting the service credentials to your username, restart the servce, and see if it uses the default voice you select for running the parent application in your user context.  If so, then create a user (admin if needed), log that user on and set it's default voice, then log off that user.  This will create a profile for that dummy user and set the HKCU key that likely holds the value.  Set the service to use that dummy user's credentials.  If the dummy user needs to be administrator level, you may want to remove the ability to log on locally in the local security settings (or domain/GPO if you use a domain admin user).
0
 
davidlars99Commented:
publicvoid, If you don't mind, can you tell me what progrma is it and how to get it..?
0
 
DarryDooCommented:
Look in HKEY_USERS\.Default

If you already know the location in the HKCU registry hive where the voice selection is stored, then either update that same location in HKU\.Default, or create it.

If you don't know where it's stored, either search for the voice name, or use a tool such as REGMON from sysinternals.com to monitor the registry as you change the voice.

Note that changing the .DEFAULT key means that users who log on for the first time will receive the configured settings as their initial settings.
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
tissierCommented:
Be carreful with Speech, because on Win 2000, there's only one voice available. Maybe that is your problem ? can you change the voice with a GUI app ?
0
 
billgellCommented:
A Windows service does have a user. Check the Services - Properties, under the Log On tab. The logon defaults to 'Local System account' which is a special Windows user. You might try setting it to log in under another user.
0
 
quintsystemsCommented:
If you install the speach SDK you can get different voices.  Once installed, go to the control panel, speech and the TEXT TO SPEECH tab and you should have three voices to choose from: Microsoft Mary, Microsoft Mike and Microsoft Sam.  I don't know how to get other voices and they might cost money.  I prefer Microsoft Mary.
0
 
DarryDooCommented:
Based on the initial post, "but it always selects the default voice" leads me to believe that the other voices are already installed. Therefore, installing the Speech SDK to get more voices won't resolve the issue.

Just my 2 pesos.
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now