Solved

Speech API select voice under a service

Posted on 2004-09-29
11
867 Views
Last Modified: 2008-01-09
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
Comment
Question by:publicvoid
11 Comments
 

Expert Comment

by:ssiadmin
Comment Utility
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
 
LVL 13

Expert Comment

by:davidlars99
Comment Utility
publicvoid, If you don't mind, can you tell me what progrma is it and how to get it..?
0
 

Expert Comment

by:DarryDoo
Comment Utility
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
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 1

Expert Comment

by:tissier
Comment Utility
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
 

Expert Comment

by:billgell
Comment Utility
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
 
LVL 1

Accepted Solution

by:
quintsystems earned 500 total points
Comment Utility
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
 

Expert Comment

by:DarryDoo
Comment Utility
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

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Introduction                                                 Was the var keyword really only brought out to shorten your syntax? Or have the VB language guys got their way in C#? What type of variable is it? All will be revealed.   Also called…
Article by: Najam
Having new technologies does not mean they will completely replace old components.  Recently I had to create WCF that will be called by VB6 component.  Here I will describe what steps one should follow while doing so, please feel free to post any qu…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now