Skip to content

feat(kai-voice-system): Add Google Cloud TTS provider - #285

Merged
danielmiessler merged 1 commit into
danielmiessler:mainfrom
fayerman-source:feat/google-tts-provider
Jan 1, 2026
Merged

danielmiessler merged 1 commit into
danielmiessler:mainfrom
fayerman-source:feat/google-tts-provider

Conversation

@fayerman-source

Copy link
Copy Markdown
Contributor

Summary

Adds Google Cloud Text-to-Speech as an alternative TTS provider with 400x more free characters than ElevenLabs (4M/month vs ~10K).

  • Multi-provider architecture via TTS_PROVIDER env var
  • Google Cloud TTS with Neural2/WaveNet voice support
  • Full Linux support with auto-detected audio players
  • Backward compatible - ElevenLabs remains the default

Motivation

After running out of ElevenLabs credits during normal PAI usage (Issue #274 discussion), I discovered Google Cloud TTS offers:

  • 4 million free characters/month (Standard) + 1M (Neural2)
  • High-quality Neural2 voices comparable to ElevenLabs
  • Effectively unlimited for typical notification usage

What's Changed

File Changes
server.ts Multi-provider TTS, Linux audio support (mpg123/mpv/paplay), Linux notifications
README.md Updated platform support, TTS provider docs, architecture diagram
INSTALL.md Google Cloud TTS setup instructions, updated troubleshooting

Configuration

# .env - Choose provider
TTS_PROVIDER=google  # or "elevenlabs" (default)
GOOGLE_API_KEY=your_key
GOOGLE_TTS_VOICE=en-US-Neural2-J  # Optional

Testing

Tested on:

  • Ubuntu 24.04 (WSL2) with mpg123 for audio playback
  • Voice notifications working with Google Cloud TTS
  • Verified backward compatibility with ElevenLabs config

Breaking Changes

None. ElevenLabs remains the default provider for full backward compatibility.


🤖 Generated with Claude Code

Adds Google Cloud Text-to-Speech as an alternative TTS provider with
400x more free characters (4M/month vs ~10K for ElevenLabs).

What's new:
- Multi-provider architecture via TTS_PROVIDER env var
- Google Cloud TTS integration with Neural2/WaveNet voices
- Full Linux support with auto-detected audio players (mpg123, mpv, paplay)
- Linux desktop notifications via notify-send
- Provider status in /health endpoint
- Updated documentation with setup instructions for both providers

Breaking changes: None - ElevenLabs remains the default for backward
compatibility.

Tested on Ubuntu 24.04 (WSL2) with existing GOOGLE_API_KEY.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@danielmiessler
danielmiessler merged commit 944914f into danielmiessler:main Jan 1, 2026
@danielmiessler

Copy link
Copy Markdown
Owner

Thank you for this excellent contribution! 🎉

Your Google Cloud TTS integration has been merged. The multi-provider architecture, Linux audio support, and backward compatibility are exactly what we were hoping for in community contributions.

You've been added to the Credits section in the main README to recognize your work. Really appreciate you taking the time to build this out properly with full documentation and clean code.

Welcome to the PAI contributor community!

fayerman-source added a commit to fayerman-source/Personal_AI_Infrastructure that referenced this pull request Jan 17, 2026
…lmiessler#285

Restores Google Cloud TTS functionality that was accidentally removed
in the v2.3 pack update (commit fec59c2).

Features restored:
- TTS_PROVIDER env var for provider selection (google/elevenlabs)
- Google Cloud TTS API integration with Neural2/WaveNet/Chirp3-HD voices
- Linux audio player detection (mpg123, mpv, paplay)
- Linux desktop notifications (notify-send)
- Multi-provider /health endpoint status

Fixes danielmiessler#423

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
fayerman-source added a commit to fayerman-source/Personal_AI_Infrastructure that referenced this pull request Feb 7, 2026
…lmiessler#285

Restores Google Cloud TTS functionality that was accidentally removed
in the v2.3 pack update (commit fec59c2).

Features restored:
- TTS_PROVIDER env var for provider selection (google/elevenlabs)
- Google Cloud TTS API integration with Neural2/WaveNet/Chirp3-HD voices
- Linux audio player detection (mpg123, mpv, paplay)
- Linux desktop notifications (notify-send)
- Multi-provider /health endpoint status

Fixes danielmiessler#423

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ljubitje pushed a commit to ljubitje/Personal_AI_Infrastructure that referenced this pull request Apr 12, 2026
…#285)

Adds Google Cloud Text-to-Speech as an alternative TTS provider with
400x more free characters (4M/month vs ~10K for ElevenLabs).

What's new:
- Multi-provider architecture via TTS_PROVIDER env var
- Google Cloud TTS integration with Neural2/WaveNet voices
- Full Linux support with auto-detected audio players (mpg123, mpv, paplay)
- Linux desktop notifications via notify-send
- Provider status in /health endpoint
- Updated documentation with setup instructions for both providers

Breaking changes: None - ElevenLabs remains the default for backward
compatibility.

Tested on Ubuntu 24.04 (WSL2) with existing GOOGLE_API_KEY.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
tzioup pushed a commit to tzioup/LifeOS that referenced this pull request Aug 3, 2026
…#285)

Adds Google Cloud Text-to-Speech as an alternative TTS provider with
400x more free characters (4M/month vs ~10K for ElevenLabs).

What's new:
- Multi-provider architecture via TTS_PROVIDER env var
- Google Cloud TTS integration with Neural2/WaveNet voices
- Full Linux support with auto-detected audio players (mpg123, mpv, paplay)
- Linux desktop notifications via notify-send
- Provider status in /health endpoint
- Updated documentation with setup instructions for both providers

Breaking changes: None - ElevenLabs remains the default for backward
compatibility.

Tested on Ubuntu 24.04 (WSL2) with existing GOOGLE_API_KEY.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
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.

2 participants