I'm trying to implement kind of translation application.
I consider using the TTS to "speak" the translated text, but when I tried to get the installed voices I get only 2 (en-US male and female).
I see in the MSDN that:
"Only Microsoft-signed voices installed on the system can be used to generate speech. If no language is specified, the voice that most closely matches the language selected by the user in the Language control panel is loaded."
So my question is: how can I get additional voices besides those who already installed in the device?
Thanks in advance,
As suggested by the MSDN article you quoted, the user can add voices by installing appropriate languages in the control panel. Apps will then have access to these voices.
Apps cannot add voices or use voices beyond what are installed on the device.
Related
In my application, I am already using Google TTS but I am amazed by Microsoft TTS because they are providing a lot more useful attributes than Google. Since I am more familiar with Google, I would like to keep my implementation but would still like to be able to use MS attributes like:
<mstts:express-as style="cheerful">
That'd be just amazing!
</mstts:express-as>
Is that possible?
There are no style attributes in Google Text-to-Speech, but you can change the Standard voice to a WaveNet voice[1].
The WaveNet voice synthesizes speech with more human-like emphasis and inflection on syllables, phonemes, and words. You can see all the supported voices in Google Text-to-Speech[2].
[1]https://cloud.google.com/text-to-speech/docs/wavenet#wavenet_voices
[2]https://cloud.google.com/text-to-speech/docs/voices
OS X Lion comes with some fantastic voices from Nuance. I would like to use them from my software, however, currently they require the user to manually go to System Preferences, Dictation and Speech, System Voice -> Customize, then download the voices from Apple. I would like to call something from Objective-C so that that voices that are missing (say Chinese voices) are automatically downloaded in the background. How can this be done?
Incidentally, the available voices on the system can be found using
[NSSpeechSynthesizer availableVoices]
but all the possible voices (so far) can only be found in the Dictation and Speech dialog. Here is how it is done manually:
I highly doubt there is any reliable way to do this.
You should just point the user to a help page explaining the process (preferably a help page on apple's website if possible, since they'll keep it updated if the process changes).
You're going to need root access to do it, which is banned from App Store apps. And it almost certainly needs to tie into the software update process which is extremely complex, completely undocumented, and subject to change at any time.
Alternatively, contact nuance for a license to distribute the voices yourself. They are all for sale. Maybe you can even get a discounted price if you only install if on macs where the user can get them for free.
You can use this AppleScript to programmatically install TTS Voice, but MacOS is coming with all voices!
But Not all are showed in "Dictation & Speech->System Voice".
The reason is that they are very simple(compact) version and MacOS show only the full version of instaled Voice(s) like:"Alex".
Examples:
My Configuration:
You can see that I have only english voices but the next example work perfectly with spanish text.
Swift example:
var voice:NSSpeechSynthesizer = NSSpeechSynthesizer(voice: "com.apple.speech.synthesis.voice.diego")
voice.startSpeakingString("España y los españoles")
Terminal example:
say -v monica "En España a los españoles les encanta paella"
How to get the download list is a mystery... yet...
Using wireshark, it is possible to determine the voice location. Indeed a pkg is downloaded from Apple. Whether credentials, etc. are needed, is a separate issue.
Here are additional sample URLs:
/content/downloads/10/29/041-5265/kKRs5z32DcbrGdV4TZvY9hcqy8tcpkbX43/MLV_en_AU_karen.pkg
After download, could then run installer to install.
Update. I was able to download the pkg from Windows using http. Also, this other link
http://swcdn.apple.com/content/downloads/59/49/041-4469/WNshMBxxbxx5qXv27Mrvxm7yKcSRM75sVw/041-4469.English.dist
gives information about 041-4469 including the package name.
text-to-speech for English language using Visual Basic 2008
Dim speech speech = CreateObject("sapi.spvoice")
speech.speak(TextBox1.Text)
My question, how this can be used for arabic languages ?
thanks
From a Microsoft support article:
"Microsoft does not provide additional speech engines (voices), but a number of third-party products are available that support the new Microsoft Speech API. For information on these products, visit the following Microsoft Web site: http://www.microsoft.com/speech/evaluation/thirdparty/engines.mspx"
Only problem is, that website seems to be down. If you do a search for third-party engines, you'll see a lot of links to that site, too. I'd try to hunt down if it still exists, or try to look for the specific third-party engine you'd need to support Arabic.
No there is no Arabic TTS SAPI available either from MS or third party softwares after searching for long time .
their many online services even few software that support Arabic TTS
Like Acapela which is working only with their software no third party support .
Anyway I think that will not support that much in your project . only if the case you need an Audio output for the text file , not to deal with it interactivity .
Edit==
I just found another software Nuance Vocalizer Voice packs you can found the package here . and this is the Official site .according to the first source it Support SAPI .
I am trying to develop a cocoa application that requires to read highlighted text from any application. But so far I cannot find any decent solution because the accessibility API isn't always work. (e.g. Firefox) Does anyone know how it is implemented in text-to-speech included in Leopard?
I have found this SO question but it isn't solved.
That's a Service, so anywhere that an application identifies its selection as text, the text-to-speech service will work.
I have successfully managed to get System.Speech.Synthesis to read English text in arbitrary voices Anna and Sam. My next task is to localize my application to correctly read Spanish text to our Spanish-speaking clientele.
However, I don't think I am asking the right questions, b/c I cannot find in documentation, forum, group or technology write-up any clear explanation on how this might be done.
1st: Am I correct in saying that there is no setting on the SpeechSynthesizer class or any other Text-To-Speech object? In other words, is it only a matter of installing the correct voice that will read with a Spanish "accent"?
2nd: How does one do this? I have seen links for Spanish libraries that I have tried installing, but I am never able to see these new voices in my Windows XP Speech control panel or in my application's GetInstalledVoices() call.
I am using .Net 3.5 SP 1 one Windows XP SP3, and my code is using Visual Studio 2..8.
If I am missing details, please let me know.
I would appreciate any help.
V
having done this before..
First thing you need to do is get a spanish "Voice Font"..
See http://www.naturalvoices.att.com/
The next thing you need to do is translate your text from english to spanish.
Then you pass your spanish translation into the TTS engine, using the spanish voice font.
Speaker.SelectVoice("<voiceName>");