Skip to content

Settings reference

jp edited this page Jun 28, 2026 · 6 revisions

Settings reference

Settings is a brass-edged section hub of cards in Settings → (section) — currently 13 cards (post-v0.5.42 redesign, up from 8). Settings is a primary nav destination since the v0.5.40 nav restructure ({Playing · Library · Voices · Settings} four-tab dock, finalized v0.5.50).

Settings hub cards

Voice & Playback

  • Default speed — 0.5×–4× slider (#194). Per-voice defaults persist (#195).
  • Default pitch — ±20% slider. Per-voice defaults persist (#195).
  • Azure — BYOK setup for Azure Cognitive Services HD voices (#182–#186).
    • Key (paste from Azure portal)
    • Region (e.g. eastus, westeurope)
    • Test connection — round-trips the synthesis API to validate
    • Offline fallback voice — local voice to use if Azure errors mid-chapter

Voice library

Top-level entry post-v0.5.42 (no longer nested inside Voice & Playback). Engine-grouped picker — Piper (45), Kokoro (53), KittenTTS (8), Supertonic 3 (10), and — once configured — Azure HD (20). ★ favorites surface to the top. Supertonic 3 (~139 MB shared model) is the newest local family — live since v1.2.3 (see Voices).

Reading

  • Theme — System / Light / Dark.
  • Sleep timer — durations + end-of-chapter mode.
  • Shake to extend sleep timer (#150) — when ON, shaking during the 10s fade tail re-arms the timer for 15 minutes. Disable for bumpy commutes.
  • Auto Do Not Disturb (#1190 / #1199, v1.2.0) — optionally silence notifications while the sleep timer is running.
  • Bedtime auto-sleep (#1110, v1.1.4) — arm the sleep timer automatically when your phone enters Sleep / Bedtime mode (Samsung Modes & Routines, Android Digital Wellbeing, or manual DND), at your last-used shake-extend duration. Toggle under Voice & Playback.

Performance

  • Warm-up Wait — ON shows a brass spinner during engine cold-start; OFF starts playback immediately and accepts brief silence (#98 Mode A).
  • Punctuation Cadence — slider for inter-sentence pause (#90 / #109). On Kokoro, also drives silence_scale for within-sentence breaths (#196).
  • Buffer (chunks) — render-ahead depth. Default 64. Experimental zone unlocks up to 3000 (#138).
  • Engines (Tier 3) — 1–8 parallel VoxSherpa instances. Each adds ~50 MB RAM (Kokoro).
  • Threads / engine (Tier 3) — thread-pool size per engine instance.
  • PCM cache (v0.5.47–v0.5.49) — cache size cap + eviction priority. Streaming-tee writes synthesized PCM to disk while it plays; cache-hit playback skips re-synthesis on replay. Status icons in the chapter list show per-chapter cache state.

The producer thread is pinned to URGENT_AUDIO priority so it doesn't get descheduled mid-chapter.

AI

  • Active provider — Claude / Teams / OpenAI / Vertex / Bedrock / Foundry / Ollama. See AI chat.
  • Per-provider model chips — pick which model to use within each provider.
  • Chat grounding — toggles for what context the chat sees (chapter title, current sentence, full chapter, full book so far).
  • Cross-fiction memory (#217) — character/place/concept entities surface in per-book Notebook tab with manual edit.
  • Function calling (#216) — invoke tools from chat ("Queue chapter 5", "Open Voice Library", "Mark this chapter read").
  • Multi-modal image input (#215) — paste cover art / scene refs into chat.

Accessibility (v0.5.43)

  • High contrast theme — higher-contrast Library Nocturne variant; auto-enables when TalkBack is active.
  • Reduced motion — disable non-essential animations; auto-enables with system "Remove animations".
  • Larger touch targets — bump tap-target minimums from 48dp to 64dp; auto-enables with Switch Access.
  • Screen-reader pauses — slider (default 500 ms) for extra pause between sentences when TalkBack is active.
  • Speak chapter numbers / titles — segmented control (Both / Numbers only / Titles only).
  • Font scale override — multiplier on top of Android's system font scale.

AI sessions

  • Sessions (#218) — review past chats, delete sessions, jump back into one.

Plugins

Brass-edged card grid iterating the @SourcePlugin registry — one card per backend. Search input, On / Off / All chips, tap-for-details modal. Three category sections: Fiction sources (25 in-tree), Audio streams (Radio), Voice bundles (v2 placeholder). Adding a new backend automatically surfaces a card. OCR, PDF, and LibriVox joined in v1.1.0; Telegram, Palace Project, Slack, and Matrix in v0.5.51 (the last three default OFF on fresh installs).

Pronunciation dictionary

Per-word phonetic overrides. Syncs across devices via InstantDB.

Account

  • Royal Road — sign in / out via WebView. Unlocks Premium chapters and Follows sync.
  • GitHub (#91) — OAuth Device Flow sign-in. Lifts the rate limit + unlocks My Repos / Starred / Gists tabs.
    • Enable private repos (#203) — opt-in, requires repo scope.
  • AO3 (#426) — PR1 auth surface landed in v0.5.51; PR2 wires the WebView login.

Memory Palace

  • Host — palace URL (e.g. http://palace.local:9080).
  • API key — bearer token.
  • Test connection — probes the palace and surfaces health.

Sync (InstantDB)

Cross-device sync of library, follows, positions, bookmarks, pronunciation, and encrypted secrets (#360 v0.5.12). Magical sign-in surface (v0.5.39+).

About

  • Version + git hash + build time (realm-sigil at /version.json).
  • Repo link — opens GitHub.
  • License — GPL-3.0.

DataStore keys

All preferences persist in storyvox_settings.preferences_pb. Voice preferences live in a separate voices_settings.preferences_pb. Secrets (RR cookies, GitHub OAuth tokens, Azure key + region, AO3 cookies, bot tokens for Telegram/Slack/Matrix, Notion integration token) live in EncryptedSharedPreferences. InstantDB sync replicates library/follows/positions/bookmarks/pronunciation/secrets across devices. DataStore wipes only on uninstall + reinstall (or pm clear); upgrades preserve everything.

See also

  • Reading & library — reader gestures: highlights & notes, find-in-chapter, shelves, library sort, add-by-URL
  • Export & extras — audiobook (.m4b) export, EPUB export, the Now-Playing home-screen widget

Clone this wiki locally