# Lens: Voice

> Can you identify the speaker without seeing their name?

---

## The Core Problem

When all characters speak with the same voice, dialogue becomes functional rather than characterful. The "swap test" exposes this: if you can swap two characters' lines without anyone noticing, neither character has a voice.

---

## The Swap Test

**Method:**
1. Select 5 lines of dialogue from Character A
2. Remove the character name
3. Can you identify the speaker?

**Scoring:**

| Result | Score | Meaning |
|--------|-------|---------|
| All 5 identifiable | 9-10 | Unmistakable voice |
| 3-4 identifiable | 7-8 | Strong voice |
| 2 identifiable | 5-6 | Voice present but inconsistent |
| 0-1 identifiable | 1-4 | Voice absent or contaminated |

---

## Voice Components

### Speech Idiom

What does this character speak in terms of?

| Character Type | Speech Idiom Example |
|----------------|---------------------|
| Gambler | Odds, stakes, wagers, hands, tells |
| Soldier | Tactical fragments, grid references, mission speak |
| Creditor | Ledger terms, ownership, debts, collateral |
| Scientist | Precise measurement, hypotheses, data points |
| Artist | Sensory language, emotional texture, metaphor |

**Check:** Does the character's idiom appear in their dialogue consistently?

---

### Vocabulary Range

How complex is their speech?

| Type | Example |
|------|---------|
| Clipped/minimal | "Move. Now." |
| Working class | "Ain't gonna work that way." |
| Educated formal | "The implications are rather concerning." |
| Technical jargon | "Recalibrate the phase variance." |
| Poetic/elaborate | "The night holds its breath." |

**Check:** Does vocabulary stay consistent across episodes?

---

### What They Would NEVER Say

Sometimes the negative space defines voice better than what IS said.

| Character | Would NEVER Say |
|-----------|-----------------|
| Hardened soldier | "I'm scared" (directly) |
| Proud aristocrat | Slang or contractions |
| Precise AI | Vague estimates ("about," "roughly") |
| Street hustler | Formal complete sentences |

**Check:** Does the character ever break their "never" rules?

---

### Distinctive Wit

Beyond idiom, does the character have a WAY of speaking?

| Type | Example |
|------|---------|
| Gallows humor | Making jokes when dying |
| Dry deadpan | Understatement in chaos |
| Cruel wit | Cutting observations |
| Earnest directness | Saying what they mean |

**Check:** Is humor type consistent? Does it evolve with arc?

---

## Validation Approach

**Voice/idiom is guidance, not automated validation.**

| Idiom Type | Regex-Detectable | Validation Approach |
|------------|------------------|---------------------|
| Gambling | Yes (odds patterns, keywords) | Could automate, but not required |
| Military/Tactical | Partial | Manual review |
| Legal/Creditor | Partial | Manual review |
| Poetic/Artistic | No | Manual review only |
| Philosophical | No | Manual review only |

**Frequency guidance:**
- Ep 1 to mask break: Signature idiom every other episode minimum
- Post mask break: Idiom can fade as arc completes — transformation beats consistency

Idiom drift is caught by `/dramatic-qc --lens voice`, not automated validation. Behavioral DNA (physical tells) IS validated every episode because it's concrete and detectable.

---

## Detection Criteria

### MUST FIX Issues

| Issue | Detection | Example |
|-------|-----------|---------|
| Voice contamination | Character A uses B's idiom | Gambler speaks in tactical terms |
| Generic functional lines | Line could be any character | "We need to move." |
| Idiom abandonment | Character drops their speech pattern | Soldier suddenly speaks formally |
| Swap test failure | Can't identify speaker | Lines are interchangeable |

### COULD IMPROVE Issues

| Issue | Detection | Example |
|-------|-----------|---------|
| Idiom without personality | Speech pattern present, no wit | Technical speech but robotic |
| Inconsistent wit | Humor type changes randomly | Gallows one scene, earnest next |
| Missing "never say" moments | Character always plays safe | No opportunity to show restraint |

---

## Scoring Anchors

