[Guide] Text-To-Speech (TTS) in (almost) any language - Android General

First of all, sorry for my english. I know thats not so good, but I think you can understand it
In this guide I'll teach how to install almost any TTS language (non-robotic) so your device can read things in your native language without problems.
1) Plug your device on computer and create a folder named VocalizerEx
2) Download and install on your device the attached APK
3) Visit this website and download your language. It will be better if you download Premium High
3) Rename that file adding .zip at the end and open it
4) Extract all files and folders of the zip to this folder (created on Step 1)
(Now you can unplug your device)
5) On your device, go to Settings > Language and Input > Text-to-speech output and then select VocalizerEx TTS
Done, now your device speaks your language !
Please, hit THANKS if it helped you

Thx a lot ! works fine with igo primo

Sorry, but it didn't work on AOSB KitKat.
I have several folder (dun, eng, frf, ged, ...) in the ExtSdCard\VocalizerEx folder, installed the APK.
I can select VocalizerEx TTS in the text output, but in the settings the language selection is disabled.
So, I tried to change the Voice data folder in the settings to the folder I put the voices in. Still, it didn't work, even after selecting another engine and back to reinitialize the VocalizerEx TTS engine.
Can anyone help me with this?
Edit: Got it working, somehow the appplication doesn't look for the correct folder, despite the possibility to put the voice data on SD card.
Now I have to get iGo with Dutch TTS voice going with this - strange thing is that iGo ONLY works when the Google TTS engine with English language is selected... If not, there is no way to select a TTS voice in iGo.

hi,
how do we let the program speak the text? i want it to read my smses and caller id. but i dont know how to do.
ps. i installed the apk, formed the folder , and extracted the zip file (premium voices) into it.

rsb007 said:
In this guide I'll teach how to install almost any TTS language (non-robotic) so your device can read things in your native language without problems.
Click to expand...
Click to collapse
Thank you for this.
Interesting.

The link for languages is corrupt, exist other one?

you're a life saver, thank you

Nice thread, it solved my problem with TTS with tasker ans the command "say".
Nice job

Hi my bro,
Is it possible to add voices of several country ?

Awesome, it works nicely, can't believe I only found this now... the voices are great quality, can't understand why aren't more people using this. :good:
mlmoracle said:
Hi my bro,
Is it possible to add voices of several country ?
Click to expand...
Click to collapse
I have tested multiple languages at the same time and it seems to work ok.

Tony il Capo said:
Awesome, it works nicely, can't believe I only found this now... the voices are great quality, can't understand why aren't more people using this.
Click to expand...
Click to collapse
I agree, these voices are great! I've been looking for tts this good for months and just randomly found this thread. Works perfect on LOS 14.1. Just wanted to share some findings for future readers. You can hear samples of these voices here: http://codefactoryglobal.com/speech-technology/voice-licensing.
After finding that page, I noticed that some of the better english voices (e.g. english-uk malcolm and oliver) weren't available at the vocalizer-nvda site originally mentioned. As discussed here: http://forum.audiogames.net/viewtopic.php?id=22240, those voices are found elsewhere and need a more recent version of the apk. In that thread, they provide a link to a zip that contains the more recent apk and a few additional files needed here: http://www.tyflonet.com/siciliano/VocalizerEx2_TTS.zip
Once you extract the zip and install the apk, create a "VocalizerEx2" dir in your main user dir (should be /storage/emulated/0) and copy the "languages/common" dir from the zip to that dir. You can then download the newer voices from here: http://blindhelp.net/software/vocalizer-expressive-nvda/voices. Choose your language and hit apply as not all the voices they have are in the list first shown.
Download the voices you want and as with the original instructions, add a .zip extension to the downloaded file(s), extract, and copy the contents into the VocalizerEx2 dir you created. You can have multiple voices in that dir that you select by changing the language within the android tts settings for the "VocalizerEx2 TTS" engine.
Also, just as a final note, there is an app called "Vocalizer TTS Voice (English)" in the play store that provides/uses the same voices but is a different app and not what you want.

Thanks for the info.
btw, you don't need to add zip extension to the files if you use 7zip, a free and open source archiver/extractor. With the 'shell context menu' option enabled you can extract many files (that are actually some kind of archive), then just right click >7z >extract/open archive

