This is a port of the TTS framework as it will be in the next version of Android. There have been a few bug fixes, a brand new settings UI, and a tweaked plugins system.
Speaking of plugins, the plugins system is finalized now. This is a very exciting feature as it means anyone with the knowledge and skills needed to create a voice synthesis engine will be able to make an engine for Android and put it up on Market for everyone else to enjoy! Official platform support for this will be added in the next version of Android, and devices running older versions of Android will still have access to these plugins via TTS Extended. The plugin system is exactly the same, so engine developers can (and should) start testing NOW with TTS Extended.
Please try this new version of TTS out and let me know ASAP if you have any issues. There have been lots of changes and backporting this out of the framework is tricky as I am trying to get all the new features in while still keeping it compatible with existing apps, so your help in testing it out and reporting issues will be very appreciated. Thanks again for your support! :)
I have had been working on porting Flite as a plugin, and while an initial version is released at http://github.com/happyalu/Flite-TTS-Engine-for-Android I am adding the data and engine-settings related activities now. I think some of the plugin activities were not enabled with the 2.1 release, and looking at the changes you posted today, I am very excited.
One feature that I am really wishing for is a way to use, from within Java, the setProperty and getProperty methods implemented in the C++ TtsEngine class. Having access to those will allow for making changes to more customized aspects of the voice than speech rate, pitch, etc.
Maybe, I am missing something, and there already is a way to set plugin properties from Java code. If so, could you please help me with that?
You mentioned that the plugin system is now finalized, so I thought I'd check with you about the property setting methods. Having access to those methods will help me enable some interesting features in Flite. But if it is the case that it's not a good design to expose those methods, it will be good to have it confirmed, so that I can work around it in my code (such as, perhaps from within engine settings.)
> This is a port of the TTS framework as it will be in the next version > of Android. There have been a few bug fixes, a brand new settings UI, > and a tweaked plugins system.
> Speaking of plugins, the plugins system is finalized now. This is a > very exciting feature as it means anyone with the knowledge and skills > needed to create a voice synthesis engine will be able to make an > engine for Android and put it up on Market for everyone else to enjoy! > Official platform support for this will be added in the next version > of Android, and devices running older versions of Android will still > have access to these plugins via TTS Extended. The plugin system is > exactly the same, so engine developers can (and should) start testing > NOW with TTS Extended.
> For examples on building and packaging your own plugin synthesis > engine for Android, see:
> Please try this new version of TTS out and let me know ASAP if you > have any issues. There have been lots of changes and backporting this > out of the framework is tricky as I am trying to get all the new > features in while still keeping it compatible with existing apps, so > your help in testing it out and reporting issues will be very > appreciated. Thanks again for your support! :)
> -Charles
> -- > You received this message because you are subscribed to the Google Groups > "TTS-for-Android" group. > To post to this group, send email to tts-for-android@googlegroups.com. > To unsubscribe from this group, send email to > tts-for-android+unsubscribe@googlegroups.com<tts-for-android%2Bunsubscribe@ googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/tts-for-android?hl=en.
> One feature that I am really wishing for is a way to use, from within Java, > the setProperty and getProperty methods implemented in the C++ TtsEngine > class. Having access to those will allow for making changes to more > customized aspects of the voice than speech rate, pitch, etc.
> Maybe, I am missing something, and there already is a way to set plugin > properties from Java code. If so, could you please help me with that?
> You mentioned that the plugin system is now finalized, so I thought I'd > check with you about the property setting methods. Having access to those > methods will help me enable some interesting features in Flite. But if it is > the case that it's not a good design to expose those methods, it will be > good to have it confirmed, so that I can work around it in my code (such as, > perhaps from within engine settings.)
Our current design is to not expose those. If you want to have some engine specific tweaks in your engine, then engine settings would be the appropriate place to put them.
BTW, your Flite port looks like an awesome project! :)
One other thing, looking through your previous posts, if all you are trying to do is eng-USA-VoiceA vs eng-USA-VoiceB, you can treat the VoiceA/VoiceB part as a variant of the Locale (which consists of language, country, and variant).
On Apr 9, 6:41 pm, clchen <clc...@google.com> wrote:
> > One feature that I am really wishing for is a way to use, from within Java, > > the setProperty and getProperty methods implemented in the C++ TtsEngine > > class. Having access to those will allow for making changes to more > > customized aspects of the voice than speech rate, pitch, etc.
> > Maybe, I am missing something, and there already is a way to set plugin > > properties from Java code. If so, could you please help me with that?
> > You mentioned that the plugin system is now finalized, so I thought I'd > > check with you about the property setting methods. Having access to those > > methods will help me enable some interesting features in Flite. But if it is > > the case that it's not a good design to expose those methods, it will be > > good to have it confirmed, so that I can work around it in my code (such as, > > perhaps from within engine settings.)
> Our current design is to not expose those. If you want to have some > engine specific tweaks in your engine, then engine settings would be > the appropriate place to put them.
> BTW, your Flite port looks like an awesome project! :)
On Fri, Apr 9, 2010 at 9:44 PM, clchen <clc...@google.com> wrote: > One other thing, looking through your previous posts, if all you are > trying to do is eng-USA-VoiceA vs eng-USA-VoiceB, you can treat the > VoiceA/VoiceB part as a variant of the Locale (which consists of > language, country, and variant).
Thanks. I am using the variant for that distinction, so it's good to know from you that it is indeed the right way. Previously, users could only set the language they wanted, but not the variant, so I had to provide a menu to choose the variant from within the app (say, modified randroid) that was using TTS. But now with the new settings UI (that I must confess haven't just yet looked at), I am hoping things are now better :)
Also, we are hoping to have voices available for other languages too, but I'll try and figure out how best to set the language and variant :-) Thanks a bunch for your support.
Great. I have the CheckVoiceData, DownloadVoiceData, GetSample activities all working in the latest framework. The new UI is really nice. I have a couple of questions.
(1) I had to select Flite as the default Engine before the Check/Download activities could be called. Is it possible to install voice data without setting Flite as default engine?
(2) I haven't completely understood how the EngineSettings activity works. The readme file had this: "What the user sets here will be passed to the .so as one String;". Could you please clarify how the string is passed.. That is, where in my native code should I be receiving the settings?
On Fri, Apr 9, 2010 at 10:13 PM, Alok Parlikar <happy...@gmail.com> wrote:
> On Fri, Apr 9, 2010 at 9:44 PM, clchen <clc...@google.com> wrote:
>> One other thing, looking through your previous posts, if all you are >> trying to do is eng-USA-VoiceA vs eng-USA-VoiceB, you can treat the >> VoiceA/VoiceB part as a variant of the Locale (which consists of >> language, country, and variant).
> Thanks. I am using the variant for that distinction, so it's good to know from you that it is indeed the right way. Previously, users could only set the language they wanted, but not the variant, so I had to provide a menu to choose the variant from within the app (say, modified randroid) that was using TTS. But now with the new settings UI (that I must confess haven't just yet looked at), I am hoping things are now better :) > Also, we are hoping to have voices available for other languages too, but I'll try and figure out how best to set the language and variant :-) Thanks a bunch for your support.
(1) "Always use my settings" doesn't seem to work. I have set the default voice to Flite (also tried espeak). I enabled "always use ..." setting.
After enabling it, and using the TTSv3.0 stub, something like
TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); myTTS.speak("This is a sample sentence", 0,null);
still tries to use Pico with default voice settings. More over, Pico fails to synthesize text with this error: E/SVOX Pico Engine( 468): Failed to load textana resource for en-US [-40]
(2) Language setting not persistent I select a default Engine (say, eSpeak), and change the language. Quit the TTS settings. Open the settings again. Now, the previously selected language doesn't show up as selected.
> This is a port of the TTS framework as it will be in the next version > of Android. There have been a few bug fixes, a brand new settings UI, > and a tweaked plugins system.
> Speaking of plugins, the plugins system is finalized now. This is a > very exciting feature as it means anyone with the knowledge and skills > needed to create a voice synthesis engine will be able to make an > engine for Android and put it up on Market for everyone else to enjoy! > Official platform support for this will be added in the next version > of Android, and devices running older versions of Android will still > have access to these plugins via TTS Extended. The plugin system is > exactly the same, so engine developers can (and should) start testing > NOW with TTS Extended.
> Please try this new version of TTS out and let me know ASAP if you > have any issues. There have been lots of changes and backporting this > out of the framework is tricky as I am trying to get all the new > features in while still keeping it compatible with existing apps, so > your help in testing it out and reporting issues will be very > appreciated. Thanks again for your support! :)
> -Charles
> -- > You received this message because you are subscribed to the Google Groups "TTS-for-Android" group. > To post to this group, send email to tts-for-android@googlegroups.com. > To unsubscribe from this group, send email to tts-for-android+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/tts-for-android?hl=en.
On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> wrote: > Hi Charles
> Two issues that I notice:
> (1) "Always use my settings" doesn't seem to work. > I have set the default voice to Flite (also tried espeak). I enabled > "always use ..." setting.
> After enabling it, and using the TTSv3.0 stub, something like
> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); > myTTS.speak("This is a sample sentence", 0,null);
> still tries to use Pico with default voice settings. More over, Pico > fails to synthesize text with this error: > E/SVOX Pico Engine( 468): Failed to load textana resource for en-US [-40]
> (2) Language setting not persistent > I select a default Engine (say, eSpeak), and change the language. Quit > the TTS settings. Open the settings again. Now, the previously > selected language doesn't show up as selected.
> > This is a port of the TTS framework as it will be in the next version > > of Android. There have been a few bug fixes, a brand new settings UI, > > and a tweaked plugins system.
> > Speaking of plugins, the plugins system is finalized now. This is a > > very exciting feature as it means anyone with the knowledge and skills > > needed to create a voice synthesis engine will be able to make an > > engine for Android and put it up on Market for everyone else to enjoy! > > Official platform support for this will be added in the next version > > of Android, and devices running older versions of Android will still > > have access to these plugins via TTS Extended. The plugin system is > > exactly the same, so engine developers can (and should) start testing > > NOW with TTS Extended.
> > For examples on building and packaging your own plugin synthesis > > engine for Android, see:
> > Please try this new version of TTS out and let me know ASAP if you > > have any issues. There have been lots of changes and backporting this > > out of the framework is tricky as I am trying to get all the new > > features in while still keeping it compatible with existing apps, so > > your help in testing it out and reporting issues will be very > > appreciated. Thanks again for your support! :)
> > -Charles
> > -- > > You received this message because you are subscribed to the Google Groups > "TTS-for-Android" group. > > To post to this group, send email to tts-for-android@googlegroups.com. > > To unsubscribe from this group, send email to > tts-for-android+unsubscribe@googlegroups.com<tts-for-android%2Bunsubscribe@ googlegroups.com> > . > > For more options, visit this group at > http://groups.google.com/group/tts-for-android?hl=en.
> -- > You received this message because you are subscribed to the Google Groups > "TTS-for-Android" group. > To post to this group, send email to tts-for-android@googlegroups.com. > To unsubscribe from this group, send email to > tts-for-android+unsubscribe@googlegroups.com<tts-for-android%2Bunsubscribe@ googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/tts-for-android?hl=en.
On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> wrote: > Ok, I'll look into it. BTW, do you have your APK up somewhere that I could > try out?
> On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> wrote:
>> Hi Charles
>> Two issues that I notice:
>> (1) "Always use my settings" doesn't seem to work. >> I have set the default voice to Flite (also tried espeak). I enabled >> "always use ..." setting.
>> After enabling it, and using the TTSv3.0 stub, something like
>> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); >> myTTS.speak("This is a sample sentence", 0,null);
>> still tries to use Pico with default voice settings. More over, Pico >> fails to synthesize text with this error: >> E/SVOX Pico Engine( 468): Failed to load textana resource for en-US [-40]
>> (2) Language setting not persistent >> I select a default Engine (say, eSpeak), and change the language. Quit >> the TTS settings. Open the settings again. Now, the previously >> selected language doesn't show up as selected.
>> > This is a port of the TTS framework as it will be in the next version >> > of Android. There have been a few bug fixes, a brand new settings UI, >> > and a tweaked plugins system.
>> > Speaking of plugins, the plugins system is finalized now. This is a >> > very exciting feature as it means anyone with the knowledge and skills >> > needed to create a voice synthesis engine will be able to make an >> > engine for Android and put it up on Market for everyone else to enjoy! >> > Official platform support for this will be added in the next version >> > of Android, and devices running older versions of Android will still >> > have access to these plugins via TTS Extended. The plugin system is >> > exactly the same, so engine developers can (and should) start testing >> > NOW with TTS Extended.
>> > For examples on building and packaging your own plugin synthesis >> > engine for Android, see:
>> > Please try this new version of TTS out and let me know ASAP if you >> > have any issues. There have been lots of changes and backporting this >> > out of the framework is tricky as I am trying to get all the new >> > features in while still keeping it compatible with existing apps, so >> > your help in testing it out and reporting issues will be very >> > appreciated. Thanks again for your support! :)
>> > -Charles
>> > -- >> > You received this message because you are subscribed to the Google >> > Groups "TTS-for-Android" group. >> > To post to this group, send email to tts-for-android@googlegroups.com. >> > To unsubscribe from this group, send email to >> > tts-for-android+unsubscribe@googlegroups.com. >> > For more options, visit this group at >> > http://groups.google.com/group/tts-for-android?hl=en.
>> -- >> You received this message because you are subscribed to the Google Groups >> "TTS-for-Android" group. >> To post to this group, send email to tts-for-android@googlegroups.com. >> To unsubscribe from this group, send email to >> tts-for-android+unsubscribe@googlegroups.com. >> For more options, visit this group at >> http://groups.google.com/group/tts-for-android?hl=en.
> -- > You received this message because you are subscribed to the Google Groups > "TTS-for-Android" group. > To post to this group, send email to tts-for-android@googlegroups.com. > To unsubscribe from this group, send email to > tts-for-android+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/tts-for-android?hl=en.
-Fixed the language setting not persistent problem. Actually, the setting was persistent, but it wasn't being displayed properly - good catch.
Can you please be more specific about the problem that you are having with "Always use my settings" doesn't seem to work? Flite is working just fine for me. Steps that I used:
1. Install Flite 2. Install voice data 3. Set Flite as default and made sure Flite worked inside the settings app. 4. Started up an app that uses TTS (Speaking Pad for example).
The app spoke with Flite as expected.
-Charles
On Apr 12, 11:01 am, Alok Parlikar <happy...@gmail.com> wrote:
> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> wrote: > > Ok, I'll look into it. BTW, do you have your APK up somewhere that I could > > try out?
> > On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> wrote:
> >> Hi Charles
> >> Two issues that I notice:
> >> (1) "Always use my settings" doesn't seem to work. > >> I have set the default voice to Flite (also tried espeak). I enabled > >> "always use ..." setting.
> >> After enabling it, and using the TTSv3.0 stub, something like
> >> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); > >> myTTS.speak("This is a sample sentence", 0,null);
> >> still tries to use Pico with default voice settings. More over, Pico > >> fails to synthesize text with this error: > >> E/SVOX Pico Engine( 468): Failed to load textana resource for en-US [-40]
> >> (2) Language setting not persistent > >> I select a default Engine (say, eSpeak), and change the language. Quit > >> the TTS settings. Open the settings again. Now, the previously > >> selected language doesn't show up as selected.
> >> > This is a port of the TTS framework as it will be in the next version > >> > of Android. There have been a few bug fixes, a brand new settings UI, > >> > and a tweaked plugins system.
> >> > Speaking of plugins, the plugins system is finalized now. This is a > >> > very exciting feature as it means anyone with the knowledge and skills > >> > needed to create a voice synthesis engine will be able to make an > >> > engine for Android and put it up on Market for everyone else to enjoy! > >> > Official platform support for this will be added in the next version > >> > of Android, and devices running older versions of Android will still > >> > have access to these plugins via TTS Extended. The plugin system is > >> > exactly the same, so engine developers can (and should) start testing > >> > NOW with TTS Extended.
> >> > For examples on building and packaging your own plugin synthesis > >> > engine for Android, see:
> >> > Please try this new version of TTS out and let me know ASAP if you > >> > have any issues. There have been lots of changes and backporting this > >> > out of the framework is tricky as I am trying to get all the new > >> > features in while still keeping it compatible with existing apps, so > >> > your help in testing it out and reporting issues will be very > >> > appreciated. Thanks again for your support! :)
> >> > -Charles
> >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups "TTS-for-Android" group. > >> > To post to this group, send email to tts-for-android@googlegroups.com. > >> > To unsubscribe from this group, send email to > >> > tts-for-android+unsubscribe@googlegroups.com. > >> > For more options, visit this group at > >> >http://groups.google.com/group/tts-for-android?hl=en.
> >> -- > >> You received this message because you are subscribed to the Google Groups > >> "TTS-for-Android" group. > >> To post to this group, send email to tts-for-android@googlegroups.com. > >> To unsubscribe from this group, send email to > >> tts-for-android+unsubscribe@googlegroups.com. > >> For more options, visit this group at > >>http://groups.google.com/group/tts-for-android?hl=en.
> > -- > > You received this message because you are subscribed to the Google Groups > > "TTS-for-Android" group. > > To post to this group, send email to tts-for-android@googlegroups.com. > > To unsubscribe from this group, send email to > > tts-for-android+unsubscribe@googlegroups.com. > > For more options, visit this group at > >http://groups.google.com/group/tts-for-android?hl=en.
Thank you for the quick fix! Language setting is now fixed.
Here are the steps with which I can reproduce the second problem I referred to:
1. Install Flite. 2. Install voice data. 3. Check Flite as default, select one of the languages (say, eng-USA-male,aup) in language settings. 4. Click on "listen an example" to confirm it works. 5. Open Speaking Pad. Try to synthesize something. It works correctly! 6. Close Speaking Pad. 7. Open Speaking Pad again. 8. Now it doesn't work any more.
Here is what I think happens: (a) In Step 4, the TTS service loads and initializes flite. Sets the language to eng-USA-male,aup.
(b) In Step 5, Speaking pad requests just the language eng-USA
E/TtsService(16551): Creating synth thread for: est V/TtsService(16551): TtsService.setLanguage(eng, USA, ) I/FliteEngine(16551): TtsEngine::setLanguage: lang=eng, country=USA, variant= E/FliteEngine(16551): TtsEngine::setLanguage: Unsupported variant of voice.
Flite had a previous voice set, setting a new voice failed, so it kept using the previously set voice. Which is how synthesis works in step (5).
(c) Closing Speaking pad in step (6) calls tts.shutdown:
(d) Opening Speaking pad again in step (7) now re-loads Flite
V/TtsService(16551): TtsService.onCreate() E/TTS is loading(16551): /data/data/edu.cmu.cs.speech.tts.flite/lib/libttsflite.so V/SynthProxy(16551): AudioTrack started I/ActivityManager( 74): Displayed activity com.ideal.speakingpad/.SpeakingPad: 502 ms (total 502 ms) I/FliteEngine(16551): TtsEngine::getTtsEngine I/FliteEngine(16551): TtsEngine::init start I/FliteEngine(16551): Starting setVoiceList I/FliteEngine(16551): Creating a generic clustergen voice loader. I/FliteEngine(16551): Voices are being loaded. Maximum Linked voices: 0. Registr ation mode: 0 I/FliteEngine(16551): setVoiceList: list initialized I/FliteEngine(16551): setVoiceList done E/FliteEngine(16551): TTSEngine::init Voice list error V/TtsService(16551): TtsService.setLanguage(eng, USA, ) I/FliteEngine(16551): TtsEngine::setLanguage: lang=eng, country=USA, variant= E/FliteEngine(16551): TtsEngine::setLanguage: Unsupported variant of voice.
Since flite had no previous voice set in this session, synthesis fails with this error: E/FliteEngine(16551): Voices not loaded?
To summarize,
* I set the default language to eng-USA-male,aup * When a new app tries to set the language, the variant is not overriden. * Flite currently requires variant to be set. Otherwise it refuses to load the voices. (I'll fix it in the next version to use fallback voices). * So a fresh loading of libttsflite.so will result in no synthesis from apps. * Clicking the "Listen to Sample" menu in TTS settings will set the correct variant again, thus getting flite to work again :-)
> -Fixed the language setting not persistent problem. Actually, the > setting was persistent, but it wasn't being displayed properly - good > catch.
> Can you please be more specific about the problem that you are having > with "Always use my settings" doesn't seem to work? Flite is working > just fine for me. Steps that I used:
> 1. Install Flite > 2. Install voice data > 3. Set Flite as default and made sure Flite worked inside the settings > app. > 4. Started up an app that uses TTS (Speaking Pad for example).
>> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> wrote: >> > Ok, I'll look into it. BTW, do you have your APK up somewhere that I could >> > try out?
>> > On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> wrote:
>> >> Hi Charles
>> >> Two issues that I notice:
>> >> (1) "Always use my settings" doesn't seem to work. >> >> I have set the default voice to Flite (also tried espeak). I enabled >> >> "always use ..." setting.
>> >> After enabling it, and using the TTSv3.0 stub, something like
>> >> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); >> >> myTTS.speak("This is a sample sentence", 0,null);
>> >> still tries to use Pico with default voice settings. More over, Pico >> >> fails to synthesize text with this error: >> >> E/SVOX Pico Engine( 468): Failed to load textana resource for en-US [-40]
>> >> (2) Language setting not persistent >> >> I select a default Engine (say, eSpeak), and change the language. Quit >> >> the TTS settings. Open the settings again. Now, the previously >> >> selected language doesn't show up as selected.
>> >> > This is a port of the TTS framework as it will be in the next version >> >> > of Android. There have been a few bug fixes, a brand new settings UI, >> >> > and a tweaked plugins system.
>> >> > Speaking of plugins, the plugins system is finalized now. This is a >> >> > very exciting feature as it means anyone with the knowledge and skills >> >> > needed to create a voice synthesis engine will be able to make an >> >> > engine for Android and put it up on Market for everyone else to enjoy! >> >> > Official platform support for this will be added in the next version >> >> > of Android, and devices running older versions of Android will still >> >> > have access to these plugins via TTS Extended. The plugin system is >> >> > exactly the same, so engine developers can (and should) start testing >> >> > NOW with TTS Extended.
>> >> > For examples on building and packaging your own plugin synthesis >> >> > engine for Android, see:
>> >> > Please try this new version of TTS out and let me know ASAP if you >> >> > have any issues. There have been lots of changes and backporting this >> >> > out of the framework is tricky as I am trying to get all the new >> >> > features in while still keeping it compatible with existing apps, so >> >> > your help in testing it out and reporting issues will be very >> >> > appreciated. Thanks again for your support! :)
>> >> > -Charles
>> >> > -- >> >> > You received this message because you are subscribed to the Google >> >> > Groups "TTS-for-Android" group. >> >> > To post to this group, send email to tts-for-android@googlegroups.com. >> >> > To unsubscribe from this group, send email to >> >> > tts-for-android+unsubscribe@googlegroups.com. >> >> > For more options, visit this group at >> >> >http://groups.google.com/group/tts-for-android?hl=en.
>> >> -- >> >> You received this message because you are subscribed to the Google Groups >> >> "TTS-for-Android" group. >> >> To post to this group, send email to tts-for-android@googlegroups.com. >> >> To unsubscribe from this group, send email to >> >> tts-for-android+unsubscribe@googlegroups.com. >> >> For more options, visit this group at >> >>http://groups.google.com/group/tts-for-android?hl=en.
>> > -- >> > You received this message because you are subscribed to the Google Groups >> > "TTS-for-Android" group. >> > To post to this group, send email to tts-for-android@googlegroups.com. >> > To unsubscribe from this group, send email to >> > tts-for-android+unsubscribe@googlegroups.com. >> > For more options, visit this group at >> >http://groups.google.com/group/tts-for-android?hl=en.
> -- > You received this message because you are subscribed to the Google Groups "TTS-for-Android" group. > To post to this group, send email to tts-for-android@googlegroups.com. > To unsubscribe from this group, send email to tts-for-android+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/tts-for-android?hl=en.
The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
When I set it as default, and opt for "always use my settings", and then use speaking pad, I still get this in logcat:
V/TtsService(17679): TTS processing: test utterance from speaking pad E/TtsService(17679): Creating synth thread for: test utterance from speaking pad V/TtsService(17679): TtsService.setLanguage(eng, USA, ) I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, variant=
instead of what I think it should be TtsService.setLanguage(eng,IND,"male,aup")
On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> wrote: > Thank you for the quick fix! Language setting is now fixed.
> Here are the steps with which I can reproduce the second problem I referred to:
> 1. Install Flite. > 2. Install voice data. > 3. Check Flite as default, select one of the languages (say, > eng-USA-male,aup) in language settings. > 4. Click on "listen an example" to confirm it works. > 5. Open Speaking Pad. Try to synthesize something. It works correctly! > 6. Close Speaking Pad. > 7. Open Speaking Pad again. > 8. Now it doesn't work any more.
> Here is what I think happens: > (a) In Step 4, the TTS service loads and initializes flite. Sets the > language to eng-USA-male,aup.
> (b) In Step 5, Speaking pad requests just the language eng-USA
> E/TtsService(16551): Creating synth thread for: est > V/TtsService(16551): TtsService.setLanguage(eng, USA, ) > I/FliteEngine(16551): TtsEngine::setLanguage: lang=eng, country=USA, variant= > E/FliteEngine(16551): TtsEngine::setLanguage: Unsupported variant of voice.
> Flite had a previous voice set, setting a new voice failed, so it kept > using the previously set voice. Which is how synthesis works in step > (5).
> (c) Closing Speaking pad in step (6) calls tts.shutdown:
> (d) Opening Speaking pad again in step (7) now re-loads Flite
> V/TtsService(16551): TtsService.onCreate() > E/TTS is loading(16551): > /data/data/edu.cmu.cs.speech.tts.flite/lib/libttsflite.so > V/SynthProxy(16551): AudioTrack started > I/ActivityManager( 74): Displayed activity com.ideal.speakingpad/.SpeakingPad: > 502 ms (total 502 ms) > I/FliteEngine(16551): TtsEngine::getTtsEngine > I/FliteEngine(16551): TtsEngine::init start > I/FliteEngine(16551): Starting setVoiceList > I/FliteEngine(16551): Creating a generic clustergen voice loader. > I/FliteEngine(16551): Voices are being loaded. Maximum Linked voices: 0. Registr > ation mode: 0 > I/FliteEngine(16551): setVoiceList: list initialized > I/FliteEngine(16551): setVoiceList done > E/FliteEngine(16551): TTSEngine::init Voice list error > V/TtsService(16551): TtsService.setLanguage(eng, USA, ) > I/FliteEngine(16551): TtsEngine::setLanguage: lang=eng, country=USA, variant= > E/FliteEngine(16551): TtsEngine::setLanguage: Unsupported variant of voice.
> Since flite had no previous voice set in this session, synthesis fails > with this error: > E/FliteEngine(16551): Voices not loaded?
> To summarize,
> * I set the default language to eng-USA-male,aup > * When a new app tries to set the language, the variant is not overriden. > * Flite currently requires variant to be set. Otherwise it refuses to > load the voices. (I'll fix it in the next version to use fallback > voices). > * So a fresh loading of libttsflite.so will result in no synthesis from apps. > * Clicking the "Listen to Sample" menu in TTS settings will set the > correct variant again, thus getting flite to work again :-)
>> -Fixed the language setting not persistent problem. Actually, the >> setting was persistent, but it wasn't being displayed properly - good >> catch.
>> Can you please be more specific about the problem that you are having >> with "Always use my settings" doesn't seem to work? Flite is working >> just fine for me. Steps that I used:
>> 1. Install Flite >> 2. Install voice data >> 3. Set Flite as default and made sure Flite worked inside the settings >> app. >> 4. Started up an app that uses TTS (Speaking Pad for example).
>>> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> wrote: >>> > Ok, I'll look into it. BTW, do you have your APK up somewhere that I could >>> > try out?
>>> > On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> wrote:
>>> >> Hi Charles
>>> >> Two issues that I notice:
>>> >> (1) "Always use my settings" doesn't seem to work. >>> >> I have set the default voice to Flite (also tried espeak). I enabled >>> >> "always use ..." setting.
>>> >> After enabling it, and using the TTSv3.0 stub, something like
>>> >> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); >>> >> myTTS.speak("This is a sample sentence", 0,null);
>>> >> still tries to use Pico with default voice settings. More over, Pico >>> >> fails to synthesize text with this error: >>> >> E/SVOX Pico Engine( 468): Failed to load textana resource for en-US [-40]
>>> >> (2) Language setting not persistent >>> >> I select a default Engine (say, eSpeak), and change the language. Quit >>> >> the TTS settings. Open the settings again. Now, the previously >>> >> selected language doesn't show up as selected.
>>> >> > This is a port of the TTS framework as it will be in the next version >>> >> > of Android. There have been a few bug fixes, a brand new settings UI, >>> >> > and a tweaked plugins system.
>>> >> > Speaking of plugins, the plugins system is finalized now. This is a >>> >> > very exciting feature as it means anyone with the knowledge and skills >>> >> > needed to create a voice synthesis engine will be able to make an >>> >> > engine for Android and put it up on Market for everyone else to enjoy! >>> >> > Official platform support for this will be added in the next version >>> >> > of Android, and devices running older versions of Android will still >>> >> > have access to these plugins via TTS Extended. The plugin system is >>> >> > exactly the same, so engine developers can (and should) start testing >>> >> > NOW with TTS Extended.
>>> >> > For examples on building and packaging your own plugin synthesis >>> >> > engine for Android, see:
>>> >> > Please try this new version of TTS out and let me know ASAP if you >>> >> > have any issues. There have been lots of changes and backporting this >>> >> > out of the framework is tricky as I am trying to get all the new >>> >> > features in while still keeping it compatible with existing apps, so >>> >> > your help in testing it out and reporting issues will be very >>> >> > appreciated. Thanks again for your support! :)
>>> >> > -Charles
>>> >> > -- >>> >> > You received this message because you are subscribed to the Google >>> >> > Groups "TTS-for-Android" group. >>> >> > To post to this group, send email to tts-for-android@googlegroups.com. >>> >> > To unsubscribe from this group, send email to >>> >> > tts-for-android+unsubscribe@googlegroups.com. >>> >> > For more options, visit this group at >>> >> >http://groups.google.com/group/tts-for-android?hl=en.
>>> >> -- >>> >> You received this message because you are subscribed to the Google Groups >>> >> "TTS-for-Android" group. >>> >> To post to this group, send email to tts-for-android@googlegroups.com. >>> >> To unsubscribe from this group, send email to >>> >> tts-for-android+unsubscribe@googlegroups.com. >>> >> For more options, visit this group at >>> >>http://groups.google.com/group/tts-for-android?hl=en.
>>> > -- >>> > You received this message because you are subscribed to the Google Groups >>> > "TTS-for-Android" group. >>> > To post to this group, send email to tts-for-android@googlegroups.com. >>> > To unsubscribe from this group, send email to >>> > tts-for-android+unsubscribe@googlegroups.com. >>> > For more options, visit this group at >>> >http://groups.google.com/group/tts-for-android?hl=en.
>> -- >> You received this message because you are subscribed to the Google Groups "TTS-for-Android" group. >> To post to this group, send email to tts-for-android@googlegroups.com. >> To unsubscribe from this group, send email to tts-for-android+unsubscribe@googlegroups.com. >> For more options, visit this group at http://groups.google.com/group/tts-for-android?hl=en.
I'll look into why the "Always use my settings" is not working in this case, but engines should NOT require country or variant to be set (if not specified, the engine should default to something sensible).
Also, it is worth mentioning that if the app requests eng, GBR (British English) but the current engine only has eng, USA, the expected behavior is that the TTS will return LANG_AVAILABLE ( http://developer.android.com/reference/android/speech/tts/TextToSpeec...) and then use the eng, USA voice rather than fail completely.
On Tue, Apr 13, 2010 at 4:38 AM, Alok Parlikar <happy...@gmail.com> wrote: > Correction to the previous mail:
> The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
> When I set it as default, and opt for "always use my settings", and > then use speaking pad, I still get this in logcat:
> V/TtsService(17679): TTS processing: test utterance from speaking pad > E/TtsService(17679): Creating synth thread for: test utterance from > speaking pad > V/TtsService(17679): TtsService.setLanguage(eng, USA, ) > I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, > variant=
> instead of what I think it should be > TtsService.setLanguage(eng,IND,"male,aup")
> - Alok
> On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> > wrote: > > Thank you for the quick fix! Language setting is now fixed.
> > Here are the steps with which I can reproduce the second problem I > referred to:
> > 1. Install Flite. > > 2. Install voice data. > > 3. Check Flite as default, select one of the languages (say, > > eng-USA-male,aup) in language settings. > > 4. Click on "listen an example" to confirm it works. > > 5. Open Speaking Pad. Try to synthesize something. It works correctly! > > 6. Close Speaking Pad. > > 7. Open Speaking Pad again. > > 8. Now it doesn't work any more.
> > Here is what I think happens: > > (a) In Step 4, the TTS service loads and initializes flite. Sets the > > language to eng-USA-male,aup.
> > (b) In Step 5, Speaking pad requests just the language eng-USA
> > Flite had a previous voice set, setting a new voice failed, so it kept > > using the previously set voice. Which is how synthesis works in step > > (5).
> > (c) Closing Speaking pad in step (6) calls tts.shutdown:
> > Since flite had no previous voice set in this session, synthesis fails > > with this error: > > E/FliteEngine(16551): Voices not loaded?
> > To summarize,
> > * I set the default language to eng-USA-male,aup > > * When a new app tries to set the language, the variant is not overriden. > > * Flite currently requires variant to be set. Otherwise it refuses to > > load the voices. (I'll fix it in the next version to use fallback > > voices). > > * So a fresh loading of libttsflite.so will result in no synthesis from > apps. > > * Clicking the "Listen to Sample" menu in TTS settings will set the > > correct variant again, thus getting flite to work again :-)
> >> -Fixed the language setting not persistent problem. Actually, the > >> setting was persistent, but it wasn't being displayed properly - good > >> catch.
> >> Can you please be more specific about the problem that you are having > >> with "Always use my settings" doesn't seem to work? Flite is working > >> just fine for me. Steps that I used:
> >> 1. Install Flite > >> 2. Install voice data > >> 3. Set Flite as default and made sure Flite worked inside the settings > >> app. > >> 4. Started up an app that uses TTS (Speaking Pad for example).
> >>> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> > wrote: > >>> > Ok, I'll look into it. BTW, do you have your APK up somewhere that I > could > >>> > try out?
> >>> > On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> > wrote:
> >>> >> Hi Charles
> >>> >> Two issues that I notice:
> >>> >> (1) "Always use my settings" doesn't seem to work. > >>> >> I have set the default voice to Flite (also tried espeak). I enabled > >>> >> "always use ..." setting.
> >>> >> After enabling it, and using the TTSv3.0 stub, something like
> >>> >> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); > >>> >> myTTS.speak("This is a sample sentence", 0,null);
> >>> >> still tries to use Pico with default voice settings. More over, Pico > >>> >> fails to synthesize text with this error: > >>> >> E/SVOX Pico Engine( 468): Failed to load textana resource for en-US > [-40]
> >>> >> (2) Language setting not persistent > >>> >> I select a default Engine (say, eSpeak), and change the language. > Quit > >>> >> the TTS settings. Open the settings again. Now, the previously > >>> >> selected language doesn't show up as selected.
> >>> >> - Alok
> >>> >> On Fri, Apr 9, 2010 at 8:52 PM, clchen <clc...@google.com> wrote: > >>> >> > The first Text-To-Speech Extended 3.0 release candidate is now > >>> >> > available in the downloads area! > >>> >> >http://eyes-free.googlecode.com/files/tts_3.0_rc00.apk
> >>> >> > This is a port of the TTS framework as it will be in the next > version > >>> >> > of Android. There have been a few bug fixes, a brand new settings > UI, > >>> >> > and a tweaked plugins system.
> >>> >> > Speaking of plugins, the plugins system is finalized now. This is > a > >>> >> > very exciting feature as it means anyone with the knowledge and > skills > >>> >> > needed to create a voice synthesis engine will be able to make an > >>> >> > engine for Android and put it up on Market for everyone else to > enjoy! > >>> >> > Official platform support for this will be added in the next > version > >>> >> > of Android, and devices running older versions of Android will > still > >>> >> > have access to these plugins via TTS Extended. The plugin system > is > >>> >> > exactly the same, so engine developers can (and should) start > testing > >>> >> > NOW with TTS Extended.
> >>> >> > For examples on building and packaging your own plugin synthesis > >>> >> > engine for Android, see:
> >>> >> > Please try this new version of TTS out and let me know ASAP if you > >>> >> > have any issues. There have been lots of changes and backporting > this > >>> >> > out of the framework is tricky as I am trying to get all the new > >>> >> > features in while still keeping it compatible with existing apps, > so > >>> >> > your help in testing it out and reporting issues will be very > >>> >> > appreciated. Thanks again for your support! :)
> >>> >> > -Charles
> >>> >> > -- > >>> >> > You received this message because you are subscribed to the Google > >>> >> > Groups "TTS-for-Android" group. > >>> >> > To post to this group, send email to > tts-for-android@googlegroups.com. > >>> >> > To unsubscribe from this group, send email to > >>> >> > tts-for-android+unsubscribe@googlegroups.com<tts-for-android%2Bunsubscribe@ googlegroups.com> > . > >>> >> > For more options, visit this group at > >>> >> >http://groups.google.com/group/tts-for-android?hl=en.
> >>> >> -- > >>> >> You received this message because you are subscribed to the Google > Groups > >>> >> "TTS-for-Android" group. > >>> >> To post to this group, send email to > tts-for-android@googlegroups.com. > >>> >> To unsubscribe from this group, send email
Yes. Currently, isLanguageAvailable returns the right value (best available support). However, setLanguage doesn't fall back to best available voice. I have the fix almost done so I'll push it out soon.
I'll also add to the DownloadVoiceData activity code to list installed voices and uninstall them.
On Tue, Apr 13, 2010 at 3:20 PM, Charles Chen <clc...@google.com> wrote: > I'll look into why the "Always use my settings" is not working in this case, > but engines should NOT require country or variant to be set (if not > specified, the engine should default to something sensible).
> Also, it is worth mentioning that if the app requests eng, GBR (British > English) but the current engine only has eng, USA, the expected behavior is > that the TTS will return LANG_AVAILABLE > (http://developer.android.com/reference/android/speech/tts/TextToSpeec...) > and then use the eng, USA voice rather than fail completely.
> -Charles
> On Tue, Apr 13, 2010 at 4:38 AM, Alok Parlikar <happy...@gmail.com> wrote:
>> Correction to the previous mail:
>> The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
>> When I set it as default, and opt for "always use my settings", and >> then use speaking pad, I still get this in logcat:
>> V/TtsService(17679): TTS processing: test utterance from speaking pad >> E/TtsService(17679): Creating synth thread for: test utterance from >> speaking pad >> V/TtsService(17679): TtsService.setLanguage(eng, USA, ) >> I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, >> variant=
>> instead of what I think it should be >> TtsService.setLanguage(eng,IND,"male,aup")
>> - Alok
>> On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> >> wrote: >> > Thank you for the quick fix! Language setting is now fixed.
>> > Here are the steps with which I can reproduce the second problem I >> > referred to:
>> > 1. Install Flite. >> > 2. Install voice data. >> > 3. Check Flite as default, select one of the languages (say, >> > eng-USA-male,aup) in language settings. >> > 4. Click on "listen an example" to confirm it works. >> > 5. Open Speaking Pad. Try to synthesize something. It works correctly! >> > 6. Close Speaking Pad. >> > 7. Open Speaking Pad again. >> > 8. Now it doesn't work any more.
>> > Here is what I think happens: >> > (a) In Step 4, the TTS service loads and initializes flite. Sets the >> > language to eng-USA-male,aup.
>> > (b) In Step 5, Speaking pad requests just the language eng-USA
>> > Flite had a previous voice set, setting a new voice failed, so it kept >> > using the previously set voice. Which is how synthesis works in step >> > (5).
>> > (c) Closing Speaking pad in step (6) calls tts.shutdown:
>> > Since flite had no previous voice set in this session, synthesis fails >> > with this error: >> > E/FliteEngine(16551): Voices not loaded?
>> > To summarize,
>> > * I set the default language to eng-USA-male,aup >> > * When a new app tries to set the language, the variant is not >> > overriden. >> > * Flite currently requires variant to be set. Otherwise it refuses to >> > load the voices. (I'll fix it in the next version to use fallback >> > voices). >> > * So a fresh loading of libttsflite.so will result in no synthesis from >> > apps. >> > * Clicking the "Listen to Sample" menu in TTS settings will set the >> > correct variant again, thus getting flite to work again :-)
>> >> -Fixed the language setting not persistent problem. Actually, the >> >> setting was persistent, but it wasn't being displayed properly - good >> >> catch.
>> >> Can you please be more specific about the problem that you are having >> >> with "Always use my settings" doesn't seem to work? Flite is working >> >> just fine for me. Steps that I used:
>> >> 1. Install Flite >> >> 2. Install voice data >> >> 3. Set Flite as default and made sure Flite worked inside the settings >> >> app. >> >> 4. Started up an app that uses TTS (Speaking Pad for example).
>> >>> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> >> >>> wrote: >> >>> > Ok, I'll look into it. BTW, do you have your APK up somewhere that I >> >>> > could >> >>> > try out?
>> >>> > On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> >> >>> > wrote:
>> >>> >> Hi Charles
>> >>> >> Two issues that I notice:
>> >>> >> (1) "Always use my settings" doesn't seem to work. >> >>> >> I have set the default voice to Flite (also tried espeak). I >> >>> >> enabled >> >>> >> "always use ..." setting.
>> >>> >> After enabling it, and using the TTSv3.0 stub, something like
>> >>> >> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); >> >>> >> myTTS.speak("This is a sample sentence", 0,null);
>> >>> >> still tries to use Pico with default voice settings. More over, >> >>> >> Pico >> >>> >> fails to synthesize text with this error: >> >>> >> E/SVOX Pico Engine( 468): Failed to load textana resource for >> >>> >> en-US [-40]
>> >>> >> (2) Language setting not persistent >> >>> >> I select a default Engine (say, eSpeak), and change the language. >> >>> >> Quit >> >>> >> the TTS settings. Open the settings again. Now, the previously >> >>> >> selected language doesn't show up as selected.
>> >>> >> - Alok
>> >>> >> On Fri, Apr 9, 2010 at 8:52 PM, clchen <clc...@google.com> wrote: >> >>> >> > The first Text-To-Speech Extended 3.0 release candidate is now >> >>> >> > available in the downloads area! >> >>> >> >http://eyes-free.googlecode.com/files/tts_3.0_rc00.apk
>> >>> >> > This is a port of the TTS framework as it will be in the next >> >>> >> > version >> >>> >> > of Android. There have been a few bug fixes, a brand new settings >> >>> >> > UI, >> >>> >> > and a tweaked plugins system.
>> >>> >> > Speaking of plugins, the plugins system is finalized now. This is >> >>> >> > a >> >>> >> > very exciting feature as it means anyone with the knowledge and >> >>> >> > skills >> >>> >> > needed to create a voice synthesis engine will be able to make an >> >>> >> > engine for Android and put it up on Market for everyone else to >> >>> >> > enjoy! >> >>> >> > Official platform support for this will be added in the next >> >>> >> > version >> >>> >> > of Android, and devices running older versions of Android will >> >>> >> > still >> >>> >> > have access to these plugins via TTS Extended. The plugin system >> >>> >> > is >> >>> >> > exactly the same, so engine developers can (and should) start >> >>> >> > testing >> >>> >> > NOW with TTS Extended.
>> >>> >> > For examples on building and packaging your own plugin synthesis >> >>> >> > engine for Android, see:
>> >>> >> > Please try this new version of TTS out and let me know ASAP if >> >>> >> > you >> >>> >> > have any issues. There have been lots of changes and backporting >> >>> >> > this >> >>> >> > out of the framework is tricky as I am trying to get all the new >> >>> >> > features in while still keeping it compatible with existing apps, >> >>> >> > so >> >>> >> > your help in testing it out and reporting issues
> Yes. Currently, isLanguageAvailable returns the right value (best > available support). However, setLanguage doesn't fall back to best > available voice. I have the fix almost done so I'll push it out soon.
> I'll also add to the DownloadVoiceData activity code to list installed > voices and uninstall them.
> Thanks again for your help. > - Alok
> On Tue, Apr 13, 2010 at 3:20 PM, Charles Chen <clc...@google.com> wrote: > > I'll look into why the "Always use my settings" is not working in this case, > > but engines should NOT require country or variant to be set (if not > > specified, the engine should default to something sensible).
> > Also, it is worth mentioning that if the app requests eng, GBR (British > > English) but the current engine only has eng, USA, the expected behavior is > > that the TTS will return LANG_AVAILABLE > > (http://developer.android.com/reference/android/speech/tts/TextToSpeec...) > > and then use the eng, USA voice rather than fail completely.
> > -Charles
> > On Tue, Apr 13, 2010 at 4:38 AM, Alok Parlikar <happy...@gmail.com> wrote:
> >> Correction to the previous mail:
> >> The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
> >> When I set it as default, and opt for "always use my settings", and > >> then use speaking pad, I still get this in logcat:
> >> V/TtsService(17679): TTS processing: test utterance from speaking pad > >> E/TtsService(17679): Creating synth thread for: test utterance from > >> speaking pad > >> V/TtsService(17679): TtsService.setLanguage(eng, USA, ) > >> I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, > >> variant=
> >> instead of what I think it should be > >> TtsService.setLanguage(eng,IND,"male,aup")
> >> - Alok
> >> On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> > >> wrote: > >> > Thank you for the quick fix! Language setting is now fixed.
> >> > Here are the steps with which I can reproduce the second problem I > >> > referred to:
> >> > 1. Install Flite. > >> > 2. Install voice data. > >> > 3. Check Flite as default, select one of the languages (say, > >> > eng-USA-male,aup) in language settings. > >> > 4. Click on "listen an example" to confirm it works. > >> > 5. Open Speaking Pad. Try to synthesize something. It works correctly! > >> > 6. Close Speaking Pad. > >> > 7. Open Speaking Pad again. > >> > 8. Now it doesn't work any more.
> >> > Here is what I think happens: > >> > (a) In Step 4, the TTS service loads and initializes flite. Sets the > >> > language to eng-USA-male,aup.
> >> > (b) In Step 5, Speaking pad requests just the language eng-USA
> >> > Flite had a previous voice set, setting a new voice failed, so it kept > >> > using the previously set voice. Which is how synthesis works in step > >> > (5).
> >> > (c) Closing Speaking pad in step (6) calls tts.shutdown:
> >> > Since flite had no previous voice set in this session, synthesis fails > >> > with this error: > >> > E/FliteEngine(16551): Voices not loaded?
> >> > To summarize,
> >> > * I set the default language to eng-USA-male,aup > >> > * When a new app tries to set the language, the variant is not > >> > overriden. > >> > * Flite currently requires variant to be set. Otherwise it refuses to > >> > load the voices. (I'll fix it in the next version to use fallback > >> > voices). > >> > * So a fresh loading of libttsflite.so will result in no synthesis from > >> > apps. > >> > * Clicking the "Listen to Sample" menu in TTS settings will set the > >> > correct variant again, thus getting flite to work again :-)
> >> >> -Fixed the language setting not persistent problem. Actually, the > >> >> setting was persistent, but it wasn't being displayed properly - good > >> >> catch.
> >> >> Can you please be more specific about the problem that you are having > >> >> with "Always use my settings" doesn't seem to work? Flite is working > >> >> just fine for me. Steps that I used:
> >> >> 1. Install Flite > >> >> 2. Install voice data > >> >> 3. Set Flite as default and made sure Flite worked inside the settings > >> >> app. > >> >> 4. Started up an app that uses TTS (Speaking Pad for example).
> >> >>> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> > >> >>> wrote: > >> >>> > Ok, I'll look into it. BTW, do you have your APK up somewhere that I > >> >>> > could > >> >>> > try out?
> >> >>> > On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> > >> >>> > wrote:
> >> >>> >> Hi Charles
> >> >>> >> Two issues that I notice:
> >> >>> >> (1) "Always use my settings" doesn't seem to work. > >> >>> >> I have set the default voice to Flite (also tried espeak). I > >> >>> >> enabled > >> >>> >> "always use ..." setting.
> >> >>> >> After enabling it, and using the TTSv3.0 stub, something like
> >> >>> >> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); > >> >>> >> myTTS.speak("This is a sample sentence", 0,null);
> >> >>> >> still tries to use Pico with default voice settings. More over, > >> >>> >> Pico > >> >>> >> fails to synthesize text with this error: > >> >>> >> E/SVOX Pico Engine( 468): Failed to load textana resource for > >> >>> >> en-US [-40]
> >> >>> >> (2) Language setting not persistent > >> >>> >> I select a default Engine (say, eSpeak), and change the language. > >> >>> >> Quit > >> >>> >> the TTS settings. Open the settings again. Now, the previously > >> >>> >> selected language doesn't show up as selected.
> >> >>> >> - Alok
> >> >>> >> On Fri, Apr 9, 2010 at 8:52 PM, clchen <clc...@google.com> wrote: > >> >>> >> > The first Text-To-Speech Extended 3.0 release candidate is now > >> >>> >> > available in the downloads area! > >> >>> >> >http://eyes-free.googlecode.com/files/tts_3.0_rc00.apk
> >> >>> >> > This is a port of the TTS framework as it will be in the next > >> >>> >> > version > >> >>> >> > of Android. There have been a few bug fixes, a brand new settings > >> >>> >> > UI, > >> >>> >> > and a tweaked plugins system.
> >> >>> >> > Speaking of plugins, the plugins system is finalized now. This is > >> >>> >> > a > >> >>> >> > very exciting feature as it means anyone with the knowledge and > >> >>> >> > skills > >> >>> >> > needed to create a voice synthesis engine will be able to make an > >> >>> >> > engine for Android and put it up on Market for everyone else to > >> >>> >> > enjoy! > >> >>> >> > Official platform support for this will be added in the next > >> >>> >> > version > >> >>> >> > of Android, and devices running older versions of Android will > >> >>> >> > still > >> >>> >> > have access to these plugins via TTS Extended. The plugin system > >> >>> >> > is > >> >>> >> > exactly the same, so engine developers can (and should) start > >> >>> >> > testing > >> >>> >> > NOW with TTS Extended.
> >> >>> >> > For examples on building and packaging your own plugin synthesis > >> >>> >> > engine for Android, see:
Sorry I am doing this again.. but there is another minor bug:
1. Open TTS settings. 2. Select Flite as default engine. 3. Do NOT select "Always use my settings" 4. Select language as MALE, RMS 5. Click on "Listen to an example"
RMS voice will play. Now, 6. Select "Always use my settings" 7. Click on "Listen to an example"
RMS voice will play again. Now, 8. Change language to MALE, AUP 9. Click on "Listen to an example"
RMS voice will play again Expected: AUP should play this time
10. Un-Select "Always use my settings" 11. Click on "Listen to an example" 12. AUP voice plays now.
On Tue, Apr 13, 2010 at 5:59 PM, clchen <clc...@google.com> wrote: > Ok, fixed - sorry about that, backporting mistake on my part since the > framework secure settings are a bit different than the standard prefs > system. > http://eyes-free.googlecode.com/files/tts_3.0_rc02.apk
> This should respect the "Always use my settings" pref.
> -Charles
> On Apr 13, 12:46 pm, Alok Parlikar <happy...@gmail.com> wrote: >> Yes. Currently, isLanguageAvailable returns the right value (best >> available support). However, setLanguage doesn't fall back to best >> available voice. I have the fix almost done so I'll push it out soon.
>> I'll also add to the DownloadVoiceData activity code to list installed >> voices and uninstall them.
>> Thanks again for your help. >> - Alok
>> On Tue, Apr 13, 2010 at 3:20 PM, Charles Chen <clc...@google.com> wrote: >> > I'll look into why the "Always use my settings" is not working in this case, >> > but engines should NOT require country or variant to be set (if not >> > specified, the engine should default to something sensible).
>> > Also, it is worth mentioning that if the app requests eng, GBR (British >> > English) but the current engine only has eng, USA, the expected behavior is >> > that the TTS will return LANG_AVAILABLE >> > (http://developer.android.com/reference/android/speech/tts/TextToSpeec...) >> > and then use the eng, USA voice rather than fail completely.
>> > -Charles
>> > On Tue, Apr 13, 2010 at 4:38 AM, Alok Parlikar <happy...@gmail.com> wrote:
>> >> Correction to the previous mail:
>> >> The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
>> >> When I set it as default, and opt for "always use my settings", and >> >> then use speaking pad, I still get this in logcat:
>> >> V/TtsService(17679): TTS processing: test utterance from speaking pad >> >> E/TtsService(17679): Creating synth thread for: test utterance from >> >> speaking pad >> >> V/TtsService(17679): TtsService.setLanguage(eng, USA, ) >> >> I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, >> >> variant=
>> >> instead of what I think it should be >> >> TtsService.setLanguage(eng,IND,"male,aup")
>> >> - Alok
>> >> On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> >> >> wrote: >> >> > Thank you for the quick fix! Language setting is now fixed.
>> >> > Here are the steps with which I can reproduce the second problem I >> >> > referred to:
>> >> > 1. Install Flite. >> >> > 2. Install voice data. >> >> > 3. Check Flite as default, select one of the languages (say, >> >> > eng-USA-male,aup) in language settings. >> >> > 4. Click on "listen an example" to confirm it works. >> >> > 5. Open Speaking Pad. Try to synthesize something. It works correctly! >> >> > 6. Close Speaking Pad. >> >> > 7. Open Speaking Pad again. >> >> > 8. Now it doesn't work any more.
>> >> > Here is what I think happens: >> >> > (a) In Step 4, the TTS service loads and initializes flite. Sets the >> >> > language to eng-USA-male,aup.
>> >> > (b) In Step 5, Speaking pad requests just the language eng-USA
>> >> > Flite had a previous voice set, setting a new voice failed, so it kept >> >> > using the previously set voice. Which is how synthesis works in step >> >> > (5).
>> >> > (c) Closing Speaking pad in step (6) calls tts.shutdown:
>> >> > Since flite had no previous voice set in this session, synthesis fails >> >> > with this error: >> >> > E/FliteEngine(16551): Voices not loaded?
>> >> > To summarize,
>> >> > * I set the default language to eng-USA-male,aup >> >> > * When a new app tries to set the language, the variant is not >> >> > overriden. >> >> > * Flite currently requires variant to be set. Otherwise it refuses to >> >> > load the voices. (I'll fix it in the next version to use fallback >> >> > voices). >> >> > * So a fresh loading of libttsflite.so will result in no synthesis from >> >> > apps. >> >> > * Clicking the "Listen to Sample" menu in TTS settings will set the >> >> > correct variant again, thus getting flite to work again :-)
>> >> >> -Fixed the language setting not persistent problem. Actually, the >> >> >> setting was persistent, but it wasn't being displayed properly - good >> >> >> catch.
>> >> >> Can you please be more specific about the problem that you are having >> >> >> with "Always use my settings" doesn't seem to work? Flite is working >> >> >> just fine for me. Steps that I used:
>> >> >> 1. Install Flite >> >> >> 2. Install voice data >> >> >> 3. Set Flite as default and made sure Flite worked inside the settings >> >> >> app. >> >> >> 4. Started up an app that uses TTS (Speaking Pad for example).
>> >> >>> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> >> >> >>> wrote: >> >> >>> > Ok, I'll look into it. BTW, do you have your APK up somewhere that I >> >> >>> > could >> >> >>> > try out?
>> >> >>> > On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> >> >> >>> > wrote:
>> >> >>> >> Hi Charles
>> >> >>> >> Two issues that I notice:
>> >> >>> >> (1) "Always use my settings" doesn't seem to work. >> >> >>> >> I have set the default voice to Flite (also tried espeak). I >> >> >>> >> enabled >> >> >>> >> "always use ..." setting.
>> >> >>> >> After enabling it, and using the TTSv3.0 stub, something like
>> >> >>> >> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); >> >> >>> >> myTTS.speak("This is a sample sentence", 0,null);
>> >> >>> >> still tries to use Pico with default voice settings. More over, >> >> >>> >> Pico >> >> >>> >> fails to synthesize text with this error: >> >> >>> >> E/SVOX Pico Engine( 468): Failed to load textana resource for >> >> >>> >> en-US [-40]
>> >> >>> >> (2) Language setting not persistent >> >> >>> >> I select a default Engine (say, eSpeak), and change the language. >> >> >>> >> Quit >> >> >>> >> the TTS settings. Open the settings again. Now, the previously >> >> >>> >> selected language doesn't show up as selected.
>> >> >>> >> - Alok
>> >> >>> >> On Fri, Apr 9, 2010 at 8:52 PM, clchen <clc...@google.com> wrote: >> >> >>> >> > The first Text-To-Speech Extended 3.0 release candidate is now >> >> >>> >> > available in the downloads area! >> >> >>> >> >http://eyes-free.googlecode.com/files/tts_3.0_rc00.apk
>> >> >>> >> > This is a port of the TTS framework as it will be in the next >> >> >>> >> > version >> >> >>> >> > of Android. There have been a few bug fixes, a brand new settings >> >> >>> >> > UI, >> >> >>> >> > and a tweaked plugins system.
1. Install TTS rc02 2. Install Flite. Install required data. 3. Set Default Engine = Flite 4. Set Language = RMS 5. Listen to an Example 6. Select "Always allow my settings", and listen to example again. 7. Close Settings. Open Speaking Pad 8. Synthesize something. 9. Close speaking pad. 10. Open TTS settings 11. Click "Listen to an example"
Nothing is played. Logcat shows this: V/TtsService(21815): TtsService.setLanguage(eng, USA, male,rms) I/FliteEngine(21815): TtsEngine::setLanguage: lang=eng, country=USA, variant=
That is, TtsService knows the variant, but doesn't pass it over to FliteEngine.
On Tue, Apr 13, 2010 at 8:03 PM, Alok Parlikar <happy...@gmail.com> wrote: > Hi,
> Sorry I am doing this again.. but there is another minor bug:
> 1. Open TTS settings. > 2. Select Flite as default engine. > 3. Do NOT select "Always use my settings" > 4. Select language as MALE, RMS > 5. Click on "Listen to an example"
> RMS voice will play. Now, > 6. Select "Always use my settings" > 7. Click on "Listen to an example"
> RMS voice will play again. Now, > 8. Change language to MALE, AUP > 9. Click on "Listen to an example"
> RMS voice will play again > Expected: AUP should play this time
> 10. Un-Select "Always use my settings" > 11. Click on "Listen to an example" > 12. AUP voice plays now.
> - Alok
> On Tue, Apr 13, 2010 at 5:59 PM, clchen <clc...@google.com> wrote: >> Ok, fixed - sorry about that, backporting mistake on my part since the >> framework secure settings are a bit different than the standard prefs >> system. >> http://eyes-free.googlecode.com/files/tts_3.0_rc02.apk
>> This should respect the "Always use my settings" pref.
>> -Charles
>> On Apr 13, 12:46 pm, Alok Parlikar <happy...@gmail.com> wrote: >>> Yes. Currently, isLanguageAvailable returns the right value (best >>> available support). However, setLanguage doesn't fall back to best >>> available voice. I have the fix almost done so I'll push it out soon.
>>> I'll also add to the DownloadVoiceData activity code to list installed >>> voices and uninstall them.
>>> Thanks again for your help. >>> - Alok
>>> On Tue, Apr 13, 2010 at 3:20 PM, Charles Chen <clc...@google.com> wrote: >>> > I'll look into why the "Always use my settings" is not working in this case, >>> > but engines should NOT require country or variant to be set (if not >>> > specified, the engine should default to something sensible).
>>> > Also, it is worth mentioning that if the app requests eng, GBR (British >>> > English) but the current engine only has eng, USA, the expected behavior is >>> > that the TTS will return LANG_AVAILABLE >>> > (http://developer.android.com/reference/android/speech/tts/TextToSpeec...) >>> > and then use the eng, USA voice rather than fail completely.
>>> > -Charles
>>> > On Tue, Apr 13, 2010 at 4:38 AM, Alok Parlikar <happy...@gmail.com> wrote:
>>> >> Correction to the previous mail:
>>> >> The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
>>> >> When I set it as default, and opt for "always use my settings", and >>> >> then use speaking pad, I still get this in logcat:
>>> >> V/TtsService(17679): TTS processing: test utterance from speaking pad >>> >> E/TtsService(17679): Creating synth thread for: test utterance from >>> >> speaking pad >>> >> V/TtsService(17679): TtsService.setLanguage(eng, USA, ) >>> >> I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, >>> >> variant=
>>> >> instead of what I think it should be >>> >> TtsService.setLanguage(eng,IND,"male,aup")
>>> >> - Alok
>>> >> On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> >>> >> wrote: >>> >> > Thank you for the quick fix! Language setting is now fixed.
>>> >> > Here are the steps with which I can reproduce the second problem I >>> >> > referred to:
>>> >> > 1. Install Flite. >>> >> > 2. Install voice data. >>> >> > 3. Check Flite as default, select one of the languages (say, >>> >> > eng-USA-male,aup) in language settings. >>> >> > 4. Click on "listen an example" to confirm it works. >>> >> > 5. Open Speaking Pad. Try to synthesize something. It works correctly! >>> >> > 6. Close Speaking Pad. >>> >> > 7. Open Speaking Pad again. >>> >> > 8. Now it doesn't work any more.
>>> >> > Here is what I think happens: >>> >> > (a) In Step 4, the TTS service loads and initializes flite. Sets the >>> >> > language to eng-USA-male,aup.
>>> >> > (b) In Step 5, Speaking pad requests just the language eng-USA
>>> >> > Flite had a previous voice set, setting a new voice failed, so it kept >>> >> > using the previously set voice. Which is how synthesis works in step >>> >> > (5).
>>> >> > (c) Closing Speaking pad in step (6) calls tts.shutdown:
>>> >> > Since flite had no previous voice set in this session, synthesis fails >>> >> > with this error: >>> >> > E/FliteEngine(16551): Voices not loaded?
>>> >> > To summarize,
>>> >> > * I set the default language to eng-USA-male,aup >>> >> > * When a new app tries to set the language, the variant is not >>> >> > overriden. >>> >> > * Flite currently requires variant to be set. Otherwise it refuses to >>> >> > load the voices. (I'll fix it in the next version to use fallback >>> >> > voices). >>> >> > * So a fresh loading of libttsflite.so will result in no synthesis from >>> >> > apps. >>> >> > * Clicking the "Listen to Sample" menu in TTS settings will set the >>> >> > correct variant again, thus getting flite to work again :-)
>>> >> >> -Fixed the language setting not persistent problem. Actually, the >>> >> >> setting was persistent, but it wasn't being displayed properly - good >>> >> >> catch.
>>> >> >> Can you please be more specific about the problem that you are having >>> >> >> with "Always use my settings" doesn't seem to work? Flite is working >>> >> >> just fine for me. Steps that I used:
>>> >> >> 1. Install Flite >>> >> >> 2. Install voice data >>> >> >> 3. Set Flite as default and made sure Flite worked inside the settings >>> >> >> app. >>> >> >> 4. Started up an app that uses TTS (Speaking Pad for example).
>>> >> >>> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> >>> >> >>> wrote: >>> >> >>> > Ok, I'll look into it. BTW, do you have your APK up somewhere that I >>> >> >>> > could >>> >> >>> > try out?
>>> >> >>> > On Sun, Apr 11, 2010 at 9:15 AM, Alok Parlikar <happy...@gmail.com> >>> >> >>> > wrote:
>>> >> >>> >> Hi Charles
>>> >> >>> >> Two issues that I notice:
>>> >> >>> >> (1) "Always use my settings" doesn't seem to work. >>> >> >>> >> I have set the default voice to Flite (also tried espeak). I >>> >> >>> >> enabled >>> >> >>> >> "always use ..." setting.
>>> >> >>> >> After enabling it, and using the TTSv3.0 stub, something like
>>> >> >>> >> TextToSpeechBeta myTTS = new TextToSpeechBeta(this, null); >>> >> >>> >> myTTS.speak("This is a sample sentence", 0,null);
>>> >> >>> >> still tries to use Pico with default voice settings. More over, >>> >> >>> >> Pico >>> >> >>> >> fails to synthesize text with this error: >>> >> >>> >> E/SVOX Pico Engine( 468): Failed to load textana resource for >>> >> >>> >> en-US [-40]
> 1. Install TTS rc02 > 2. Install Flite. Install required data. > 3. Set Default Engine = Flite > 4. Set Language = RMS > 5. Listen to an Example > 6. Select "Always allow my settings", and listen to example again. > 7. Close Settings. Open Speaking Pad > 8. Synthesize something. > 9. Close speaking pad. > 10. Open TTS settings > 11. Click "Listen to an example"
> Nothing is played. Logcat shows this: > V/TtsService(21815): TtsService.setLanguage(eng, USA, male,rms) > I/FliteEngine(21815): TtsEngine::setLanguage: lang=eng, country=USA, variant=
> That is, TtsService knows the variant, but doesn't pass it over to FliteEngine.
> - Alok
> On Tue, Apr 13, 2010 at 8:03 PM, Alok Parlikar <happy...@gmail.com> wrote: > > Hi,
> > Sorry I am doing this again.. but there is another minor bug:
> > 1. Open TTS settings. > > 2. Select Flite as default engine. > > 3. Do NOT select "Always use my settings" > > 4. Select language as MALE, RMS > > 5. Click on "Listen to an example"
> > RMS voice will play. Now, > > 6. Select "Always use my settings" > > 7. Click on "Listen to an example"
> > RMS voice will play again. Now, > > 8. Change language to MALE, AUP > > 9. Click on "Listen to an example"
> > RMS voice will play again > > Expected: AUP should play this time
> > 10. Un-Select "Always use my settings" > > 11. Click on "Listen to an example" > > 12. AUP voice plays now.
> > - Alok
> > On Tue, Apr 13, 2010 at 5:59 PM, clchen <clc...@google.com> wrote: > >> Ok, fixed - sorry about that, backporting mistake on my part since the > >> framework secure settings are a bit different than the standard prefs > >> system. > >>http://eyes-free.googlecode.com/files/tts_3.0_rc02.apk
> >> This should respect the "Always use my settings" pref.
> >> -Charles
> >> On Apr 13, 12:46 pm, Alok Parlikar <happy...@gmail.com> wrote: > >>> Yes. Currently, isLanguageAvailable returns the right value (best > >>> available support). However, setLanguage doesn't fall back to best > >>> available voice. I have the fix almost done so I'll push it out soon.
> >>> I'll also add to the DownloadVoiceData activity code to list installed > >>> voices and uninstall them.
> >>> Thanks again for your help. > >>> - Alok
> >>> On Tue, Apr 13, 2010 at 3:20 PM, Charles Chen <clc...@google.com> wrote: > >>> > I'll look into why the "Always use my settings" is not working in this case, > >>> > but engines should NOT require country or variant to be set (if not > >>> > specified, the engine should default to something sensible).
> >>> > Also, it is worth mentioning that if the app requests eng, GBR (British > >>> > English) but the current engine only has eng, USA, the expected behavior is > >>> > that the TTS will return LANG_AVAILABLE > >>> > (http://developer.android.com/reference/android/speech/tts/TextToSpeec...) > >>> > and then use the eng, USA voice rather than fail completely.
> >>> > -Charles
> >>> > On Tue, Apr 13, 2010 at 4:38 AM, Alok Parlikar <happy...@gmail.com> wrote:
> >>> >> Correction to the previous mail:
> >>> >> The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
> >>> >> When I set it as default, and opt for "always use my settings", and > >>> >> then use speaking pad, I still get this in logcat:
> >>> >> V/TtsService(17679): TTS processing: test utterance from speaking pad > >>> >> E/TtsService(17679): Creating synth thread for: test utterance from > >>> >> speaking pad > >>> >> V/TtsService(17679): TtsService.setLanguage(eng, USA, ) > >>> >> I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, > >>> >> variant=
> >>> >> instead of what I think it should be > >>> >> TtsService.setLanguage(eng,IND,"male,aup")
> >>> >> - Alok
> >>> >> On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> > >>> >> wrote: > >>> >> > Thank you for the quick fix! Language setting is now fixed.
> >>> >> > Here are the steps with which I can reproduce the second problem I > >>> >> > referred to:
> >>> >> > 1. Install Flite. > >>> >> > 2. Install voice data. > >>> >> > 3. Check Flite as default, select one of the languages (say, > >>> >> > eng-USA-male,aup) in language settings. > >>> >> > 4. Click on "listen an example" to confirm it works. > >>> >> > 5. Open Speaking Pad. Try to synthesize something. It works correctly! > >>> >> > 6. Close Speaking Pad. > >>> >> > 7. Open Speaking Pad again. > >>> >> > 8. Now it doesn't work any more.
> >>> >> > Here is what I think happens: > >>> >> > (a) In Step 4, the TTS service loads and initializes flite. Sets the > >>> >> > language to eng-USA-male,aup.
> >>> >> > (b) In Step 5, Speaking pad requests just the language eng-USA
> >>> >> > Flite had a previous voice set, setting a new voice failed, so it kept > >>> >> > using the previously set voice. Which is how synthesis works in step > >>> >> > (5).
> >>> >> > (c) Closing Speaking pad in step (6) calls tts.shutdown:
> >>> >> > Since flite had no previous voice set in this session, synthesis fails > >>> >> > with this error: > >>> >> > E/FliteEngine(16551): Voices not loaded?
> >>> >> > To summarize,
> >>> >> > * I set the default language to eng-USA-male,aup > >>> >> > * When a new app tries to set the language, the variant is not > >>> >> > overriden. > >>> >> > * Flite currently requires variant to be set. Otherwise it refuses to > >>> >> > load the voices. (I'll fix it in the next version to use fallback > >>> >> > voices). > >>> >> > * So a fresh loading of libttsflite.so will result in no synthesis from > >>> >> > apps. > >>> >> > * Clicking the "Listen to Sample" menu in TTS settings will set the > >>> >> > correct variant again, thus getting flite to work again :-)
> >>> >> >> -Fixed the language setting not persistent problem. Actually, the > >>> >> >> setting was persistent, but it wasn't being displayed properly - good > >>> >> >> catch.
> >>> >> >> Can you please be more specific about the problem that you are having > >>> >> >> with "Always use my settings" doesn't seem to work? Flite is working > >>> >> >> just fine for me. Steps that I used:
> >>> >> >> 1. Install Flite > >>> >> >> 2. Install voice data > >>> >> >> 3. Set Flite as default and made sure Flite worked inside the settings > >>> >> >> app. > >>> >> >> 4. Started up an app that uses TTS (Speaking Pad for example).
> >>> >> >>> On Mon, Apr 12, 2010 at 1:50 PM, Charles Chen <clc...@google.com> > >>> >> >>> wrote: > >>> >> >>> > Ok, I'll look into it. BTW, do you have your APK up somewhere that I > >>> >> >>> > could > >>> >> >>> > try out?
> >>> >> >>> >> (1) "Always use my settings" doesn't seem to work. > >>> >> >>> >> I have set the default voice to Flite (also tried espeak). I > >>> >> >>> >> enabled
> Ok, I'll look into those issues. Confirmed to happen on extended, but > NOT on the framework, so this looks like another backporting > mistake...
> -Charles
> On Apr 13, 6:08 pm, Alok Parlikar <happy...@gmail.com> wrote:
> > And one more:
> > 1. Install TTS rc02 > > 2. Install Flite. Install required data. > > 3. Set Default Engine = Flite > > 4. Set Language = RMS > > 5. Listen to an Example > > 6. Select "Always allow my settings", and listen to example again. > > 7. Close Settings. Open Speaking Pad > > 8. Synthesize something. > > 9. Close speaking pad. > > 10. Open TTS settings > > 11. Click "Listen to an example"
> > That is, TtsService knows the variant, but doesn't pass it over to FliteEngine.
> > - Alok
> > On Tue, Apr 13, 2010 at 8:03 PM, Alok Parlikar <happy...@gmail.com> wrote: > > > Hi,
> > > Sorry I am doing this again.. but there is another minor bug:
> > > 1. Open TTS settings. > > > 2. Select Flite as default engine. > > > 3. Do NOT select "Always use my settings" > > > 4. Select language as MALE, RMS > > > 5. Click on "Listen to an example"
> > > RMS voice will play. Now, > > > 6. Select "Always use my settings" > > > 7. Click on "Listen to an example"
> > > RMS voice will play again. Now, > > > 8. Change language to MALE, AUP > > > 9. Click on "Listen to an example"
> > > RMS voice will play again > > > Expected: AUP should play this time
> > > 10. Un-Select "Always use my settings" > > > 11. Click on "Listen to an example" > > > 12. AUP voice plays now.
> > > - Alok
> > > On Tue, Apr 13, 2010 at 5:59 PM, clchen <clc...@google.com> wrote: > > >> Ok, fixed - sorry about that, backporting mistake on my part since the > > >> framework secure settings are a bit different than the standard prefs > > >> system. > > >>http://eyes-free.googlecode.com/files/tts_3.0_rc02.apk
> > >> This should respect the "Always use my settings" pref.
> > >> -Charles
> > >> On Apr 13, 12:46 pm, Alok Parlikar <happy...@gmail.com> wrote: > > >>> Yes. Currently, isLanguageAvailable returns the right value (best > > >>> available support). However, setLanguage doesn't fall back to best > > >>> available voice. I have the fix almost done so I'll push it out soon.
> > >>> I'll also add to the DownloadVoiceData activity code to list installed > > >>> voices and uninstall them.
> > >>> Thanks again for your help. > > >>> - Alok
> > >>> On Tue, Apr 13, 2010 at 3:20 PM, Charles Chen <clc...@google.com> wrote: > > >>> > I'll look into why the "Always use my settings" is not working in this case, > > >>> > but engines should NOT require country or variant to be set (if not > > >>> > specified, the engine should default to something sensible).
> > >>> > Also, it is worth mentioning that if the app requests eng, GBR (British > > >>> > English) but the current engine only has eng, USA, the expected behavior is > > >>> > that the TTS will return LANG_AVAILABLE > > >>> > (http://developer.android.com/reference/android/speech/tts/TextToSpeec...) > > >>> > and then use the eng, USA voice rather than fail completely.
> > >>> > -Charles
> > >>> > On Tue, Apr 13, 2010 at 4:38 AM, Alok Parlikar <happy...@gmail.com> wrote:
> > >>> >> Correction to the previous mail:
> > >>> >> The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
> > >>> >> When I set it as default, and opt for "always use my settings", and > > >>> >> then use speaking pad, I still get this in logcat:
> > >>> >> V/TtsService(17679): TTS processing: test utterance from speaking pad > > >>> >> E/TtsService(17679): Creating synth thread for: test utterance from > > >>> >> speaking pad > > >>> >> V/TtsService(17679): TtsService.setLanguage(eng, USA, ) > > >>> >> I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, > > >>> >> variant=
> > >>> >> instead of what I think it should be > > >>> >> TtsService.setLanguage(eng,IND,"male,aup")
> > >>> >> - Alok
> > >>> >> On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> > > >>> >> wrote: > > >>> >> > Thank you for the quick fix! Language setting is now fixed.
> > >>> >> > Here are the steps with which I can reproduce the second problem I > > >>> >> > referred to:
> > >>> >> > 1. Install Flite. > > >>> >> > 2. Install voice data. > > >>> >> > 3. Check Flite as default, select one of the languages (say, > > >>> >> > eng-USA-male,aup) in language settings. > > >>> >> > 4. Click on "listen an example" to confirm it works. > > >>> >> > 5. Open Speaking Pad. Try to synthesize something. It works correctly! > > >>> >> > 6. Close Speaking Pad. > > >>> >> > 7. Open Speaking Pad again. > > >>> >> > 8. Now it doesn't work any more.
> > >>> >> > Here is what I think happens: > > >>> >> > (a) In Step 4, the TTS service loads and initializes flite. Sets the > > >>> >> > language to eng-USA-male,aup.
> > >>> >> > (b) In Step 5, Speaking pad requests just the language eng-USA
> > >>> >> > Flite had a previous voice set, setting a new voice failed, so it kept > > >>> >> > using the previously set voice. Which is how synthesis works in step > > >>> >> > (5).
> > >>> >> > (c) Closing Speaking pad in step (6) calls tts.shutdown:
> > >>> >> > Since flite had no previous voice set in this session, synthesis fails > > >>> >> > with this error: > > >>> >> > E/FliteEngine(16551): Voices not loaded?
> > >>> >> > To summarize,
> > >>> >> > * I set the default language to eng-USA-male,aup > > >>> >> > * When a new app tries to set the language, the variant is not > > >>> >> > overriden. > > >>> >> > * Flite currently requires variant to be set. Otherwise it refuses to > > >>> >> > load the voices. (I'll fix it in the next version to use fallback > > >>> >> > voices). > > >>> >> > * So a fresh loading of libttsflite.so will result in no synthesis from > > >>> >> > apps. > > >>> >> > * Clicking the "Listen to Sample" menu in TTS settings will set the > > >>> >> > correct variant again, thus getting flite to work again :-)
> > >>> >> >> -Fixed the language setting not persistent problem. Actually, the > > >>> >> >> setting was persistent, but it wasn't being displayed properly - good > > >>> >> >> catch.
> > >>> >> >> Can you please be more specific about the problem that you are having > > >>> >> >> with "Always use my settings" doesn't seem to work? Flite is working > > >>> >> >> just fine for me. Steps that I used:
> > >>> >> >> 1. Install Flite > > >>> >> >> 2. Install voice data > > >>> >> >> 3. Set Flite as default and made sure Flite worked inside the settings > > >>> >> >> app. > > >>> >> >> 4. Started up an app that uses TTS (Speaking Pad for example).
> > >>> >> >> The app spoke with Flite as expected.
With tts_3.0_rc03 installed, flite selected as default engine, and "always use my settings" checked, speakingpad (and other external apps) uses the right engine.
the Talkback service, or maps (navigation), continue to use Pico.
> On Apr 13, 7:49 pm, clchen <clc...@google.com> wrote: >> Ok, I'll look into those issues. Confirmed to happen on extended, but >> NOT on the framework, so this looks like another backporting >> mistake...
>> -Charles
>> On Apr 13, 6:08 pm, Alok Parlikar <happy...@gmail.com> wrote:
>> > And one more:
>> > 1. Install TTS rc02 >> > 2. Install Flite. Install required data. >> > 3. Set Default Engine = Flite >> > 4. Set Language = RMS >> > 5. Listen to an Example >> > 6. Select "Always allow my settings", and listen to example again. >> > 7. Close Settings. Open Speaking Pad >> > 8. Synthesize something. >> > 9. Close speaking pad. >> > 10. Open TTS settings >> > 11. Click "Listen to an example"
>> > That is, TtsService knows the variant, but doesn't pass it over to FliteEngine.
>> > - Alok
>> > On Tue, Apr 13, 2010 at 8:03 PM, Alok Parlikar <happy...@gmail.com> wrote: >> > > Hi,
>> > > Sorry I am doing this again.. but there is another minor bug:
>> > > 1. Open TTS settings. >> > > 2. Select Flite as default engine. >> > > 3. Do NOT select "Always use my settings" >> > > 4. Select language as MALE, RMS >> > > 5. Click on "Listen to an example"
>> > > RMS voice will play. Now, >> > > 6. Select "Always use my settings" >> > > 7. Click on "Listen to an example"
>> > > RMS voice will play again. Now, >> > > 8. Change language to MALE, AUP >> > > 9. Click on "Listen to an example"
>> > > RMS voice will play again >> > > Expected: AUP should play this time
>> > > 10. Un-Select "Always use my settings" >> > > 11. Click on "Listen to an example" >> > > 12. AUP voice plays now.
>> > > - Alok
>> > > On Tue, Apr 13, 2010 at 5:59 PM, clchen <clc...@google.com> wrote: >> > >> Ok, fixed - sorry about that, backporting mistake on my part since the >> > >> framework secure settings are a bit different than the standard prefs >> > >> system. >> > >>http://eyes-free.googlecode.com/files/tts_3.0_rc02.apk
>> > >> This should respect the "Always use my settings" pref.
>> > >> -Charles
>> > >> On Apr 13, 12:46 pm, Alok Parlikar <happy...@gmail.com> wrote: >> > >>> Yes. Currently, isLanguageAvailable returns the right value (best >> > >>> available support). However, setLanguage doesn't fall back to best >> > >>> available voice. I have the fix almost done so I'll push it out soon.
>> > >>> I'll also add to the DownloadVoiceData activity code to list installed >> > >>> voices and uninstall them.
>> > >>> Thanks again for your help. >> > >>> - Alok
>> > >>> On Tue, Apr 13, 2010 at 3:20 PM, Charles Chen <clc...@google.com> wrote: >> > >>> > I'll look into why the "Always use my settings" is not working in this case, >> > >>> > but engines should NOT require country or variant to be set (if not >> > >>> > specified, the engine should default to something sensible).
>> > >>> > Also, it is worth mentioning that if the app requests eng, GBR (British >> > >>> > English) but the current engine only has eng, USA, the expected behavior is >> > >>> > that the TTS will return LANG_AVAILABLE >> > >>> > (http://developer.android.com/reference/android/speech/tts/TextToSpeec...) >> > >>> > and then use the eng, USA voice rather than fail completely.
>> > >>> > -Charles
>> > >>> > On Tue, Apr 13, 2010 at 4:38 AM, Alok Parlikar <happy...@gmail.com> wrote:
>> > >>> >> Correction to the previous mail:
>> > >>> >> The country of "aup" voice is not USA, but IND. (eng-IND-male,aup)
>> > >>> >> When I set it as default, and opt for "always use my settings", and >> > >>> >> then use speaking pad, I still get this in logcat:
>> > >>> >> V/TtsService(17679): TTS processing: test utterance from speaking pad >> > >>> >> E/TtsService(17679): Creating synth thread for: test utterance from >> > >>> >> speaking pad >> > >>> >> V/TtsService(17679): TtsService.setLanguage(eng, USA, ) >> > >>> >> I/FliteEngine(17679): TtsEngine::setLanguage: lang=eng, country=USA, >> > >>> >> variant=
>> > >>> >> instead of what I think it should be >> > >>> >> TtsService.setLanguage(eng,IND,"male,aup")
>> > >>> >> - Alok
>> > >>> >> On Tue, Apr 13, 2010 at 12:35 AM, Alok Parlikar <happy...@gmail.com> >> > >>> >> wrote: >> > >>> >> > Thank you for the quick fix! Language setting is now fixed.
>> > >>> >> > Here are the steps with which I can reproduce the second problem I >> > >>> >> > referred to:
>> > >>> >> > 1. Install Flite. >> > >>> >> > 2. Install voice data. >> > >>> >> > 3. Check Flite as default, select one of the languages (say, >> > >>> >> > eng-USA-male,aup) in language settings. >> > >>> >> > 4. Click on "listen an example" to confirm it works. >> > >>> >> > 5. Open Speaking Pad. Try to synthesize something. It works correctly! >> > >>> >> > 6. Close Speaking Pad. >> > >>> >> > 7. Open Speaking Pad again. >> > >>> >> > 8. Now it doesn't work any more.
>> > >>> >> > Here is what I think happens: >> > >>> >> > (a) In Step 4, the TTS service loads and initializes flite. Sets the >> > >>> >> > language to eng-USA-male,aup.
>> > >>> >> > (b) In Step 5, Speaking pad requests just the language eng-USA
>> > >>> >> > Flite had a previous voice set, setting a new voice failed, so it kept >> > >>> >> > using the previously set voice. Which is how synthesis works in step >> > >>> >> > (5).
>> > >>> >> > (c) Closing Speaking pad in step (6) calls tts.shutdown:
>> > >>> >> > Since flite had no previous voice set in this session, synthesis fails >> > >>> >> > with this error: >> > >>> >> > E/FliteEngine(16551): Voices not loaded?
>> > >>> >> > To summarize,
>> > >>> >> > * I set the default language to eng-USA-male,aup >> > >>> >> > * When a new app tries to set the language, the variant is not >> > >>> >> > overriden. >> > >>> >> > * Flite currently requires variant to be set. Otherwise it refuses to >> > >>> >> > load the voices. (I'll fix it in the next version to use fallback >> > >>> >> > voices). >> > >>> >> > * So a fresh loading of libttsflite.so will result in no synthesis from >> > >>> >> > apps. >> > >>> >> > * Clicking the "Listen to Sample" menu in TTS settings will set the >> > >>> >> > correct variant again, thus getting flite to work again :-)
>> > >>> >> >> -Fixed the language setting not persistent problem. Actually, the >> > >>> >> >> setting was persistent, but it wasn't being displayed properly - good >> > >>> >> >> catch.
>> > >>> >> >> Can you please be more specific about the problem that you are having >> > >>> >> >> with "Always use my settings" doesn't seem to work? Flite is working >> > >>> >> >> just fine for me. Steps that I used:
>> > >>> >> >> 1. Install Flite >> > >>> >> >> 2. Install voice data >> > >>> >> >> 3. Set Flite as default and made sure Flite worked inside the settings >> > >>> >> >> app. >> > >>> >> >> 4. Started up an app that uses TTS (Speaking Pad for example).
>> > >>> >> >> The app spoke with Flite as expected.
Yes. Applications using the framework (rather than TTS Extended) will use SVOX Pico, regardless of the TTS Extended settings, in Android versions prior to Froyo.
On Apr 13, 2010 11:51 PM, "Alok Parlikar" <happy...@gmail.com> wrote:
With tts_3.0_rc03 installed, flite selected as default engine, and "always use my settings" checked, speakingpad (and other external apps) uses the right engine.
the Talkback service, or maps (navigation), continue to use Pico.
1. Open TTS settings 2. Enable eSpeak 3. Select eSpeak as default engine. 4. Select speech rate "very fast" 5. Do NOT select "Always use my settings" 6. Listen to an example 7. Select "Always use my settings" 8. Listen to an example.
Observed: Speech rate setting defaults to "normal". Expected: Speech rate should still remain "very fast"
You mentioned "This (TTS Extended 3.0) is a port of the TTS framework
as it will be in the next version of Android." Do you mean TTS framework
in Froyo is TTS Extended 3.0? Sorry that I have not yet got Froyo on my
hand.
> This is a port of the TTS framework as it will be in the next version
> of Android. There have been a few bug fixes, a brand new settings UI,
> and a tweaked plugins system.
> Speaking of plugins, the plugins system is finalized now. This is a
> very exciting feature as it means anyone with the knowledge and skills
> needed to create a voice synthesis engine will be able to make an
> engine for Android and put it up on Market for everyone else to enjoy!
> Official platform support for this will be added in the next version
> of Android, and devices running older versions of Android will still
> have access to these plugins via TTS Extended. The plugin system is
> exactly the same, so engine developers can (and should) start testing
> NOW with TTS Extended.
> For examples on building and packaging your own plugin synthesis
> engine for Android, see:
> Please try this new version of TTS out and let me know ASAP if you
> have any issues. There have been lots of changes and backporting this
> out of the framework is tricky as I am trying to get all the new
> features in while still keeping it compatible with existing apps, so
> your help in testing it out and reporting issues will be very
> appreciated. Thanks again for your support! :)
> -Charles
> --
> You received this message because you are subscribed to the Google Groups
> "TTS-for-Android" group.
> To post to this group, send email to tts-for-android@googlegroups.com.
> To unsubscribe from this group, send email to
> tts-for-android+unsubscribe@googlegroups.com<tts-for-android%2Bunsubscribe@ googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/tts-for-android?hl=en.
-- You received this message because you are subscribed to the Google Groups "TTS-for-Android" group.
To post to this group, send email to tts-for-android@googlegroups.com.
To unsubscribe from this group, send email to tts-for-android+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/tts-for-android?hl=en.