organicmaps/organicmaps

[android] Implement proper TTS voice selection

Open

#12,129 建立於 2026年2月7日

在 GitHub 查看
 (9 留言) (0 反應) (0 負責人)C++ (761 fork)batch import
AndroidGood first issueTTS

倉庫指標

Star
 (7,887 star)
PR 合併指標
 (平均合併 13天 6小時) (30 天內合併 91 個 PR)

描述

There are several issues with the existing TTS implementation on Android:

  • The API is old and doesn't leverage more than one installed TTS engine properly (e.g. Samsung + Google TTS)
  • Doesn't always work reliably (e.g. allows to select voices that don't work, for example, when offline/voices were not downloaded yet)
  • Doesn't support subvoice selection
  • All TTS engine system changes should be detected in OM without restarting the app
  • Review and retest TTS engines mentioned https://organicmaps.app/faq/voice/text-to-speech-tts-and-voice-directions-on-android/ and update the FAQ if necessary with the most actual information

It would be great to review the existing code, update it to use a more modern API available from Android 5+ if necessary, and properly support more than one TTS engine.

Example:

  • Scan voices/TTS translations available in OM
  • Scan system TTS engines, their languages and subvoices
  • Match both and show to a user a list of system voices, mentioning their TTS engine, their language (and subtype if necessary)

Something like:

  • English (female II, Google TTS)
  • English (UK Alex, Samsung TTS)

貢獻者指南