I have tried everything mentioned here but it's still not working for me.
My device is a car head unit with android 7.1.1.
I installed vocalizerex (tried both 1 and 2) and created the folder VocalizerEx in /storage/emulated/0 with the downloaded voice inside this folder.
I can see the tts engine in settings but there is also another engine preinstalled (pico tts). If I select vocalizerex and go into its settings I can see and select my voice but it's never working. Also if I exit and enter the tts settings again the selected engine is always the pico tts.
Could it be a permissions issue and how could it be fixed on an unrooted device?

koroji said:
I have tried everything mentioned here but it's still not working for me.
My device is a car head unit with android 7.1.1.
I installed vocalizerex (tried both 1 and 2) and created the folder VocalizerEx in /storage/emulated/0 with the downloaded voice inside this folder.
I can see the tts engine in settings but there is also another engine preinstalled (pico tts). If I select vocalizerex and go into its settings I can see and select my voice but it's never working. Also if I exit and enter the tts settings again the selected engine is always the pico tts.
Could it be a permissions issue and how could it be fixed on an unrooted device?
Click to expand...
Click to collapse
Have you changed the actual location of "VocalizerEx" folder in application settings ?
If no, change it in application settings to the actual location of the folder (for example, "/storage/emulated/0/VocalizerEx. exit settings and enter again, you should see your language as supported and listening to voice sample may work after that.
If you put the folder on sd card, maybe you have to grant application access to sd card, as I don't have android 7, you could probably find how to do it easily.

leech4 said:
Have you changed the actual location of "VocalizerEx" folder in application settings ?
If no, change it in application settings to the actual location of the folder (for example, "/storage/emulated/0/VocalizerEx. exit settings and enter again, you should see your language as supported and listening to voice sample may work after that.
If you put the folder on sd card, maybe you have to grant application access to sd card, as I don't have android 7, you could probably find how to do it easily.
Click to expand...
Click to collapse
The settings were correct. I am able to see and select the voice I put in /storage/emulated/0/VocalizerEx.
The problem is it's never working and if I get in the settings again, the selected engine is not the vocalizerex but the pico tts.
It's like that it's never activated.

koroji said:
The settings were correct. I am able to see and select the voice I put in /storage/emulated/0/VocalizerEx.
The problem is it's never working and if I get in the settings again, the selected engine is not the vocalizerex but the pico tts.
It's like that it's never activated.
Click to expand...
Click to collapse
The engine is failing to initialize, either because it may require a reboot just after changing the default TTS engine, but I guess that it would be painful to try it several times (or at least once) in a car head unit, or it did'nt found required drivers/interface in the device.
For example, I still have a galaxy s3 with a custom stock ROM in which, SamsungTTS.apk was removed, every attemp to set a TTS engine failed till I grabbed the apk from another ROM and installed it as a regular application, after what, every TTS engine worked flawlessly.
BTW, did your unit came with the car or was it an aftermarket one ? Some after market units have their rom set to read only, not allowing to change any of default system settings or using any other preinstalled application, it may sound weird but I had seen such (faulty ?) units.
As a last attemp, you could probably "root" the unit, backup the system before doing anything in case something goes wrong, then force remove pico tts engine so the system will be "forced" to deal with the new voice engine. This is only a suggestion, if you are not familiar with such process, I highly recommend you to read througly the appropriate information available for your device before making any pricey mistake.

leech4 said:
The engine is failing to initialize, either because it may require a reboot just after changing the default TTS engine, but I guess that it would be painful to try it several times (or at least once) in a car head unit, or it did'nt found required drivers/interface in the device.
For example, I still have a galaxy s3 with a custom stock ROM in which, SamsungTTS.apk was removed, every attemp to set a TTS engine failed till I grabbed the apk from another ROM and installed it as a regular application, after what, every TTS engine worked flawlessly.
BTW, did your unit came with the car or was it an aftermarket one ? Some after market units have their rom set to read only, not allowing to change any of default system settings or using any other preinstalled application, it may sound weird but I had seen such (faulty ?) units.
As a last attemp, you could probably "root" the unit, backup the system before doing anything in case something goes wrong, then force remove pico tts engine so the system will be "forced" to deal with the new voice engine. This is only a suggestion, if you are not familiar with such process, I highly recommend you to read througly the appropriate information available for your device before making any pricey mistake.
Click to expand...
Click to collapse
My unit is an aftermarket one. I'm not familiar with rooting android devices so I wan t try anything that could mess it up.
Is there any way to install an apk like you did, that would include the required drivers for the tts?
The pico tts is working so I think the reason might be a permissions issue. Could I change somehow this behaviour without rooting my device?

koroji said:
My unit is an aftermarket one. I'm not familiar with rooting android devices so I wan t try anything that could mess it up.
Is there any way to install an apk like you did, that would include the required drivers for the tts?
The pico tts is working so I think the reason might be a permissions issue. Could I change somehow this behaviour without rooting my device?
Click to expand...
Click to collapse
Generally, aftermarket means poor if no software support, they manage to get the latest android along with a series of production and stop at that step, they also may relase a poorly designed firmware that has an unsolved bug. If an official firmware update doesn't solve the issue for you, you should try the following suggestion, it does'nt require root, but it may require an extensive search without guarantee to find something suitable, here's how to proceed:
- As your unit is an aftermarket one, it is certainly a single SoC (System on Chip), usually a Rockchip RK31xx but it may be anything else. If you cannot open the unit to see the chip without messing it up, I suggest you to find a way to identify it exactly. Either looking with your reseller, or by seeing at the site where you could find firmware update. The filename of the update file may also give you the answer or a manufacturer code for the chip which you have to identify. Needless to say that the shortest path is to go straight and open carefully the unit, which may require to teardown a "warranty void" label, it's up to you.
- Find a phone that uses the exact Chip as your device (it may be any chinese cheap phone), IT HAS TO BE THE EXACT CHIP. No prefixe nor suffixe, not even a letter in difference, otherwise it may not work. Try googling "[YOUR CHIP NAME] based phones / devices"
- Look for a ROM / Official Firmware for that particular phone (or any other similar chip device if no success).
- Find a way to extract system apk's (it may be painful...) and try to identify any application related to tts, you can proceed by elimination. Usually TTS works fine with phones as it is more likely to be used in comparison to android based computers (TV boxes, gps, car units).
- Install what you extracted in your car unit and proceed with the VocalizerEx steps above.
For your second question, to change permissions (I guess file permissions) you have either to root you device or use ADB with usb connection to a laptop, with appropriate USB drivers required for your device (the chip...once again) and some technical stuff that includes CHMOD command I'm not familiar with ... you may find help around in xda.
- Good luck :fingers-crossed:

no Hindi or Tamil, why?

Link to zip is broken
xdan8r said:
... As discussed here: ..., those voices are found elsewhere and need a more recent version of the apk. In that thread, they provide a link to a zip that contains the more recent apk and a few additional files needed here: LINK IS BROKEN
Click to expand...
Click to collapse
Unfortunetly, this link is no longer working.
xdan8r said:
Once you extract the zip and install the apk, create a "VocalizerEx2" dir in your main user dir (should be /storage/emulated/0) and copy the "languages/common" dir from the zip to that dir.
Click to expand...
Click to collapse
I tried to search for "VocalizerEx2" and found some hits, but in all these zip-files, there is no folder "languages/common". And it seems, without this content, it will not work. I have downloaded some voices as described and I can choose VocalizerEx2 as TTS-Engine (I checked the correct path), and I can also select my downloaded voices, but there is no noise if I press the button for Example-Voice. Is it possible to renew the link to that zip with the additional content please?

Related

Can I create Rmaps from PNG or similar?

I want to use OS maps on my Android device. RMaps seems to be a popular choice for the app but I want to use the 1:25K maps I already have rather than use a tool to download the tiles.
Can I export them from GlobalMapper and get them into a format for RMaps? I've searched extensively and it looks like RMaps wants a SQLite format. I can export from GlobalMapper in various formats including PNG but I can see no way of turning this into something RMaps camn handle.
Any advice on conversion, or a more suitable (free or cheap) app appreciated.
Thanks.
Creating maps for Rmaps
Hi
Rmaps can support a format called 'mnm', as well as SQlite. It does mention this on the rmaps site, but some of it is in russian, so a bit confusing!
(Sorry, I'm also a new user, so can't post links. If you google "welcome to rmaps" you should find the page).
I've outlined the conversion process below:
If you can open your maps in global mapper you should be able to export them as 'geotiff's, which can be converted to mnm maps using a program called 'map nav editor'.
From the rmaps site there is a link to download that program. I downloaded it yesterday fine, but today there seems to be a problem with the other site.
The file I download is "mapnaveditor_59.7z", I googled 'mapnaveditor_59.7z android' and found the same file.
It seems map nav editor only excepts geotiffs with 'mercator' projection. I set this in global mapper before exporting the maps - Tools > configure > Projection tab > projection.
Open the tiff file in map nav editor ('select map to convert') and it should export it as a mnm file and mno file.
The resulting mnm file can then be used with Rmaps, in the same way sqlite maps are used.
The first time the map is used with Rmaps it will be indexed. This took a while on the maps I converted, but afterwards the maps worked fine.
That is how I converted my maps to use with Rmaps. It's not very difficult to do, but I bit of a nuisance when you have a lot of maps to convert. If anyone knows of a better program than Rmaps, I would also be interested.
aled99 - You're a genuis! Thanks a million. I will certainly give this a try.
pealy said:
aled99 - You're a genuis! Thanks a million. I will certainly give this a try.
Click to expand...
Click to collapse
Hope you can follow what I said - I've only converted a few maps, so I'm not sure if it's the optimum way of doing it.
I have found that it doesn't seem to make any difference assembling the mno and mnm files together, just using the original mnm file seems to work fine. (I've edited my first post).
There doesn't seem to be a clear guide on the rmaps site and I don't know exactly what the two types are for. There are some instructions on the rmaps site for converting a mno file to mnm, but I don't know why this would be necessary.
aled99 said:
Hope you can follow what I said - I've only converted a few maps, so I'm not sure if it's the optimum way of doing it.
I have found that it doesn't seem to make any difference assembling the mno and mnm files together, just using the original mnm file seems to work fine. (I've edited my first post).
Click to expand...
Click to collapse
Thanks for the update, I tried one of my 1:25K maps and it took a while so I left it overnight but the first step certainly worked. I had to abort the mno/mnm merge as I left for work the next working so didn't get to test properly. I intend to have another go this w/e when I have a bit more time.
If it works out I'll try to get the process listed on the rmaps site.
I have had good results using the Globalmapper->Geotiff, Geotiff->SQLLite approach. I have been able to get my 1:25 Memory Maps into Rmaps and the GPS is getting the position on the map just perfect.
The only thing I want to try to improve is the zoom level in Rmaps. On Max zoom I'm still one level of detail away from where I would like to be. I believe I'm using the max levels (6) in Mobile Map Creator but need to have a look at the options to see if it can be improved.
Big thanks again to Aled99 for all the help.
rmaps
hi there sounds like I'm doing a similar thing, I'm using global mapper to create ecw maps then compegps land 7 to converted ecw to rmap, ready to use with twonav, android
note when making ecw in global mapper you can set export to current screen pixel size/zoom as long as your map has original detail.

