Skip to content

feat(voice): add OpenAI text-to-speech - #233

Draft
johnmatthewtennant wants to merge 18 commits into
jtennant/voice-transcript-routingfrom
openai-tts-base
Draft

feat(voice): add OpenAI text-to-speech#233
johnmatthewtennant wants to merge 18 commits into
jtennant/voice-transcript-routingfrom
openai-tts-base

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds OpenAI text-to-speech as a Voice Conversation output backend.

  • Adds a dedicated OpenAI TTS API-key field in Voice settings.
  • Stores the TTS key under its own keychain account and never reads Goose provider credentials.
  • Streams synthesized speech through the selected output device with interruption and delivery tracking.
  • Stops active playback when the TTS credential changes or is removed.
  • Localizes setup guidance and distinguishes missing TTS prerequisites.

Configuration

Enter an OpenAI text-to-speech key in Settings → Voice → Speech output after selecting OpenAI. This credential is separate from Goose and from the OpenAI STT key.

Testing

  • just check
  • pnpm vitest run src/features/voice-conversation/hooks/useOpenAiVoiceSetup.test.tsx src/features/voice-conversation/ui/VoiceSettings.test.tsx
  • just tauri-check
  • just clippy

@johnmatthewtennant
johnmatthewtennant changed the base branch from main to jtennant/voice-transcript-routing August 28, 2026 19:27
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