Skip to main content

Voice / TTS

The Dhamma was originally an oral teaching. — AN 5.209

Live demo — voice mode starts automatically via a URL parameter, no clicking required (the floating player at the bottom is the point here, not the reader text behind it):

5 ways to activate Voice Mode​

  1. Click the Voice link at the top of the page (next to En, Ru, etc.).
  2. Click the 🔉 icon to the left of the text's title.
  3. Click any Pali or translation sentence to highlight it, then click the Play button that appears bottom-right.
  4. Hover/tap before or after a line to reveal a ✦ link, then choose "Listen".
  5. Press Alt+R (Option+R on Mac).

Player​

  • Controls — Play/Pause, previous/next sentence.
  • Navigation — pause, click a Pali sentence to highlight it, press Play to resume from there.
  • Mode — what is read: Pāḷi / Pāḷi + translation / translation / translation + Pāḷi.
  • Speed — the speed button opens a slider with presets; the default for Pāḷi is 0.7× ("normal" for the DG voice).
  • Settings (⚙) — auto-scroll, autoplay, pause between sentences and Voice settings.

Voices: three kinds​

In ⚙ → Voice settings you choose the voice separately for Pāḷi and for the translation, in three steps: kind → language → voice. The ▶ next to a voice plays a short sample (DG voices).

The first neural Pāḷi voices

As far as we know, these are the first neural text-to-speech voices made for Pāḷi. Both are in beta and still being tuned by ear, sound by sound — but this did not exist before.

DG Voice — our own free neural voices (default)​

They run on our server: no key, no limits, nothing to install.

  • Pāḷi
    • pratham ♂ · Piper — a neural voice (Piper) that reads Pāḷi through our own Pāḷi pronunciation rules (letters → sounds, stress, long vowels), tuned in blind listening rounds. Beta.
    • o Dhamma.Gift ♂ · beta — a voice trained on real Pāḷi readings. Pronunciation is closer to living Pāḷi; the sound quality is still rough, a new version is on the way. Beta.
  • Translation — English: alan, norman, kathleen; Russian: ruslan, irina. Pāḷi words inside a translation (sutta, Dhamma, bhikkhu, names) are read the Pāḷi way, and abbreviations are spelled out (Ven. → Venerable, SN 56.11 → Saṁyutta Nikāya 56, 11).
  • The next sentences are prepared while one is playing, so there are no gaps between them.

Google — cloud voices with a free quota​

High-quality cloud voices. Pāḷi is read by a Punjabi (pa-IN) voice through Devanagari with our own fixes. Needs your own Google API key (see below); the free monthly quota is generous for personal use.

Built-in — your device's voices, work offline​

Uses the speech synthesis of your system or browser: no internet needed, nothing is sent anywhere. There is no Pāḷi voice in any system, so install one of Sanskrit (India), Hindi (India), Nepali or Indonesian for the closest pronunciation; if none is installed, English is used as a fallback.

  • Android — Settings → Accessibility → Text-to-speech output, then install voice data for the language: Android help.
  • iPhone / iPad — Settings → Accessibility → Spoken Content → Voices: Apple help.
  • Mac — System Settings → Accessibility → Spoken Content → System voice → Manage Voices: Apple help.
  • Windows — Settings → Time & language → Speech → Manage voices → Add voices: Microsoft help.

After installing a voice, reload the page and pick it in Voice settings → Built-in.

A-B loop — repeat a passage for memorization​

The AB button next to the player is a separate tool layered on top of normal playback: pick a start and end point in the text, and the player repeats just that passage, with a pause between repeats and a repeat limit (or infinite).

A-B loop panel: A/B points, pause between repeats, repeat counter
  • Click AB — if a line was already selected, it immediately becomes point A and the panel waits for you to click a line for point B; if nothing was selected, click a line for A first, then for B. As soon as both points are set, the loop starts automatically.
  • Pause (sec) — how long to wait between repeats.
  • Repeat count — defaults to ∞ (infinite); type your own number and the loop stops on its own once it's done.
  • To move a point, click it again and pick a new line. To clear a point, right-click (or long-press on phones) directly on the A or B button.
  • The passage between the two points is marked in the text with a vertical bar on the left.

Hotkeys​

KeyAction
Alt+RToggle Voice Mode
SToggle autoscroll
SpacePlay / Pause
← → or ↑ ↓Previous / Next segment
1Mode: Pāḷi
2Mode: Pāḷi + Translation
3Mode: Translation
4Mode: Translation + Pāḷi
+ / -Increase / decrease speed
RReset speed to default
Space and the arrow keys only work with auto-scroll on

If "Autoscroll" is off (the S key, or the toggle in the player settings), Space and the arrow keys stop responding to player control — that's expected behavior, not a bug. The 1–4 keys and +/- always work, regardless of autoscroll.

  • Voice settings — kinds of voices, languages and voices, samples, the Google API key.
  • File — a link to an audio file, when one exists for that text.
  • Help ? — this page.

Google API key (optional)​

Needed only for the Google voices. Create a project in Google Cloud, enable the Text-to-Speech API and create an API key (how to start); paste it in Voice settings → Google API Key. Free monthly limits and prices: Google Cloud pricing. By default translations use the cheaper Standard voices, Pāḷi a premium one.

MP3 for the Memo page​

On the Memo page the ⬇ button saves the text as one MP3 in the voice you chose: with the DG voice the pauses between lines can be of any length (Google's are limited to 10 seconds).