[Q] Android sound notifications manager

Dear fellows,
Lately I've been looking for a way to manage all the sound alerts from one point. You know, one application to manage them all. ...or at least the gapps and whatever comes standard with AOSP.
Is there such an application?
Or, if not, is it possible to modify other application's settings? For example from Tasker? Or maybe even start a project for an Android sound themer. (I would have a good reason to start learning programming)
Thanks!
You mean something like "Notification Manager" by Mikael Setterberg? Or different yet?
No, not something like that. That's something totally different. And I've found n+1 programs that do that.
mean something that would allow me to change the notification/ringtone sounds from one place for many/all apps. Maybe even allow me to apply sound themes (like there are on Symbian).
Well, you could point all your alert-tones to a file or group of files on the external memory card (or anywhere really) and then just replace those files with whatever you want by connecting it to you computer and overwriting the files (same file name) with whatever sound(s) you want that day.
I suppose you could do essentially the same thing with something like Astro in-phone as well.
Also, there's a thread (or threads) on this site that teach how to write scripts. You could handle such (delete - copy - renaming) in a script I assume. The logic would be pretty simple I think.
So to be clear, you're changing the files out from under the alert setting assignments so that the phone settings always point to the same path/filename. Only you're changing (by overwriting) the content of those files.
Bifurcator, I know about this solution too. I was wondering if it's possible to change the actual setting, to make the change in the application's settings.

