Voice Calibration
“Your voice. Captured. Enforced.”
The Voice Calibration System discovers your unique authorial voice through AI competition, then injects it into every scene you write. This isn’t about describing your voice abstractly—it’s about showing you 15-25 writing samples and letting you pick the one that sounds like you.
Where It Fits
┌─────────────────────────────────────────────────────────────────────────────┐
│ THE WRITER'S JOURNEY │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Learning Engine Voice Calibration Writing Stages │
│ ─────────────── ───────────────── ────────────── │
│ │
│ Phase 1: Research ┌─────────────────┐ Conception │
│ Phase 2: Genre Cal. │ TOURNAMENT │ Voice ← YOU ARE HERE │
│ Phase 3: Concepts │ │ Execution │
│ Phase 4: Feedback │ You pick the │ Polish │
│ Phase 5: Story Bible │ voice that │ │
│ ↓ │ sounds like YOU │ │
│ Story Bible Complete └────────┬────────┘ │
│ ↓ │ │
│ Enter Voice Calibration ──────────┘ │
│ │ │
│ ▼ │
│ Voice Bundle Stored │
│ │ │
│ ▼ │
│ Injected into DIRECTOR │
│ and EDITOR modes │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
Prerequisites: Story Bible complete (Learning Engine phases 1-5) Unlocks: DIRECTOR mode with voice-consistent scene generation
The Tournament Process
Step 1: Configuration
You provide:
- Test Prompt: A scene description for agents to write
- Test Context: Setting, mood, characters, stakes
- Voice Description (optional): Hints about desired style
- Agent Selection: Which AI models to compete (3+ required)
Step 2: Generation
Each selected agent generates 5 variants using different strategies:
| Strategy | Focus | Characteristics |
|---|---|---|
| ACTION_EMPHASIS | Physical conflict | Fast pacing, external action |
| CHARACTER_DEPTH | Psychology | Internal landscape, emotional truth |
| DIALOGUE_FOCUS | Conversation | Subtext, conflict through words |
| BRAINSTORMING | Exploration | Multiple perspectives, experimental |
| BALANCED | Hybrid | Mix of elements, standard structure |
Example: 4 agents × 5 strategies = 20 variants (~2-5 minutes)
Step 3: Selection
Review variants in a matrix:
- Rows: AI Agents (Claude, GPT-4o, DeepSeek, etc.)
- Columns: Writing Strategies
- Features: Preview, word count, side-by-side comparison
Step 4: Configure Winner
After picking the winning variant, you configure:
| Setting | Options | Purpose |
|---|---|---|
| POV | First person, Third limited, Third omniscient | Narrative perspective |
| Tense | Past, Present | Temporal voice |
| Voice Type | Literary, Commercial, Hybrid | Prose density |
| Metaphor Domains | Nature, machinery, warfare, etc. | Where metaphors come from |
Step 5: Bundle Generation
The system stores your voice calibration and generates anti-patterns based on your POV selection.
How Voice Data Is Stored
Voice calibration is stored in the Foreman Knowledge Base (not as files):
┌─────────────────────────────────────────────────────────────────────────────┐
│ FOREMAN KB: voice_calibration │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Key Value Source │
│ ─── ───── ────── │
│ pov third_person_limited voice_tournament │
│ tense past voice_tournament │
│ voice_type literary voice_tournament │
│ metaphor_domains ["nature", "machinery"] voice_tournament │
│ sentence_rhythm varied with long flows voice_tournament │
│ vocabulary_level literary voice_tournament │
│ reference_sample "The rain fell like..." voice_tournament │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
This data persists with your project and is automatically loaded when you write.
Voice Bundle Injection
Here’s the key innovation: your voice calibration is dynamically injected into the AI’s system prompt during DIRECTOR and EDITOR modes.
When It Happens
| Mode | Voice Injection |
|---|---|
| ARCHITECT (Conception) | No injection needed |
| VOICE_CALIBRATION (Voice) | Being created |
| DIRECTOR (Execution) | Injected |
| EDITOR (Polish) | Injected |
What Gets Injected
When you write a scene in DIRECTOR mode, the system prompt includes:
## VOICE CALIBRATION (Your Writing Voice)
**Point of View:** Third Person Limited
**Tense:** Past
**Voice Type:** Literary
**Metaphor Domains:** nature, machinery
**Sentence Rhythm:** varied with occasional long flowing sentences
**Vocabulary Level:** literary
### Voice Reference Sample
This is the calibrated voice. Match this style:
The rain fell like needles against the window, each drop a small percussion in the symphony of the storm. She watched the water trace rivers down the glass, thinking of all the ways a person could drown without ever touching the sea.
### Anti-Patterns to AVOID
- Do NOT head-hop between characters within a scene
- Do NOT use future knowledge ('As he would later learn...')
- Do NOT use 'I' outside of dialogue
The AI sees this every time it generates prose, ensuring voice consistency.
POV-Specific Anti-Patterns
Different POVs have different rules. The system automatically generates the right anti-patterns:
First Person (“I”)
Anti-Patterns to AVOID:
- Do NOT head-hop (know other characters' thoughts)
- Do NOT use 'he/she' for protagonist (except when observing others)
- Do NOT provide objective authorial summary
Why: First person is intimate and restricted to what the narrator knows and perceives.
Third Person Limited (“He/She”)
Anti-Patterns to AVOID:
- Do NOT head-hop between characters within a scene
- Do NOT use future knowledge ('As he would later learn...')
- Do NOT use 'I' outside of dialogue
Why: Camera is glued to one character. Modern commercial standard.
Third Person Omniscient (“God View”)
Anti-Patterns to AVOID:
- AVOID excessive filtering ('He saw that...', 'She felt that...')
- State facts directly when in omniscient narrator voice
Why: Omniscient narrators don’t need to filter—they know everything and state it directly.
The Reference Sample
Your winning tournament variant becomes the reference sample—the gold standard the AI matches.
What makes a good reference sample:
- 200-500 words (system truncates at 1500 chars)
- Representative of your voice at its best
- Contains your characteristic sentence rhythms
- Demonstrates your metaphor preferences
- Shows your dialogue style (if applicable)
The reference sample is included in every DIRECTOR/EDITOR prompt, giving the AI a concrete example to match.
Integration with Scene Generation
When DIRECTOR mode generates a scene, it combines:
┌─────────────────────────────────────────────────────────────────────────────┐
│ SCENE GENERATION CONTEXT │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ From Story Bible: From Voice Bundle: │
│ ├── Character psychology ├── POV and tense │
│ ├── Beat sheet context ├── Reference sample │
│ ├── World rules ├── Metaphor domains │
│ └── Theme ├── Anti-patterns │
│ └── Vocabulary level │
│ │
│ From Knowledge Graph: │
│ ├── Previous scene facts │
│ ├── Character relationships │
│ └── Unresolved threads │
│ │
│ ↓ │
│ │
│ LLM generates scene with: │
│ - Narrative consistency (Story Bible) │
│ - Voice consistency (Voice Bundle) │
│ - Continuity (Knowledge Graph) │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
Voice Verification (EDITOR Mode)
In EDITOR mode, the Voice Bundle serves a different purpose: verification.
The AI checks your prose against:
- Anti-pattern violations - Did you accidentally head-hop?
- POV consistency - Is the perspective maintained?
- Voice drift - Does this still sound like the reference sample?
The Editor flags issues and suggests fixes while preserving your voice.
Recalibration
Your voice can evolve. To recalibrate:
- Return to Voice stage in the UI
- Run a new tournament with updated test prompt
- Select a new winner
- System updates KB with new calibration
Note: Recalibration affects future generation but doesn’t automatically rewrite existing scenes.
Technical Details
Where Voice Data Lives
| Component | Location | Purpose |
|---|---|---|
| Tournament results | voice_calibration_service.py |
Runs the competition |
| Voice calibration | Foreman KB (voice_calibration category) |
Stores your choices |
| Voice injection | foreman.py:_get_voice_bundle_context() |
Builds the prompt context |
| Anti-pattern generation | foreman.py:1230-1250 |
POV-specific rules |
API Endpoints
| Endpoint | Method | Description |
|---|---|---|
/voice-calibration/agents |
GET | List available agents |
/voice-calibration/tournament/start |
POST | Start tournament |
/voice-calibration/tournament/{id}/status |
GET | Poll status |
/voice-calibration/tournament/{id}/variants |
GET | Get variants |
/voice-calibration/tournament/{id}/select |
POST | Select winner |
/voice-calibration/generate-bundle/{project_id} |
POST | Generate bundle |
/voice-calibration/{project_id} |
GET | Get existing calibration |
Common Questions
Do I need to recalibrate for every project?
Yes. Voice calibration is project-specific. What works for a noir thriller won’t work for a YA romance.
Can I skip voice calibration?
Yes! The system will auto-extract voice patterns from your Story Bible content. See the “Auto-Extraction (Quick Start)” section below. Your prose will be more generic than with a full tournament, but it’s a valid starting point.
What if my voice changes mid-novel?
Consider recalibrating at major story breaks (between acts). The system stores your current calibration—you can always recalibrate.
Can I manually edit the voice settings?
Currently, voice calibration is set through the tournament. Manual KB editing is possible but not recommended—the tournament ensures settings are grounded in actual writing samples.
Auto-Extraction (Quick Start)
If you want to skip the full tournament process, Writers Factory can automatically extract voice patterns from your existing content.
When you skip Voice Calibration configuration, the system automatically:
- Analyzes your Story Bible for prose style indicators
- Extracts voice patterns from any existing writing samples
- Generates a Voice Bundle with sensible defaults based on genre and tone
This allows you to proceed directly to Director Mode without running a tournament. The auto-extracted voice will be more generic than a tournament-calibrated one, but it’s a valid starting point.
When to use auto-extraction:
- You want to start writing immediately
- You’re exploring/prototyping and will refine later
- Your existing Story Bible content already reflects your voice
When to run a full tournament:
- You want maximum control over voice settings
- You’re starting production-quality drafting
- Voice consistency is critical for your project
You can always return to Voice Calibration later to run a tournament and refine your voice settings.
Related Documentation
Two-Track Architecture
What happens before Voice Calibration
Director Mode
Where your voice gets used
Editor Mode
Where your voice gets verified
Voice Calibration: Because generic prose is the enemy.