answered
2014-12-27 17:04:11 +0200
Hi, I've managed to activate the TTS.
Step 1 (With Google stuff):
First, I've installed the google play store following this how to: http://www.jollatides.com/2014/04/03/updated-installing-google-play-on-jolla/ . Then, I've installed google TTS using google play.
Step 1 (Alternative without Google stuff):
As Fuzzillogic pointed out, you can also use any other tts engine you find in any other android app market.
Fuzzillogic: I've installed eSpeak TTS using f-droid,...
Step 2:
Afterward, I've opened the terminal again and switched into root :
[nemo@Jolla ~]$ devel-su
Then, I've opened the settings.db using sqlite3:
[root@Jolla data]# sqlite3 /data/data/com.android.providers.settings/databases/settings.db
Now, I've checked whether the tts related options are already set or not:
sqlite> Select * FROM secure WHERE name LIKE 'tts_default_synth';
If the option is not, set the result will look like this:
sqlite> Select * FROM secure WHERE name LIKE 'tts_default_synth';
sqlite>
Otherwise, you will get (Note that the first number (59) and the last value (com.google.android.tts) of the result might be different.):
sqlite> Select * FROM secure WHERE name LIKE 'tts_default_synth';
59|tts_default_synth|com.google.android.tts
sqlite>
Step 3 (no option set):
In my case, no options were set. Hence, I've inserted the necessary:
sqlite> insert into secure values (null, 'tts_default_synth', 'com.google.android.tts');
In case you installed another tts engine, you have to alter the query to use your tts. For example,
Fuzzillogic: and used "com.googlecode.eyesfree.espeak" as tts_default_synth instead.
results in
sqlite> insert into secure values (null, 'tts_default_synth', 'com.googlecode.eyesfree.espeak');
Step 3 (option set):
In case, a tts engine is already set and it is not the one you would like to use, you can alter it:
sqlite> UPDATE secure SET value='com.google.android.tts' WHERE name='tts_default_synth';
Last, the alien dalvik service has to be restarted:
Step 4:
systemctl restart aliendalvik.service
This did the trick for me for my sportstracker app. I could also adjust the language directly from within the app. I've not tested it for other apps. But other users pointed out, it worked for them as well.
Known Issues: In case you cannot alter the language of your tts engine directly in app you want to use, you might get stuck with the default language.
I don't know if this counts, but if you have Google Play services installed (The unoffficial Google Play store install thingy), it contains the Google TTS thing. At least I think it does, although the only place I have tested this is Google Voice Search
Bulder ( 2014-01-25 21:28:03 +0200 )editThank you for your suggestion. I am a bit hesitant to install Google Play store because I suspect it will do things in the background I don't need. Have you got any experience with it on the Jolla? Did you realize an impact on battery life? I wrote to IVONA asking them to publish their software in the Amazon app store. Who knows...
StaticNoiseLog ( 2014-02-04 22:55:29 +0200 )editI tried GoogleTTS with no effect. IMHO the preferences stuff for switching tts on is missing
cy8aer ( 2014-02-24 23:32:54 +0200 )edit@cy8aer: Thanks for trying Google's TTS. Do you mean preferences for Alien Dalvik are missing? Or just within a specific application?
StaticNoiseLog ( 2014-02-25 19:35:18 +0200 )editI mean the global tts preferences for selecting the tts and the voices.
cy8aer ( 2014-03-23 21:10:37 +0200 )edit