Text-to-Speech on Android
Summary
Organic Maps uses the system text-to-speech (TTS) engine for voice instructions. The default engines vary by device. The choices can include Google Text-to Speech, device manufacturer's engine or a third-party one.
The official recommendation from Organic Maps is RHVoice, which is a free and open source speech engine that can be downloaded from Google Play and F-Droid.
Instructions
- Open the Settings app on your Android device
- Select Additional Settings and then select Accessibility
- Choose your preferred engine, speech rate and pitch
- Restart Organic Maps app
- Open Settings => Voice Instructions in Organic Maps and set it up
- Restart Organic Maps app again (or reboot the device) if the voice is not working
If you cannot find the relevant setting, open the settings app and search for Text-to-speech.
P.S: Do note that these steps will vary based on the phone brand you are using.
Said options may not appear if you don't have a TTS already installed on your device. Please refer to the table below to install any one of them that supports your native language.
Screenshots
Engines
Below is a comprehensive list showing several engines and the languages they support (download links can be found after the table):
Language | Supported TTS Engines |
---|---|
Afrikaans | eSpeak |
Albanian | RHVoice, eSpeak |
Arabic | Vocalizer, Acapela, Nuance |
Aragonese | eSpeak |
Armenian | eSpeak |
Bangla | TTSLexx |
Basque | Vocalizer, Nuance |
Bengal | Vocalizer, Google, Nuance |
Bhojpuri | Vocalizer, Nuance |
Bulgarian | Vocalizer, Nuance, eSpeak |
Cantonese | Vocalizer, Google, Nuance, eSpeak |
Catalan | Vocalizer, Acapela, Nuance, eSpeak |
Croatian | Vocalizer, Nuance, eSpeak |
Czech | Vocalizer, Acapela, Nuance, eSpeak |
Danish | Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak |
Dongbei | Vocalizer |
Dutch (BE) | Vocalizer, Nuance |
Dutch (NL) | Vocalizer, Google, Acapela, Ivona, Nuance |
English (AU) | Vocalizer, Google, Acapela, Nuance, RHVoice |
English (IE) | Vocalizer, Nuance |
English (IN) | Vocalizer, Google, Acapela, Nuance |
English (SCT) | Vocalizer, Nuance, RHVoice |
English (UK) | Vocalizer, Google, Acapela, Yandex, RHVoice, eSpeak |
English (US) | Vocalizer, Google, Acapela, Ivona, Yandex, Nuance, RHVoice, eSpeak, TTSLexx |
English (ZA) | Vocalizer, Nuance |
Esperanto | RHVoice, eSpeak |
Estonian | eSpeak |
Faroese | Acapela |
Farsi | Vocalizer, Nuance, eSpeak |
Finnish | Vocalizer, Google, Acapela, Nuance, eSpeak |
French (BE) | Vocalizer |
French (CA) | Vocalizer, Nuance |
French (FR) | Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak, TTSLexx |
Galician | Vocalizer, Nuance |
Georgian | RHVoice, eSpeak |
German | Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak, TTSLexx |
Gujarati | TTSLexx |
Greek | Vocalizer, Acapela, Nuance, eSpeak |
Hebrew | Vocalizer, Nuance |
Hindi | Vocalizer, Nuance, eSpeak, TTSLexx |
Hungarian | Vocalizer, Google, Nuance, eSpeak |
Icelandic | eSpeak |
Indonesian | Vocalizer, Google, Nuance, eSpeak, TTSLexx |
Irish | eSpeak |
Italian | Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak, TTSLexx |
Japanese | Vocalizer, Google, Acapela, Nuance, TTSLexx |
Kannada | Vocalizer, Nuance, eSpeak, TTSLexx |
Korean | Vocalizer, Google, Acapela, Nuance, TTSLexx |
Kurdish | eSpeak |
Kyrgyz | RHVoice |
Latvian | eSpeak |
Lithuanian | eSpeak |
Lojban | eSpeak |
Macedonian | RHVoice, eSpeak |
Malay | Vocalizer, Nuance, eSpeak |
Malayalam | eSpeak, TTSLexx |
Mandarin (CN) | Vocalizer, Acapela, eSpeak, TTSLexx |
Mandarin (TW) | Vocalizer, Google, Nuance |
Marathi | Vocalizer, Nuance, TTSLexx |
Nepalese | eSpeak |
Norwegian | Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak |
Polish | Vocalizer, Google, Acapela, Ivona, Nuance, RHVoice, eSpeak |
Portuguese (BR) | Vocalizer, RHVoice |
Portuguese (PT) | Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak, TTSLexx |
Punjabi | eSpeak |
Romanian | Vocalizer, Ivona, Nuance, eSpeak |
Russian | Vocalizer, Google, Acapela, Ivona, Yandex, RHVoice, eSpeak, TTSLexx |
Serbian | eSpeak |
Shaanxi | Vocalizer |
Shanghainese | Vocalizer |
Sichuanese | Vocalizer |
Slovak | Vocalizer, Nuance, eSpeak |
Slovenian | Vocalizer |
Spanish (AR) | Vocalizer, Nuance |
Spanish (CL) | Vocalizer, Nuance |
Spanish (CO) | Vocalizer |
Spanish (ES) | Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak, TTSLexx |
Spanish (MX) | Vocalizer |
Swahili | eSpeak |
Swedish | Vocalizer, Ivona, Nuance, eSpeak |
Tamil | Vocalizer, Nuance, eSpeak, TTSLexx |
Telugu | Vocalizer, TTSLexx |
Tatar | RHVoice |
Thai | Vocalizer, Google, Nuance, TTSLexx |
Turkish | Vocalizer, Google, Acapela, Ivona, Yandex, Nuance, eSpeak, TTSLexx |
Ukrainian | Vocalizer, Nuance, RHVoice, TTSLexx |
Urdu | TTSLexx |
Valencian | Vocalizer |
Vietnamese | Vocalizer, Nuance, eSpeak, TTSLexx |
Welsh | eSpeak |
- Acapela Voices TTS
- Amazon Ivona TTS
- eSpeak TTS
- Google Speech Services
- RHVoice TTS)
- TTSLexx
- Vocalizer (Code Factory)
- Vocalizer 2 (Nuance)
- Yandex SpeechKit TTS
Workarounds
If you’re having trouble initializing the RHVoice TTS engine on LineageOS or other custom ROMs, try this workaround. RHVoice may not initialize properly and the app may crash, especially if you haven’t used any TTS engine on your phone before (e.g., new installation, factory reset, etc.). If you’re using a custom ROM like LineageOS without Google Play services and Speech Services by Google, and you want to use RHVoice as your preferred TTS engine, follow the instructions below as a workaround:
- Install the eSpeak TTS engine available on F-Droid
- Set it as the preferred system engine
- Go to LineageOS main Settings.
- Scroll down to Accessibility.
- Select text-to-speech output and Preferred engine (left side) and make sure eSpeak is selected.
- Go back and press play to see if it is working
- Install RHVoice available on F-droid.
- Open it, select the language you want to use, tap on the cloud icon (far left) to download voices.
- Press play button to verify if it is working
- Set RHVoice as preferred engine (see step 2)
- Now, you should be able to use RHVoice without any problems
Testing
In order to test the voice instructions, you can tap on "Test Voice Directions (TTS, Text-To-Speech)" in OM "Settings → Voice Instructions" menu or you can actually start a navigation to receive any voice output. Organic Maps will not give you any voice instructions while you're standing still.