-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Current version: v1.4.0 Candela is TechEmpower's accessible resource app. Browse free tech guides, connect with our peer-support Discord, dial 211 for local help — and listen to any of it through a neural-voice audiobook engine that reads everything aloud.
Under the hood: twenty-seven fiction backends (Royal Road, GitHub, RSS / Atom feeds, local EPUB folders, local PDF files, on-device OCR, self-hosted Outline wikis, Memory Palace, Project Gutenberg, LibriVox, Archive of Our Own, Standard Ebooks, Wikipedia, Wikisource, Radio with 30k+ stations, Notion, Hacker News, arXiv, PLOS, Discord, Telegram, Palace Project, Slack, Matrix, Readability web articles); three in-process voice families (Piper, Kokoro, KittenTTS) with optional Azure HD cloud voices; AI chat per fiction across seven LLM providers with cross-fiction memory, function calling, and multi-modal image input; built for Android phones, tablets, and Wear OS.
📦 Latest release: v1.4.0 — Read along and on the road — A teleprompter and rehearsal mode, Android Auto playback with voice search, full Google News articles, a Bookshare DAISY importer, a browsable radio directory, LibriVox read-along, per-book narrator voices, and the groundwork for character voices.
📖 Source: github.com/techempower-org/candela · License: GPL-3.0 · Site: candela.techempower.org
- Getting started — Install, sign-in, first listen
- Fiction sources — All twenty-seven backends and their setup paths
- AI chat — Seven providers, grounding, recaps, sessions
- Voices — Piper, Kokoro, KittenTTS, Azure HD, voice library
- Voice catalog — Flat reference of all catalog entries
- Settings reference — Every knob explained
- Architecture — Forty modules, plugin seam, data flow
- Building from source — Toolchain, gradle, signing
- Troubleshooting — Sideload, voice download, BYOK setup, OAuth flow
Read along and on the road. A teleprompter and rehearsal mode, Android Auto playback with voice search, full Google News articles, a Bookshare DAISY importer, a browsable radio directory, LibriVox read-along, per-book narrator voices, and the groundwork for character voices.
- Android Auto. Browse your library, search by voice ("play Pride and Prejudice"), and resume where you left off — all from your car's head unit. (#1232 / #1292)
- Teleprompter & rehearsal mode. A read-along view that auto-scrolls in time with the narration, with adjustable words-per-minute that persists across sessions, voice-paced line alignment, and a practice "pause-for-me" mode where Candela narrates and waits for you to voice the dialogue. (#1239 / #1286, #1291 / #1296, #1287 / #1304, #1287 / #1306)
- Wear OS teleprompter remote. Drive the teleprompter from your watch — the Wear companion gains a remote-control protocol and matching UI. (#1308 / #1328)
- Google News source. Read the news as a narrated feed — a browsable headline list, plus an opt-in mode that fetches and reads the full publisher article instead of just the headline. (#1238 / #1294, #1295 / #1309)
- Browsable radio directory. Discover internet radio beyond the curated stations — sort the directory by most popular, most voted, or recently updated. (#1282 / #1316)
- LibriVox read-along. Pair a LibriVox audiobook with its matching Project Gutenberg text and follow along, split section by section. (#1208 / #1300, #1224 / #1289)
- Bookshare. Search and browse Bookshare by category, and import DAISY 2.02 talking books. (#1002 / #1290, #1293 / #1303, #1325)
- ODT file import. Open With / Share an OpenDocument Text (.odt) file into Candela, or import one in-app, as a single-file fiction. (#1310 / #1318)
- Per-book narrator voice. Pin a specific narrator voice to an individual fiction, so each book keeps its own voice. (#1299 / #1317)
-
Share a fiction by link. A share button on the fiction detail screen produces a
candela://fiction/<id>deep link; opening it jumps straight to that book. (#1313 / #1321) - Offline fiction detail. The fiction detail screen now shows cached content behind a "showing cached" banner when you're offline, and a freshness (TTL) guard skips needless re-fetches. (#1314 / #1326)
- Character voices (foundation). Groundwork for distinct per-character narration — speaker attribution, persistence, and resolution — ahead of the full feature. (#1283 / #1297)
- Live radio captions (foundation). Speech-to-text groundwork toward live read-along captions for radio streams. (#1223 / #1284)
- Imported file playback. Opening an imported EPUB (or other file) that wasn't yet saved to your library now works — prefixed fiction ids route to the right source instead of failing to resolve. (#1298 / #1307)
- Silent cached audio. Playback now rejects all-silence cached audio segments on read, so a bad cache entry no longer plays back as silence. (#1281 / #1288)
- Zero-audio chapters. A chapter that comes back with no audio now surfaces a retryable error instead of being silently skipped, so a transient fetch miss no longer drops it from playback. (#1311 / #1322)
- Accessibility labels. Hardcoded UI strings were extracted and click labels added for a cleaner screen-reader pass. (#1268 / #1285)
-
Teleprompter control state hoisted. The teleprompter's scroll/playback state moved into a shared
TeleprompterControllerso the reader and Playing screens read from one source of truth — an internal refactor with no behavior change. (#1308 / #1320) - Play Store privacy policy. Corrected an inverted privacy-policy URL and refreshed the store listing checklist. (#1301 / #1305)
- Edge-case test coverage. Added ~1,194 lines of unit tests across the Google News decoder, Bookshare DAISY parser, dialogue segmenter, PCM-silence detection, voice-paced scroller, and the Android Auto resolver. (#1315 / #1324)
- Stale-code cleanup. Resolved leftover TODOs and dead code flagged by the #1271 code audit. (#1323)
-
Cold launch 6.7 s → 0.8 s on Galaxy Tab A7 Lite (v0.5.46 — R8 + Baseline Profile +
isDebuggable=false). - Full PCM cache series — streaming-tee, cache-hit playback, background pre-render, Settings UI, status icons (v0.5.47–v0.5.49).
- Twelve a11y findings closed (v0.5.43) — high-contrast brass-on-near-black theme, reduced-motion fold-in, TalkBack pacing.
-
Nav settled — four-tab dock
{Playing · Library · Voices · Settings}(v0.5.50 final, after v0.5.40 restructure). - Cross-device InstantDB sync (v0.5.39+) — library, follows, positions, bookmarks, pronunciation, encrypted secrets.
- KittenTTS lightest-tier voice family (v0.5.36 — #119).
Start here
Using Candela
- Fiction sources
- Reading & library
- Export & extras
- Voices
- Voice catalog
- AI chat
- Cloud sync
- Accessibility
- Settings reference
- Troubleshooting
Developer
Project