Introducing Folio — A GTK4 E-Book Reader with AI Voice Narration

I built an e-book reader. Not because the world needed another one, but because I wanted one that could read to me — in Swedish, offline, with a voice that doesn’t sound like a robot from 1998.

🔗 github.com/yeager/folio

What is Folio?

Folio is a GTK4/libadwaita e-book reader for Linux with built-in text-to-speech powered by Piper. It supports EPUB, PDF, MOBI, FB2, and comic book formats (CBZ/CBR).

The key feature: word-level karaoke highlighting during TTS playback. As the voice reads, each word lights up in yellow, and the text auto-scrolls to follow along. It’s like subtitles, but for books.

Folio reading Midsommaren 1983 with word highlighting

Features

  • All major e-book formats: EPUB, PDF, MOBI, FB2, CBZ/CBR
  • Piper TTS integration: Offline, local voice synthesis
  • Swedish voices: Alma (available now), Axel (in training)
  • English voices: Amy and others via Piper
  • Word-level highlighting: Karaoke-style visual tracking
  • Auto page-turn: Pages advance as the voice reads
  • Chapter navigation: Sidebar with table of contents
  • Reading position memory: Picks up where you left off
  • Dark theme: Native libadwaita dark mode
  • i18n ready: English + Swedish, Transifex integration prepared

Demo

A 22-second demo showing Folio reading the opening of Midsommaren 1983 with the Alma Swedish TTS voice:

🎬 Watch demo video (MP4)

The Voice: Alma & Axel

Folio ships with support for Piper’s Swedish voices. Alma (sv_SE-nst-medium) is available today. Axel, a new male Swedish voice currently in training on an RTX 4080, will be available soon.

Both voices run entirely offline — no cloud APIs, no data leaves your machine.

Technical Details

  • Language: Python 3 with PyGObject
  • UI toolkit: GTK4 + libadwaita
  • TTS engine: Piper (VITS/JETS neural TTS)
  • Build system: Meson
  • Packaging: Flatpak manifest included
  • App ID: se.danielnylander.folio
  • License: GPL-3.0

Install

git clone https://github.com/yeager/folio.git
cd folio
pip install -r requirements.txt
python run.py

Requires GTK4, libadwaita, and Piper TTS installed.


Folio is part of an ongoing effort to improve Swedish language technology — from hunspell-sv spell checking to Piper voice training to Ubuntu translation quality.

Kommentarer

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig om hur din kommentarsdata bearbetas.