A Framework for Character Voices

Persona-Forge

Between constellations and code, a voice system begins to take shape.

A local-first framework for shaping character voice systems around GPT-SoVITS, reference banks, and local synthesis.

Enter Framework

Character Voice Toolkit

Persona-Forge

A reusable framework for building anime and character voice systems: manifest generation, GPT-SoVITS training wrappers, reference-bank labeling, and local synthesis.

Current Alignment

Mode Local-first
Backend GPT-SoVITS
Layout Two-repo split
Status Smoke-tested

Reusable tooling, held apart from any single character's worldline.

A quieter atlas beneath the same stars

Constellations, instrument lines, and field notes resting where observation turns into method.

A celestial workshop scene with star charts and observatory instruments
7 primary CLI commands
2 repository layers
1 validated character instance
v0.1.0 current framework tag

What Persona-Forge owns

Persona-Forge keeps only reusable workflow code. Character-specific datasets, curated refs, release weights, and demos should live in separate character repositories.

Manifest Builder

Turn transcript CSV plus wav directories into GPT-SoVITS-ready training lists.

Training Wrappers

Run prepare, SoVITS training, GPT training, and SoVITS export without hand-editing upstream configs.

Reference Tooling

Label emotion candidates, shortlist refs, and shape a stable reference bank.

Repo Hygiene

Support a clean split between framework repo, character repo, GitHub, and Hugging Face assets.

The path from transcripts to a stable voice map

Manifest construction, feature preparation, staged training, reference curation, and listening checks remain in one framework layer.

01 Build manifest

Normalize transcript CSV and wav paths into a single training list.

02 Prepare dataset

Extract text, HuBERT, wav32k, and semantic features through upstream GPT-SoVITS scripts.

03 Train + export

Tune SoVITS and GPT in stages, export inference-ready weights, and keep resumable checkpoints.

04 Curate refs

Label and shortlist reference clips for emotion-aware prompting and demos.

Minimal local path

Install the framework, point it at an existing GPT-SoVITS clone, and start with manifest building or a doctor check before training.

git clone https://github.com/SteinsGateSg/Persona-Forge.git
cd Persona-Forge
pip install -e .

persona-forge doctor \
  --gpt-sovits-root /path/to/GPT-SoVITS \
  --pretrained-root /path/to/GPT-SoVITS-models \
  --manifest artifacts/manifests/train.list

Core entrypoints

build-manifest

Create a training list from transcripts and wav files.

prepare

Run upstream feature extraction and semantic preparation.

train-sovits

Train or resume the acoustic / timbre side.

export-sovits

Export a SoVITS checkpoint into an inference weight file.

train-gpt

Train or resume the text-to-semantic stage.

synthesize

Generate audio from a fixed GPT + SoVITS pair.

label-emotions

Label and shortlist reference candidates with an OpenAI-compatible API.

doctor

Check local prerequisites before a real run.

What comes after this first release

1. Profile-driven workflows

Reduce command repetition and let character repos declare defaults more cleanly.

2. Ref packaging tools

Automate turning labeled candidates into a release-ready reference-bank structure.

3. Evaluation and CI

Add smoke tests, small evaluation helpers, and stricter repo validation.