Voices and discovery
TTSForge does not ship a fixed voice list. The available voices, references, models, and runtime status come from Readio’s discovery catalog and depend on the installed engine integrations and selected model/profile.
List voices
ttsforge voices
ttsforge voices --language en-us
ttsforge voices --engine kokoro
ttsforge voices --engine piper --model MODEL_ID
Filters include --engine, --language, --model, and --gender. Use --offline to
avoid network discovery and --refresh to refresh cached catalog data. --json returns
catalog items together with discovery information.
Human-readable output shows the canonical Readio voice ID (VoiceInfo.id) as the
primary name, with the semantic reference (VoiceInfo.ref) when available. If no
reference is available, the qualified voice ID can be used. also include
language/locale, model, engine, status, and runtime availability. Readio owns these
identities; do not assume legacy Kokoro IDs or language-prefix conventions apply to
every engine.
Inspect models and engines
ttsforge models
ttsforge models --engine kokoro --language en-us
ttsforge engines
ttsforge doctor
models reports Readio model/synthesis targets and their status. engines lists
registered synthesis engines and their installed/runnable state. doctor includes
missing runtime dependencies and format availability.
Use a discovered voice
For explicit --voice values, use the canonical voice ID or semantic reference reported
by Readio:
ttsforge convert novel.epub --engine kokoro --voice af_heart
ttsforge preview novel.epub --engine kokoro --voice af_heart
Guided selection during conversion
ttsforge convert uses the same Readio discovery services interactively on a TTY. It
shows filtered choices as compact vertical lists. Enter a row number or exact
identifier. Voice entries show the canonical Readio voice ID first and the semantic
reference (VoiceInfo.ref) when available. Guided voice prompts accept a row number,
canonical voice ID, semantic reference, or qualified ID, then keep the selected row’s
canonical ID. Catalogs are filtered by language and engine, and by model for voices.
Explicit --model and --voice options bypass matching prompts.
The engine-specific selection layouts are:
Kokoro: model, then voice.
Piper: choose a voice-bundle target. The matching voice has the same canonical identity and is selected automatically, without a duplicate prompt.
Pocket: choose a model bundle, then a predefined named voice.
The completed selection is strictly resolved by Readio after catalog choices are
gathered. Pocket speed defaults to 1.0. TTSForge does not expose Readio’s Pocket
reference WAV voice_file option in ttsforge convert. Voice and model details remain
engine-specific. TTSForge does not implement voice blending or maintain voice
recommendations. See
Readio’s catalog documentation
for the public discovery contract.
Selection layouts
The interactive converter follows each engine’s public Readio catalog semantics:
Kokoro: model -> voice
Piper: voice-bundle target
Pocket: bundle -> predefined named voice
For Piper, the selected bundle is stored in Readio’s neutral model request field, and
its matching canonical voice is selected automatically. Pocket stores the bundle in
model and the chosen predefined voice in voice.