Skip to content

berd-call: name code-named Siri voices from their installed asset - #408

Closed
johnmatthewtennant wants to merge 1 commit into
mainfrom
jtennant/berd-call-voice-asset-names
Closed

johnmatthewtennant wants to merge 1 commit into
mainfrom
jtennant/berd-call-voice-asset-names

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Siri voices whose catalog name is a code (en-US-F, en-US-G) got human names in #401 from a hardcoded table. Their real names live in the installed asset: the build paths in its Info.plist name a build directory such as .../assets/zack_v2_dual_prompt_with_fallback/p2a (Zack) or .../assets/gigi_test_2/assets/device (Gigi).

The voice catalog now reads those paths from each installed voice's asset and takes the name from them. To keep the result safe across macOS releases:

  • It accepts only a build directory directly under assets/ with more path below it, whose first word is all letters.
  • Every path that names a voice must agree.
  • It applies only to code-named voices. Named voices like Aaron keep their names.

When the asset is missing, unreadable or ambiguous, the name falls back as before: first to #401's names, then to Siri and the name macOS shows (Siri Voice 3).

Related issue

None.

Testing

  • On this Mac, the installed assets name en-US-F and en-US-G as Zack and Gigi: with berd-call: show names for code-named Siri voices #401's fallback names removed from the build, berd-call voices list still shows both names, read from their assets. With the change as committed the list is unchanged from before it, and every other code-named voice is still Siri Voice N.
  • New unit tests failed before the change and pass after:
  • New parser test covering the paths that must not yield a name: versioned build folders like en-US-F_5028, leaf folders, single letters and leading digits.

A voice whose catalog name is a code, such as en-US-F, now takes its
display name from the build paths in its installed asset's Info.plist
(.../assets/zack_v2_dual_prompt_with_fallback/p2a is Zack). The known
names and "Siri Voice N" remain the fallbacks.

Signed-off-by: John Tennant <jtennant@block.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@johnmatthewtennant

Copy link
Copy Markdown
Contributor Author

🤖 Folded into #416 for review and merge.

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