| Score | Level | Description |
|-------|-------|-------------|
| 9-10 | Unmistakable | Could identify speaker from ANY 3 consecutive lines |
| 7-8 | Strong | Could identify speaker from most lines; occasional generic slip |
| 5-6 | Present | Voice present but inconsistent; some contamination |
| 3-4 | Weak | Generic with occasional flashes of personality |
| 1-2 | Absent | Interchangeable with any character in genre |

---

## Calibration Examples

### GOOD: Unmistakable Voice (9/10)

**Character:** Jinx (Leviathan)

**Lines (names removed):**
1. "Sixty-forty I don't die in this hole. Those are practically good odds."
2. "I'll take that bet."
3. "House odds say you're bluffing."
4. "All in. What else is there?"
5. "Fold or call. Those are your options."

**Why identifiable:**
- Gambling idiom in EVERY line
- Stakes language even outside games
- Attitude: dark humor about death
- Worldview: everything is a bet

---

### BAD: Generic AI Voice (3/10)

**Character:** ARIA (ASI-Bridge)

**Lines (names removed):**
1. "I have calculated the optimal solution."
2. "The probability of success is 73.2%."
3. "I have exceeded baseline parameters."
4. "My analysis indicates..."
5. "Processing your request."

**Why NOT identifiable:**
- Could be ANY AI character in any story
- Generic precision without personality
- No wit, attitude, or distinctive worldview
- Functional but characterless

---

### GOOD: Voice With Contradiction (8/10)

**Character:** Kian (Leviathan)

**Lines:**
1. "Acceptable risk parameters." (tactical)
2. "Target acquired. Engaging." (military)
3. "I... do not understand why this matters to me." (vulnerability)

**Why this works:**
- Lines 1-2: Consistent tactical idiom
- Line 3: Voice breaks APPROPRIATELY for emotional moment
- The contrast IS character development
- Still identifiable because the break is meaningful

---

### BAD: Voice Contamination

**Example:** Character A (soldier) suddenly says:
"The odds aren't in our favor. I'd bet against us."

**Problem:** Using gambler's idiom, not soldier's.

**Should be:** "Bad position. No cover. We're exposed."

---

## Voice Drift Detection

Over long series, voices can drift. Check for:

| Episode Range | Issue | Detection |
|---------------|-------|-----------|
| Ep 1-20 | Establishment | Voice should be most consistent |
| Ep 21-40 | Testing | Voice may soften/shift with relationships |
| Ep 41-60 | Transformation | Deliberate voice evolution (should be tracked) |

**Accidental drift:** Voice changes without character reason
**Intentional evolution:** Voice changes because character changes

---

## Cross-Character Consistency Check

For ensemble casts, verify no two characters sound alike:

| Check | Method |
|-------|--------|
| Idiom overlap | Do any characters share speech idiom? |
| Register overlap | Do any characters have same vocabulary level? |
| Wit overlap | Do any characters have same humor type? |

**If overlap:** At least one character needs differentiation work.

---

## Fix Guidance

### Generic Lines

**Before:** "We need to get out of here."

**Fix by idiom:**
- Gambler: "Time to cash out."
- Soldier: "Extraction point. Move."
- Creditor: "This debt comes due elsewhere."
- Scientist: "Conditions are no longer viable."

### Voice Contamination

1. Identify which character's voice is being borrowed
2. Rewrite using the speaking character's idiom
3. If idiom doesn't cover this situation, use their vocabulary/register instead

### Swap Test Failure

For each line that fails:
1. What is this character's idiom?
2. What is their attitude/worldview?
3. Rewrite to include BOTH

---

## Integration

### With Behavioral DNA

Voice should MATCH behavioral DNA:
- Stress behavior should affect speech pattern
- Contradiction should appear in dialogue too
- Orthogonal traits may have speech markers

### With Character Voices Document

`characters.md` should define:
- Speech idiom
- Vocabulary range
- "Would NEVER say" list
- Sample lines demonstrating voice
- Humor type

---

## Output Format

When reporting voice issues:

```
[VOICE] Ep N: [Character] [issue type]
  Line: "[the problematic line]"
  Problem: [why it fails]
  Idiom should be: [character's speech idiom]
  /rewrite [project] ep N "[brief description]"
```
