Add proper FAQ page and TTS instructions

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Create text-to-speech.md

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Update text-to-speech.md

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Add files via upload

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Update text-to-speech.md

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Added LineageOS instructions for tts

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Made small changes

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Update text-to-speech.md

Signed-off-by: meenbeese <meenbeese@tutanota.com>

[WIP] Added text to speech instructions

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Add faq to top bar and use md

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Minor rewording and grammar fixes

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Add table with all languages

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Update eSpeak link

Signed-off-by: meenbeese <meenbeese@tutanota.com>

Update and clarify instructions page

Signed-off-by: meenbeese <meenbeese@tutanota.com>
This commit is contained in:
vachan-maker 2022-04-20 20:58:45 +05:30 committed by meenbeese
parent 028faa9253
commit 45de45e4fe
8 changed files with 172 additions and 2 deletions

View file

@ -30,11 +30,13 @@ stripe = "https://donate.organicmaps.app/"
address = "Address"
back = "Back to News"
contact = "Contact Us"
engines = "Supported TTS Engines"
install-appgallery = "Install Organic Maps from Huawei AppGallery"
install-appstore = "Install Organic Maps from the AppStore"
install-googleplay = "Install Organic Maps from Google Play"
install-fdroid="Install Organic Maps from F-Droid"
language = "English"
const_lang = "Language"
name = "Name"
token = "Token"

View file

@ -110,4 +110,4 @@ Organic Maps is an [open-source software][github] licensed under the Apache Lice
[fork]: https://en.wikipedia.org/wiki/Fork_(software_development)
{{ references() }}
{{ references() }}

76
content/faq/index.md Normal file
View file

