Skip to content

Add streaming Siri TTS to Buzz#2945

Open
johnmatthewtennant wants to merge 4 commits into
block:mainfrom
johnmatthewtennant:tts-quality-experiments
Open

Add streaming Siri TTS to Buzz#2945
johnmatthewtennant wants to merge 4 commits into
block:mainfrom
johnmatthewtennant:tts-quality-experiments

Conversation

@johnmatthewtennant

Copy link
Copy Markdown

Summary

Adds an experimental native Siri speech backend to Buzz, alongside the existing local Pocket TTS path, so huddle speech quality and latency can be evaluated without exercising real huddle functionality.

  • adds a Voice settings screen for selecting Pocket TTS or Siri, choosing installed voices, downloading catalog voices, and adjusting speech rate
  • streams Siri audio from the macOS speech service and streams Pocket synthesis callback deltas into playback
  • validates Siri voice availability before selection and safely shuts down late native callbacks
  • adds a standalone offline-first Pocket TTS quality harness with chunking, prefix, playback, and speed experiments
  • splits runtime configuration helpers to keep the existing source-size quality gate passing after syncing with main

Siri support is macOS-only and uses an experimental private system service. Pocket TTS remains the default backend.

Related issue

None found.

Testing

  • just ci
  • live ignored Siri voice catalog and synthesis tests, including decoded PCM output
  • focused Playwright Voice settings end-to-end test
  • Pocket onset and streaming unit coverage

* origin/main: (55 commits)
  Fix formatting in README.md diagram (block#2284)
  fix(desktop): make Linux AppImage GStreamer work on non-Debian distros (block#2176)
  refactor(desktop): remove Agent directory section from Agents page (block#2290)
  fix(desktop): enable arboard Wayland backend so Linux copies reach the Wayland clipboard (block#2904)
  fix(desktop): supervise and re-arm relay-mesh runtime (block#2823)
  fix(agents): run live Databricks discovery instead of the fallback list (block#2890)
  fix(desktop): retire prepend mode on every reader wheel (block#2913)
  fix(desktop): consolidate prepend scroll correction (block#2855)
  docs(buzz-acp): correct agent key generation instructions (block#2875)
  fix(desktop): track concurrent agent turns up to the harness maximum (block#2882)
  docs(contributing): trim to goose-scale minimal intake surface (block#2780)
  fix(relay): preserve reconnect backoff (block#2759)
  refactor(relay): expose reconnect timing policy (block#2310)
  fix(desktop): clear stale working badges on agent stop/restart (block#2803)
  fix(desktop): surface agent rename relay profile sync failure as a warning toast (block#2279)
  fix(docker): create /data/git so the compose volume inherits buzz ownership (block#2840)
  fix(mobile): invalidate DM directory providers at the community boundary (block#2842)
  feat(relay): make per-owner community limit configurable via BUZZ_MAX_COMMUNITIES_PER_OWNER (block#2599)
  fix(discovery): inject PATH into Codex adapter planning (block#2767)
  chore(release): release Buzz Desktop version 0.4.26 (block#2808)
  ...
@johnmatthewtennant
johnmatthewtennant marked this pull request as ready for review July 26, 2026 05:14
@johnmatthewtennant
johnmatthewtennant requested a review from a team as a code owner July 26, 2026 05:14
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