HOw to Get the KitKat launcher

So how do you get it? The first step is to head over to this thread on the XDA Developers Forum. The top post includes a set of instructions and a download link for a zip archive containing three APK files that need to be installed in a particular order.
My Android 4.1 Galaxy Note II, with a KitKat launcher face-lift.
Now, advanced users who are already comfortable opening zip archives on their phone and managing files can do all of this downloading and installing directly on their Android phone. But in general, I recommend downloading the zip archive to your computer first, decompressing it, and placing the files somewhere you can access easily. To get them on your phone, email the each file individually (to limit the possibility of file size limitations) to an email account you can access from the phone. Alternately, you can send to Dropbox or Google Drive and then download them back down to your phone.
But before you proceed with installing them, make sure your phone is setup to work with files from sources other than Google. To do this, dive into your phone settings, select Security, and then with any luck you should see an option to accept files from "unknown sources." Make sure the box is checked and then back out to your home screen.
You'll also need to make sure you're comfortable with the worst case scenario: a factory reset. Members of the XDA Forum have reported mostly successful results using devices running Android 4.2 or later. Anything earlier is iffy. My Galaxy Note II running Android 4.1 was a rare exception, but even then, features such as Google Now voice commands did not work properly. This is a "use at your own risk" procedure, so make sure your photos, videos, data and settings are backed up before attempting this.
After installing the last of the APK files, you'll be walked through the introduction to the new KitKat launcher.
Once the files are accessible from your phone, via email or whatever method you chose, select the PreBuiltGMScore APK file first. You may be given a choice of how to install the APK. I went with the Package Installer, but other options may be just as viable. It may also warn you that you are replacing an existing file -- that's fine. Once installed, simply hit Done and move on to the next file, which in this case is the Velvet APK. Rinse and repeat, and finally move on to the GoogleHome APK file. At the end of installing that one, however, you'll want to hit Open instead of Done. Doing so will usher you into clean, slick world of the KitKat launcher.
As your first order of business, I suggest a tap and hold on the home screen, which will bring up options for changing the wallpaper, installing home screen widgets, and configuring your Google Now experience. If nothing else, choosing from the new wallpapers will help complete the KitKat transformation.

