Skip to content

Voice Guidance

Lwb89dev edited this page Oct 19, 2026 · 1 revision

Voice guidance

Roadstr reads turn-by-turn instructions aloud with on-device text-to-speech. Nothing is sent to a cloud API and no audio leaves the phone. (Recognising your speech is a separate feature: Voice search.)

Engines

No single open model covers every language the app is translated into, so two engines are used:

Engine Languages Model size
Kokoro-82M Italian, English, Spanish, French, Japanese, Chinese, Portuguese about 82 MB, shared by all seven
Piper with the Thorsten-Voice “Martin” voice German about 63 MB

Both run on ONNX Runtime; phonemisation uses eSpeak NG through a native library. For languages neither engine covers, instructions stay as text on screen.

Downloading the voice

The model is not bundled. Download it from Settings → Navigation voice → Voice model (or offer it during first-time setup). It is checked against its size and SHA-256 before use and reused if already on the phone — an update from 0.5.x keeps the one you had.

Settings

Settings → Navigation voice:

Setting
Voice guidance Read turn-by-turn instructions aloud during navigation
Voice Female or male. French has only the female voice, German only Martin; the app says when a choice is unavailable
Speech speed Six stages, 0.7× to 1.5×
Voice volume

Behaviour

  • Instructions are spoken as navigation guidance, so they are not drowned by music.
  • A phrase in progress is finished when the trip ends.
  • Guidance keeps going with the screen off, held by the navigation foreground service.

Troubleshooting

See Troubleshooting.

For developers

The committed eSpeak NG libraries are rebuilt from pinned upstream commits by tools/build_espeak_android.sh, and every Android build verifies their SHA-256 digests before preBuild. eSpeak NG is GPL-3.0-or-later; an APK that includes it has to honour the GPL for that component (see Architecture).

Clone this wiki locally