Practical voice guide

Use any text-to-speech engine in Lectern

Android lets anyone install a speech engine, and there are good ones: free open-source voices for languages the big engines skip, neural voices that run on your phone, and paid voices people have relied on for years. Since Lectern 1.29 they all show up in the voice list, without touching your system settings.

The short answer

Install the engine from Google Play, open it once and download the voice you want, then open a book in Lectern and go to Audio → Voice. The new engine appears as its own group, with its name above it. Tap the play button next to a voice to hear it before you choose.

What changed in 1.29

Before this release, Lectern showed only the voices of the engine Android has set as the system default. To use a second engine you had to change that default outside the app, and then everything on your phone spoke with it. That was never the intention; it was a gap in how the app asked Android for voices.

Now the list covers every engine on the device. On a test phone with five engines installed, Lectern found 39 English voices across all five, each grouped under the engine that offers it. Your system default stays whatever it was.

Step by step

  1. Install the engine. Search Google Play for the engine you want and install it like any app. Nothing else is needed; it registers itself with Android.
  2. Open that app once and download a voice. This is the step most people miss. Nearly every engine ships without voice data: RHVoice installs with Installed voices: none, and until you download one it has nothing to offer any app. Pick your language inside the engine's own app and let it download.
  3. Open the voice list in Lectern. In a book, open the reader settings, go to the Audio tab and open Voice. Lectern re-reads the installed engines each time you open it, so a freshly installed engine is there straight away.
  4. Listen before you choose. Android gives a voice only a key like en-us-x-iob-local. No name, no gender, no description. Nine English voices are called “iob”, “iog”, “iol” and so on, and no naming scheme can tell you which one you want. The play button speaks a sample sentence in the voice's own language.
  5. Pick it and read. The choice is remembered per book language, so a Dutch book and an English book can each keep their own voice.

Which engine should you install?

Lectern already carries its own offline voices, Piper and Kokoro, and for most books those are the better choice: they were picked for long-form reading. A system engine is worth installing when you need a language they do not cover, when you want a specific voice you already know, or when a paid voice you own is simply better than anything free.

Free engines

Free Android speech engines, September 2026. Availability varies by country and Android version.
EngineWhat it is good forWorth knowing
Speech Services by GoogleThe default on most phones. Many languages, several voices eachDownload the offline voice data in Android settings, or it needs the network
RHVoiceLanguages the big engines skip: Esperanto, Georgian, Kyrgyz, Macedonian, Luxembourgish, Belarusian, Albanian and moreOpen source and small. Install a voice inside the app first, or it offers nothing
TTS Engine: Next-gen KaldiNeural voices running on your phone, from the sherpa-onnx projectOpen source. The same family of models Lectern uses for Piper
Supertonic TTSTen expressive English voices, offlineEnglish only. Clear and quick on modern phones
VoxSherpa TTSLoad your own Piper, Kokoro or Supertonic modelsAd-supported. It publishes one language at a time: whichever you select in its own voice picker is what other apps see
eSpeak NGVery fast and intelligible at high speed, over a hundred languagesOpenly robotic. Many people who listen at 2x prefer exactly this
Samsung TTSPre-installed on Samsung phonesFewer languages than Google's, but already there

Paid engines

These sell voices rather than the app: the engine is a free download and each voice is bought inside it. They are the engines long-time screen-reader users tend to name first, and the quality is why.

Paid Android speech engines, September 2026. Prices and voice catalogues change; check the store listing.
EngineWhat it is good forWorth knowing
Vocalizer TTS VoiceOver fifty languages, natural and expressive, fully offlineEach voice bought separately, with a trial period. Long the standard among blind and low-vision readers
Acapela TTS VoicesA large voice catalogue, including children's and character voicesFree app, paid voices. Offline once bought
CereProc CerePlayDistinctive voices, including regional accentsUsually the cheapest of the paid engines; a smaller language range

A paid voice is a licence, not a subscription to us. You buy it from the engine's maker and it works in every app that uses system speech, Lectern included. We take no part in it and get nothing from it.

When an engine does not show up

Almost always one of three things, and the first is by far the most common.

The engine has no voice data yet

An engine with nothing downloaded reports no voices at all, and an app cannot show what it is not told about. Open the engine's own app and check that it lists an installed voice. RHVoice says Installed voices: none until you install one; the effect looks exactly like Lectern not seeing the engine.

It offers a different language than your book

The voice list follows the language of the book you have open. An English-only engine has nothing to show in a Dutch book. Some engines also publish one language at a time, VoxSherpa among them, so whatever is selected in its own picker is what every app sees. Check that first if a voice you know is installed does not appear.

The engine will not start

An engine that fails to bind is skipped, because Android silently falls back to the default engine and reports success. Showing those voices under the wrong engine's name would be worse than leaving them out. If an engine misbehaves on your phone, try it in Android's own speech settings: if the sample there stays silent, no app will get sound out of it.

Questions about custom voices

Do I have to change my system default engine?

No, not since 1.29. Lectern reads every installed engine directly. Your system default stays what it was, so the rest of your phone keeps the voice you chose for it.

Can I mix engines in one book?

A book reads with one voice at a time, but the choice is stored per language. Your Dutch books can use one engine and your English books another, and switching back and forth needs no setting up.

Does a system voice work offline?

That depends on the engine. RHVoice, eSpeak, Supertonic, Kaldi and the paid engines are offline by design. Google's voices need their offline data downloaded first; otherwise they use the network. Lectern prefers the offline variant of a voice whenever both exist.

Why are there fewer voices in the list than the engine advertises?

Two filters. Voices that are offered but not installed are left out, because choosing one means choosing something that is not on the device. And a voice that exists as both a local and a network variant appears once, as the local one. On a test phone that turned 473 offered voices into 28 real ones.

Is a system engine better than Piper or Kokoro?

Usually not for reading a book, which is what those were chosen for. It is better when you need a language they do not have, or when you own a paid voice you like more. Try both on the same page and trust your ears.

Does installing an engine send anything anywhere?

Not through Lectern. We ask Android which engines exist and which voices they offer; that is a local question with a local answer. What the engine itself does is its own business, so pick one you trust, the same as any app.

Your books, your voice

Every engine on your phone, in one list, with a play button next to each one.

Get it onGoogle Play