Skip to content

voice presets: zany persona per voice - #3

Merged
zdql merged 1 commit into
mainfrom
feature/zany-personas
May 26, 2026
Merged

zdql merged 1 commit into
mainfrom
feature/zany-personas

Conversation

@zdql

@zdql zdql commented May 26, 2026 •

Copy link
Copy Markdown
Owner

Summary

Pairs every OpenAI Realtime voice with a distinct personality preset, so the voice catalog ships as a catalog and not a single character.

Voice Preset
alloy gameshow — 1970s game show host
ash noir — hardboiled film-noir detective
ballad bard — medieval bard with light rhyming
cedar jarvis (existing)
coral influencer — overcaffeinated LA wellness influencer
echo thespian — Shakespearean actor
marin default (existing)
sage concise (existing) + monk — deadpan zen monk
shimmer diva — Broadway diva
verse sportscaster — live play-by-play

Each persona reminds the model to stay accurate; the flavor is on top of correct behavior, not a replacement.

Note: Includes commits from #1 + #2. Mergeable independently — if either of those lands first this PR's diff shrinks automatically.

Test plan

  • cargo test (23 passing — preset tests cover resolution edge cases).
  • gamechat --preset noir --print-realtime-config shows voice: "ash" + noir persona appended to base instructions.
  • Spot-check 2-3 personas in a live realtime session.

🤖 Generated with Claude Code

@zdql zdql mentioned this pull request May 26, 2026
1 of 4 tasks
@zdql
zdql changed the base branch from feature/voice-presets to main May 26, 2026 18:01
OpenAI's voice descriptions are sparse, so we lean in and assign a
distinct personality to each voice in the Realtime catalog:

  alloy    → gameshow  (1970s game show host)
  ash      → noir       (hardboiled film-noir detective)
  ballad   → bard       (medieval bard with light rhyming)
  coral    → influencer (overcaffeinated LA wellness influencer)
  echo     → thespian   (classically trained Shakespearean actor)
  sage     → monk       (deadpan zen monk; one-line koan opener)
  shimmer  → diva       (Broadway diva, perpetual Act II climax)
  verse    → sportscaster (live play-by-play announcer)

Plus the practical `concise` (sage) and the existing `default` (marin)
and `jarvis` (cedar). Each persona reminds the model to stay
accurate — flavor is on top of correct behavior, not in place of it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zdql
zdql force-pushed the feature/zany-personas branch from b4b36ee to 95ef0b0 Compare May 26, 2026 18:06
@zdql
zdql merged commit 53e123b into main May 26, 2026
@zdql
zdql deleted the feature/zany-personas branch May 26, 2026 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant