On-device speech to text · Pro

Transcripts

Turn any chapter into timed text. Read along with the line being spoken highlighted, tap a line to jump there, or search the whole book for that one sentence you half remember. All of it runs on the phone; nothing you listen to is uploaded anywhere.

What you can do with a transcript

  • Read along. The transcript follows playback, with the passage being spoken highlighted and kept in view.
  • Jump by tapping. Every passage knows exactly when it starts, so tapping one seeks the player there.
  • Search the whole book. Type a word or a phrase and every matching passage in every transcribed chapter comes up, with its timestamp.
  • Transcribe one chapter or the whole book. Chapters queue up and are worked through one at a time while you keep listening.

How it works

Kithara uses OpenAI's Whisper models, run locally through the sherpa-onnx runtime. Whisper on its own only sees thirty seconds of audio at a time and returns words with no timing, so Kithara first runs a voice-activity detector over the chapter to cut it at silences into passages. Each passage starts exactly where speech began, and Whisper transcribes them in turn. That is where the precise timestamps come from.

A thirty-minute chapter is several minutes of sustained CPU work, so transcription runs as a foreground service with a notification that shows which chapter is in progress, how far along it is, and a cancel button. Android will not kill it when you leave the app.

When a chapter finishes, the transcript sheet shows how long the audio was, how long it took, and the speed relative to real time, so you can judge whether a bigger model is worth it on your phone.

Choosing a model

Models are not bundled with the app because of their size. The first time you transcribe, Kithara downloads the one you have chosen and verifies the file sizes, so a partial download is caught rather than trusted. Three English models are available:

ModelDownloadCharacter
Whisper tinyabout 105 MBThe fastest, and it shows: it drops words and mangles names.
Whisper baseabout 160 MBThe sensible default. Clearly better than tiny, about twice as slow.
Whisper smallabout 360 MBClose to what you would expect from a dictation app. Several times slower than base.

You can change the model and the number of processor threads in Settings. More threads finish sooner and warm the phone more; plugging in for a whole-book run is a good idea. Downloaded models can be deleted from Settings, Storage at any time.

The models are English only for now. Transcription of other languages is not supported yet.

Privacy

Everything runs on the device. The only network requests involved are the one-time model downloads: the Whisper model from a public mirror maintained by the sherpa-onnx project on Hugging Face, and a small voice-activity model from the same project's releases on GitHub. Like any download, each shows that host your IP address and the file requested, and nothing else. Your audio, your transcripts and your searches never leave the phone. Details are in the privacy policy.

Good to know

  • Accuracy depends on the narrator and the recording. Clean single-narrator audio transcribes well; heavy accents, whispered dialogue and invented names are where tiny and base struggle.
  • Transcripts are stored per chapter. If a run is interrupted the chapter is marked partial and can be transcribed again to finish.
  • Transcripts do not sync between devices; they live with the phone that made them.