Tasker: Help With Task To Daily Download File

Hey Guys -
I hope I've got this in the correct category. If not, please let me know or move...
I love Tasker! I consider myself an intermediate user as I'm no expert, but have made many scripts to automate various tasks - many of them in great detail. There's one that I'm trying to create which I need your assistance with and/or suggestions for the best method, please...
I already have a Profile set up so that when I enter my car the following happens:
- Bluetooth is enabled
- My phone connects to my car's bluetooth
- My morning radio show starts to play in Poweramp
This is great, but I'm having to manually download and copy the MP3 to my phone daily. The functionality I want to add is:
- Every x hours / minutes, my phone connects to an FTP server
- It checks a specific folder for an MP3 file (See Note below)
- If it exists, it downloads & deletes it. If not there, it disconnects and stops the task
- Once downloaded, it moves it to a specified folder located off the root
- The next time I get in my car, I want it to start playing the new file instead of the last one played if possible. I don't care if Poweramp is used as long as it has resume support if there's no new file
Note
Here's a catch - I'll have to use wildcards for both the folder and file name as both have the date of broadcast in their name. Fortunatly, there are other parts of their name which do not change. One option is that I can use wildcards on my FTP server so that each day's folder (+ files) download to a specific folder on the FTP site. This way, I could have the task check for any folder + files to download and not have to be more specific. Also, the only reason I have the "delete" option in there is so that once it downloads, it doesn't try to download it again on the next run.
So what do you suggest? I just bought and downloaded the Tasker plugin "SSHFTPDownUploader," so am going to play with it. If you have any other ideas - even those which may not use Tasker, let me know.
Thanks!
bzowk said:
Hey Guys -
I hope I've got this in the correct category. If not, please let me know or move...
I love Tasker! I consider myself an intermediate user as I'm no expert, but have made many scripts to automate various tasks - many of them in great detail. There's one that I'm trying to create which I need your assistance with and/or suggestions for the best method, please...
I already have a Profile set up so that when I enter my car the following happens:
- Bluetooth is enabled
- My phone connects to my car's bluetooth
- My morning radio show starts to play in Poweramp
This is great, but I'm having to manually download and copy the MP3 to my phone daily. The functionality I want to add is:
- Every x hours / minutes, my phone connects to an FTP server
- It checks a specific folder for an MP3 file (See Note below)
- If it exists, it downloads & deletes it. If not there, it disconnects and stops the task
- Once downloaded, it moves it to a specified folder located off the root
- The next time I get in my car, I want it to start playing the new file instead of the last one played if possible. I don't care if Poweramp is used as long as it has resume support if there's no new file
Note
Here's a catch - I'll have to use wildcards for both the folder and file name as both have the date of broadcast in their name. Fortunatly, there are other parts of their name which do not change. One option is that I can use wildcards on my FTP server so that each day's folder (+ files) download to a specific folder on the FTP site. This way, I could have the task check for any folder + files to download and not have to be more specific. Also, the only reason I have the "delete" option in there is so that once it downloads, it doesn't try to download it again on the next run.
So what do you suggest? I just bought and downloaded the Tasker plugin "SSHFTPDownUploader," so am going to play with it. If you have any other ideas - even those which may not use Tasker, let me know.
Thanks!
Click to expand...
Click to collapse
How does tasker know when you get info your car?
Sent from Galaxy Note 3 SM-N9005

