Skip to content

berd-call: download Siri voices from the menu bar - #407

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

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

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The menu bar's voice submenu listed only installed Siri voices. To try another voice you had to download it with berd-call voices download first, so the menu never showed what else was available.

The submenu now ends with a Download submenu listing the voices in the call's language that aren't installed, each with its size (for example, Damon (325 MB)). Choosing one:

  • Downloads it in the background, without blocking the menu.
  • Shows Downloading Damon… at the top of the menu and in place of its entry. Other downloads wait until it finishes.
  • Switches the call to the voice once it's installed. The voice then appears with the installed voices.

If the download fails, the error shows as a control error, the way other menu errors do. Voices in other languages, and removing voices, are out of scope.

Related issue

None.

Testing

  • New menu tests, each failing before the change:
    • The voice submenu offers only the current language's uninstalled voices, with their sizes, under Download.
    • A download in progress shows at the top of the menu and in its entry, and it holds off other downloads.
    • A finished download switches the call to the voice and reloads the installed voices.
    • A failed download shows its error instead.
  • Not verified: a real download from the live menu, and screenshots of it. A download fetches a voice of several hundred megabytes, it needs a running call, and screen capture isn't available on the test Mac.

The menu bar's voice submenu listed only installed Siri voices, so a
voice had to be downloaded with `berd-call voices download` before it
could be chosen. The submenu now offers the uninstalled voices in the
call's language under Download, with their sizes. Choosing one
downloads it off the main thread, shows its progress, and switches the
call to it once it is installed; a failure shows as a control error.

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