a browser extensions that reads articles using local voice models
README.md

Kelkaro logo: an ear

Kelkaro

Press a key. Your browser reads the article to you.
The voice models run on your computer. Kelkaro has no server.

| Install | Use | Languages | Privacy | Add a voice | Design |

Kelkaro is a browser add-on for Firefox and Chrome that reads web articles aloud.

  • It finds the article on the page, and skips menus, advertisements and footers.
  • It shows the sentence and the word that it reads.
  • Move by sentence or paragraph, and change the speed and the voice from the control bar.
  • It reads each paragraph in its language: English, Spanish, French, Italian, Portuguese, Hindi and 10 other Indian languages.
  • It reads the alt text or the caption of each figure. With the optional helper, an image model tells you about the figure.
  • The voice models run on your computer. Kelkaro has no server and no account.

Built with Kokoro, Piper voices, eSpeak NG, transformers.js, ONNX Runtime and Readability.

This is version 0.1. DESIGN.md has the decisions, the measurements and the open issues.

Install #

Firefox #

Download the .xpi file from https://tangled.org/shenoi.dev/kelkaro/tags and open it in Firefox. It also operates in Firefox for Android.

The first start downloads a voice model of 92 MB or 326 MB, after you agree. If you do not want the download, select a system voice on the settings page.

Chrome #

Kelkaro is not in the Chrome Web Store. On Windows and macOS, Chrome installs packed extensions (.crx) only from that store. Thus you load Kelkaro as an unpacked extension:

  1. Download kelkaro-chrome.zip from https://tangled.org/shenoi.dev/kelkaro/tags.
  2. Unzip the file into a folder that you can keep. Chrome reads the add-on from this folder at each start.
  3. Open chrome://extensions and turn on "Developer mode".
  4. Select "Load unpacked" and select the folder.

To update, unzip the new package into the same folder, then click the reload button of Kelkaro. If you move the folder, you must download the voice model again.

Helper (optional) #

The helper is a program for Macs with Apple silicon. It gives faster voices and figure descriptions. The settings page tells how to install it. Refer also to docs/helper.md.

Use #

Keys Action
Alt + Shift + R Start, pause or continue.
Alt + Shift + S Stop.
Alt + Shift + Right or Left Arrow Next or previous sentence.
Alt + Shift + Down or Up Arrow Next or previous paragraph.
Alt + Shift + F Next figure.

On macOS, use Option, not Alt. If you select text before you start, Kelkaro reads only the selection. Select ⚙ in the control bar for the voices, the speed, the highlight and the figures.

Chrome gives default keys only for start, stop and the next and previous sentence. Set the other keys at chrome://extensions/shortcuts.

Firefox for Android has no keys. Open the Firefox menu, select "Extensions" and then "Kelkaro", and use the control bar.

Languages #

Kelkaro reads English, Spanish, French, Italian, Portuguese and Hindi with Kokoro voices. It reads 10 other Indian languages with Kokoro Hindi voices, optional Piper voices or system voices. The pronunciation of these languages is not always correct. For other languages, it uses a system voice, if you have one.

Privacy #

Kelkaro has no server, no account and no analytics. Page text stays on your computer, unless you select an online system voice. Refer to PRIVACY.md.

Known limits #

  • Without WebGPU, the voice model is slower than the playback on most computers. Then you hear silent intervals between sentences.
  • In Firefox on macOS, a pause or a stop can stop the system voice until Firefox starts again.
  • Kelkaro does not read Japanese and Chinese.
  • On a phone, Kokoro is too slow. Kelkaro uses the voices of the phone first.

Contribute #

CONTRIBUTING.md tells how to build and test Kelkaro. PROTOCOL.md tells how to add a voice provider.

Licence #

The source files use the BSD 2-Clause licence (LICENSE). The built add-on contains eSpeak NG, so it uses the GPL-3.0-or-later licence (DESIGN.md "Licence of the add-on").