kindle RCE plugin, hidden files.

I saw this on my device, and only found little info/threads, with almost zero content/analysis. Aparently the kindle app leaves a bunch of random files around. And since the prefix is "RCE" i am a little paranoid, since that usually means "Remote code execution" and is usually associated with exploits
Files:
CS_JIT_Animation.mp4
jit_cs_positive_preview.png
rce_plugin_strings_resource_cs_CZ.json.min
rce_plugin_strings_resource_de_DE.json.min
rce_plugin_strings_resource_en_US.json.min
rce_plugin_strings_resource_es_ES.json.min
rce_plugin_strings_resource_fr_FR.json.min
rce_plugin_strings_resource_it_IT.json.min
rce_plugin_strings_resource_ja_JP.json.min
rce_plugin_strings_resource_nl_NL.json.min
rce_plugin_strings_resource_pt_BR.json.min
rce_plugin_strings_resource_v2_TYPO_TEST.json
rce_plugin_strings_resource_zh_CN.json.min
All Attached in a zip created by the android native file manager.
Current places mentioning this
https://forums.oneplus.com/threads/unkown-files-in-download.948860/
https://talk.sonymobile.com/t5/Xper...erious-Files-in-Downloads-Folder/td-p/1353185
https://forum.xda-developers.com/xperia-xz1/help/phone-mysterious-files-download-folder-t3871763
https://www.youtube.com/watch?v=eMmx5tRm0jM (one of the files is a video, someone uploaded to youtube ...and to https://gfycat.com/generouspinkcolt
How to make those files appear for you:
Install kindle from the google app store
if you already have it installed, or want to see the files again after you deleted, Stop the app and delete all storage. (nothing will be lost, this app syncs everything and some more to the amazon servers)
perform the first Sync on kindle app
Now, insert a pen drive and open the native android File Mananger and look at the local Download folder
Files are somewhat hidden:
If you look into the download folder with any other app (I tried, blackberry file manager, oi file manager, Ghost Commander, and Termux --after enabling the storage setup)
Files probably have a weird attribute or ownership... but the native android file manager does not show anything other than creation date! And every single file operation (copy, move, compress) reset the information to "regular user, creation time set to now". So either I see them on the Native File Manager, without any information available, or I do not see the files until I destroy the information.
Android version is not important (seems to happen on several versions) and has been happening for a while (First mention seems to be Nov2018)
Anyone have any idea what this is? I know I will probably reverse eng the kindle app at some point, wast a bunch of time, and realize it is just some dumb amateur library badly implemented by amazon... or maybe not. I think at this point I am most curious as to how the app "hides" the files from most everything.

Categories

Resources