@ -0,0 +1,76 @@
---
title: Text-to-Speech on Android
description: Guide on how to make TTS work on Android
weight: 100
extra:
menu_title: FAQ
---
TLDR:
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](https://rhvoice.org/), which is a free and open source speech engine that can be downloaded from [Google Play](https://play.google.com/store/apps/details?id=com.github.olga_yakovleva.rhvoice.android) and [F-Droid](https://f-droid.org/en/packages/com.github.olga_yakovleva.rhvoice.android/).
## Instructions
- Open the Settings app on your Android device.
- Select Additional Settings and then select Accessibility.
- Choose your preferred engine, speech rate and pitch.
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
| | | |
| ----------- | ----------- | ----------- |
| <img src='/images/screenshots/tts_config_1.jpg' width='400' alt='Screenshot 1'> | <img src='/images/screenshots/tts_config_2.jpg' width='400' alt='Screenshot 2'> | <img src='/images/screenshots/tts_config_3.jpg' width='400' alt='Screenshot 3'> |
## Engines
Below is a comprehensive list showing several engines and the languages they support (download links can be found after the table):
{{ tts_table() }}
## Downloads
- [Acapela Voices TTS](https://play.google.com/store/apps/details?id=com.acapelagroup.android.tts)
- [Amazon Ivona TTS](https://apkpure.com/ivona-text-to-speech-hq/com.ivona.tts/download)
- [eSpeak TTS](https://f-droid.org/en/packages/com.reecedunn.espeak/)
- [Google Speech Services](https://play.google.com/store/apps/details?id=com.google.android.tts)
- [RHVoice TTS (Recommended)](https://play.google.com/store/apps/details?id=com.github.olga_yakovleva.rhvoice.android)
- [Vocalizer (Code Factory)](https://play.google.com/store/apps/details?id=es.codefactory.vocalizertts)
- [Vocalizer 2 (Nuance)](https://nvda.ru/sintezatory-rechi-vocalizer-expressive2-dlja-nvda#)
- [Yandex SpeechKit TTS](https://4pda.to/forum/index.php?showtopic=200728&st=4200#download)
## Workarounds
If youre 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 havent used any TTS engine on your phone before (e.g., new installation, factory reset, etc.). If youre using a custom ROM like LineageOS <ins>without Google Play services and Speech Services by Google</ins>, and you want to use RHVoice as your preferred TTS engine, follow the instructions below as a workaround:
- Install the [eSpeak TTS engine](https://f-droid.org/en/packages/com.reecedunn.espeak) 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](https://f-droid.org/en/packages/com.github.olga_yakovleva.rhvoice.android/) 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
*In order to hear voice instructions you have to actually start a navigation to receive any voice output, Organic Maps will not give you any voice instructions while you're standing still.*

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View file

@ -0,0 +1,91 @@
<p id="tts-table" />
{{ trans(key='const_lang', lang=lang) }} | &emsp; {{ trans(key='engines', lang=lang) }}
:------------------|:----------------------------------------------------------
Afrikaans | &emsp; eSpeak
Albanian | &emsp; RHVoice, eSpeak
Arabic | &emsp; Vocalizer, Acapela, Nuance
Aragonese | &emsp; eSpeak
Armenian | &emsp; eSpeak
Basque | &emsp; Vocalizer, Nuance
Bengal | &emsp; Vocalizer, Google, Nuance
Bhojpuri | &emsp; Vocalizer, Nuance
Bulgarian | &emsp; Vocalizer, Nuance, eSpeak
Cantonese | &emsp; Vocalizer, Google, Nuance, eSpeak
Catalan | &emsp; Vocalizer, Acapela, Nuance, eSpeak
Croatian | &emsp; Vocalizer, Nuance, eSpeak
Czech | &emsp; Vocalizer, Acapela, Nuance, eSpeak
Danish | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak
Dongbei | &emsp; Vocalizer
Dutch (BE) | &emsp; Vocalizer, Nuance
Dutch (NL) | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance
English (AU) | &emsp; Vocalizer, Google, Acapela, Nuance, RHVoice
English (IE) | &emsp; Vocalizer, Nuance
English (IN) | &emsp; Vocalizer, Google, Acapela, Nuance
English (SCT) | &emsp; Vocalizer, Nuance, RHVoice
English (UK) | &emsp; Vocalizer, Google, Acapela, Yandex, RHVoice, eSpeak
English (US) | &emsp; Vocalizer, Google, Acapela, Ivona, Yandex, Nuance, RHVoice, eSpeak
English (ZA) | &emsp; Vocalizer, Nuance
Esperanto | &emsp; RHVoice, eSpeak
Estonian | &emsp; eSpeak
Faroese | &emsp; Acapela
Farsi | &emsp; Vocalizer, Nuance, eSpeak
Finnish | &emsp; Vocalizer, Google, Acapela, Nuance, eSpeak
French (BE) | &emsp; Vocalizer
French (CA) | &emsp; Vocalizer, Nuance
French (FR) | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak
Galician | &emsp; Vocalizer, Nuance
Georgian | &emsp; RHVoice, eSpeak
German | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak
Greek | &emsp; Vocalizer, Acapela, Nuance, eSpeak
Hebrew | &emsp; Vocalizer, Nuance
Hindi | &emsp; Vocalizer, Nuance, eSpeak
Hungarian | &emsp; Vocalizer, Google, Nuance, eSpeak
Icelandic | &emsp; eSpeak
Indonesian | &emsp; Vocalizer, Google, Nuance, eSpeak
Irish | &emsp; eSpeak
Italian | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak
Japanese | &emsp; Vocalizer, Google, Acapela, Nuance
Kannada | &emsp; Vocalizer, Nuance, eSpeak
Korean | &emsp; Vocalizer, Google, Acapela, Nuance
Kurdish | &emsp; eSpeak
Kyrgyz | &emsp; RHVoice
Latvian | &emsp; eSpeak
Lithuanian | &emsp; eSpeak
Lojban | &emsp; eSpeak
Macedonian | &emsp; RHVoice, eSpeak
Malay | &emsp; Vocalizer, Nuance, eSpeak
Malayalam | &emsp; eSpeak
Mandarin (CN) | &emsp; Vocalizer, Acapela, eSpeak
Mandarin (TW) | &emsp; Vocalizer, Google, Nuance
Marathi | &emsp; Vocalizer, Nuance
Nepalese | &emsp; eSpeak
Norwegian | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak
Polish | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance, RHVoice, eSpeak
Portuguese (BR) | &emsp; Vocalizer, RHVoice
Portuguese (PT) | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak
Punjabi | &emsp; eSpeak
Romanian | &emsp; Vocalizer, Ivona, Nuance, eSpeak
Russian | &emsp; Vocalizer, Google, Acapela, Ivona, Yandex, RHVoice, eSpeak
Serbian | &emsp; eSpeak
Shaanxi | &emsp; Vocalizer
Shanghainese | &emsp; Vocalizer
Sichuanese | &emsp; Vocalizer
Slovak | &emsp; Vocalizer, Nuance, eSpeak
Slovenian | &emsp; Vocalizer
Spanish (AR) | &emsp; Vocalizer, Nuance
Spanish (CL) | &emsp; Vocalizer, Nuance
Spanish (CO) | &emsp; Vocalizer
Spanish (ES) | &emsp; Vocalizer, Google, Acapela, Ivona, Nuance, eSpeak
Spanish (MX) | &emsp; Vocalizer
Swahili | &emsp; eSpeak
Swedish | &emsp; Vocalizer, Ivona, Nuance, eSpeak
Tamil | &emsp; Vocalizer, Nuance, eSpeak
Telugu | &emsp; Vocalizer
Tatar | &emsp; RHVoice
Thai | &emsp; Vocalizer, Google, Nuance
Turkish | &emsp; Vocalizer, Google, Acapela, Ivona, Yandex, Nuance, eSpeak
Ukrainian | &emsp; Vocalizer, Nuance, RHVoice
Valencian | &emsp; Vocalizer
Vietnamese | &emsp; Vocalizer, Nuance, eSpeak
Welsh | &emsp; eSpeak

View file

@ -8,7 +8,8 @@
{% for page in [
get_section(path="news/_index.md"),
get_page(path="donate/index.md"),
get_page(path="support-us/index.md")
get_page(path="support-us/index.md"),
get_page(path="faq/index.md")
] %}
{% set translated = page.translations | filter(attribute='lang', value=lang) | first %}
{% if translated %}