Skip to main content

Novel Reader

Novel Reader is for long TXT reading with cached TTS playback. It is meant for personal listening and iterative reading, not final audiobook mastering.

Best Use Cases

ScenarioRecommendation
Personal listeningUse Novel Reader with caching and prefetch enabled.
Formal audiobook productionUse Phase TTS for review, correction, and export control.
Multi-character dialogue polishingUse Dialogue TTS or split text through Phase TTS.

Basic Flow

  1. Create a novel project from a TXT file or folder.
  2. Select narrator and dialogue voices from the project's voice bank.
  3. Configure slicing, punctuation-only skip, prefetch count, automatic page turning, and automatic chapter advance.
  4. Click play.

During playback, Novel Reader generates missing audio, writes cache files to disk, and prefetches upcoming segments through the shared TTS queue.

First Configuration

SettingSuggested Value
Max slice characters40 to 80, adjusted by model stability.
Skip punctuation-only fragmentsEnabled.
Prefetch count1 to 2 for cloud free tiers; raise gradually for local services.
Auto page turnEnable when continuous listening is needed.
Auto chapter advanceKeep disabled during the first test, then enable after cache behavior is confirmed.

Continuous Playback

To keep reading while switching to settings or task pages, keep this option enabled:

Settings -> General -> Keep TTS Running Across Screens

Concurrency

Provider concurrency applies to Novel Reader generation tasks, but actual parallelism also depends on the reader prefetch count. To fully use local backend concurrency, set prefetch count at least as high as provider concurrency and confirm RPM / TPM limits are not being hit.

Do not raise both prefetch count and provider concurrency aggressively on cloud free tiers. The reader fills cache while it plays, and high prefetch can consume many requests quickly.

Cache Path

Default output directory on Windows:

%APPDATA%\com.neiroha.neiroha\voice_asset\novel_reader\

Cache Status

StatusMeaning
No cacheAudio must be generated when playback reaches this segment.
Current cacheText and character settings are unchanged; audio can play directly.
Stale cacheText, character, or settings changed; audio must be regenerated.

If the text is sliced again, older cache files may no longer map to the new segments. For long projects, decide the slicing strategy before generating a large cache.