Study narrator · open source · self-hosted

Listen to the papers you have to read.

Drop in a PDF (a paper, a textbook chapter, lecture notes), pick a voice and a speed, and listen with the text highlighted as it plays. Formulas are spoken as a person would read them aloud rather than skipped, and technical vocabulary is pronounced correctly.

The value x in the given equation comes from a normal distribution with mean μ and standard deviation σ. If X is a normally distributed random variable and X ~ N(μ, σ), then the z-score is:

z =x − μσ

Spoken as“z equals the fraction x minus mu over sigma, end fraction”

Who it's for

Made for three ways of studying

One engine, three ways of listening. They differ in pacing and in which parts of the page are read; one-switch presets for each are on the way.

The main focus

Student

Study from notes, textbooks and papers.

  • Classroom pacing
  • Spoken maths
  • Slow down or repeat an equation

Preset classroom (coming)

Books and papers

Technical learner

Learn from technical books and papers.

  • Code listings cued, acronyms read well
  • Equations
  • 1.5× to 2× listening

Preset study (coming)

Book in hand

Book listener

Narration while you follow the printed book.

  • Natural pacing, no extra pauses
  • Chapter navigation and resume
  • Captions and footnotes muted

Preset listen (coming)

How it works

From the page to your ears, one sentence at a time

The hard part is the reading, not the voice: the page is taken apart into typed blocks, put back in order, and turned into words a voice can say.

The YomiKoe pipelineSix stages from left to right: blocks, reading order, sentences, speech form, synthesis, playback.01Blocksin: PDF pagesout: typed blocksheading, body, equationING-302Reading orderin: blocksout: one linear orderheaders, footers droppedING-403Sentencesin: ordered textout: sentence segmentswith source offsetsING-504Speech formin: sentencesout: words to speakmaths read as EnglishING-6 · MATH-1–305Synthesisin: one sentenceout: audio + word timesone sentence at a timeSYN-106Playbackin: audio + timesout: word highlightscheduled, gaplessPLAY-2 The YomiKoe pipeline, six stages from top to bottom01 Blocksin: PDF pagesout: typed blocksheading, body, equationING-302 Reading orderin: blocksout: one linear orderheaders, footers droppedING-403 Sentencesin: ordered textout: sentence segmentswith source offsetsING-504 Speech formin: sentencesout: words to speakmaths read as EnglishING-6 · MATH-1–305 Synthesisin: one sentenceout: audio + word timesone sentence at a timeSYN-106 Playbackin: audio + timesout: word highlightscheduled, gaplessPLAY-2
Every sentence you hear has passed six stages, and each stage keeps a pointer back to the page, so the word being spoken is the word that lights up. Maths becomes English words before the voice sees it; the voice only ever receives words.
Features

Built for the pages that other readers mangle

Papers and textbooks have columns, footnotes, symbols and jargon. YomiKoe is built around them.

Reading order that holds

Two-column pages read in order; headers, footers and page numbers are left out.

Spoken maths

Display and inline equations read as English: fractions, powers, roots, sums, integrals, Greek letters.

Terms said right

An academic pronunciation lexicon, plus “pronounce as” on any word you select.

Word-level highlight

The current word and sentence are highlighted in step with the audio.

Ten voices, 0.5× to 3×

American and British English, female and male; speed from 0.5× to 3× in 0.05 steps.

Repeat an equation

Skip or repeat the current equation with one action; equations play at 0.8× by default.

A library that resumes

Your documents, reading position, voice and speed are kept; come back tomorrow and carry on.

Keyboard and lock screen

Space, arrows and +/− on the keyboard; lock-screen controls on phone browsers.

Mute what you skip

Turn off footnotes, captions or the references section with a toggle.

Open source

Open, and yours

Commercial readers do this well, but they are subscription-gated, closed, and run on their own voices. YomiKoe is an open reading engine: the hard parts, text extraction and playback, are in the open, and the voice is a pluggable backend.

The voice is a backend you can swap; the reader never changes.

A qualitative comparison, not a benchmark.
TopicYomiKoeSubscription readers
CostFree and open sourceA subscription
Where it runsOn your own machine, CPU only, via Docker ComposeOn the vendor's service
VoicesOpen models behind a swappable backend; Kokoro firstTheir own, closed voices
Your documentsStay on your machine, in a local libraryHeld by the service
Getting started

Run it on your laptop

One image, one service. You need a container runtime with Docker Compose v2.

  1. Clone the repository.
  2. Build and start with Docker Compose. The first run downloads the Kokoro-82M voice model, which takes a minute or two; later starts run offline.
  3. Open http://localhost:8765/ and drop in a PDF.
# 1. clone
git clone https://github.com/kris-jskk/yomikoe.git
cd yomikoe

# 2. build and start (Ctrl-C stops it)
docker compose up --build

# 3. open http://localhost:8765/ in your browser
Questions

Good to know

Do I need a GPU?

No. YomiKoe is built to run locally on a laptop with no GPU: the first voice backend, Kokoro-82M, runs on the CPU. A GPU voice is planned as an optional second backend.

Which PDFs does it read?

Born-digital and scanned PDFs. YomiKoe checks each page for a text layer and runs OCR only on the pages that have none.

Is there a hosted version?

Coming. A hosted reader at app.yomikoe.app is part of the hosting milestone. Until then you run YomiKoe yourself with Docker Compose.

What is the licence?

YomiKoe is open source, built on a permissive stack: every dependency and model is under Apache-2.0, MIT or BSD terms, with no copyleft code shipped. YomiKoe itself is released under the Apache License 2.0.