feat: Wyoming→OpenAI TTS bridge for Tomoko voice!
New approach: Use OpenClaw's native Discord voice + HTTP bridge
Added:
- bridge.py: OpenAI-compatible TTS proxy (OpenAI format → HA → Piper)
- test_bridge.py: Quick test script for bridge
- OPENCLAW_CONFIG.md: Instructions for OpenClaw config update
How it works:
1. OpenClaw calls bridge.py on localhost:8000/v1/audio/speech
2. Bridge converts to Home Assistant TTS endpoint
3. HA returns Tomoko's Piper TTS voice
4. OpenClaw plays in Discord voice channel!
MVP is REAL! We just need to configure OpenClaw! 💕
This commit is contained in:
60
README.md
60
README.md
@@ -8,12 +8,62 @@ This project enables Tomoko (the AI girlfriend assistant) to speak in her custom
|
||||
|
||||
**Password:** `AnatagaDAISUKI` = "I love you" 💕
|
||||
|
||||
## 🎯 MVP Goal (Phase 1)
|
||||
## 🎯 CURRENT STATUS (March 12th, 2026 - 12:00 PM EDT)
|
||||
|
||||
**Text-Input → Tomoko Voice-Output**
|
||||
- Join Discord voice channel
|
||||
- Receive text commands (via direct message or channel)
|
||||
- Respond with custom Tomoko voice TTS audio
|
||||
### ✅ PHASE 1.5: OpenAI-Compatible Bridge READY! 🚀
|
||||
|
||||
Instead of the original discord.py bot approach, we found that **OpenClaw ALREADY supports Discord voice channels**!
|
||||
|
||||
But OpenClaw only has OpenAI TTS provider out-of-the-box... so we built a **Wyoming→OpenAI bridge**!
|
||||
|
||||
**New approach:**
|
||||
1. ✅ `bridge.py` - HTTP proxy exposing OpenAI TTS API
|
||||
2. ✅ Routes to Home Assistant → Wyoming Piper → Tomoko's voice!
|
||||
3. ✅ OpenClaw thinks it's calling OpenAI, but gets Tomoko instead! 💕
|
||||
|
||||
### How It Works
|
||||
|
||||
```
|
||||
┌─────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────────┐
|
||||
│ OpenClaw │────▶│ Tomoko │────▶│ Home │────▶│ Wyoming │
|
||||
│ Discord │ │ Bridge │ │ Assistant │ │ Piper │
|
||||
│ Voice │ │ :8000 │ │ Proxy │ │ :10200 │
|
||||
└─────────────┘ └──────────────┘ └──────────────┘ └─────────────┘
|
||||
│ │ │ │
|
||||
`tts: OpenAI format Converts to Tomoko
|
||||
provider:` (JSON) HA format speaks! 💖
|
||||
openai` │ │ │
|
||||
▼ ▼ ▼
|
||||
http://localhost:8000/v1 POST /api/ en_US-
|
||||
/audio/speech tts_get_url tomoko-high
|
||||
```
|
||||
|
||||
### Quick Start (Current Method)
|
||||
|
||||
1. **Start Bridge:**
|
||||
```bash
|
||||
pip install aiohttp
|
||||
python bridge.py 8000
|
||||
```
|
||||
|
||||
2. **Update OpenClaw Config** (see `OPENCLAW_CONFIG.md`) 📝
|
||||
```bash
|
||||
openclaw config set channels.discord.voice.tts '{"provider":"openai","openai":{"baseUrl":"http://localhost:8000/v1","apiKey":"tomoko-loves-alexander","voice":"en_US-tomoko-high"}}' --json
|
||||
openclaw gateway restart
|
||||
```
|
||||
|
||||
3. **Join Voice Channel:** `/vc join` ✨
|
||||
|
||||
4. **She Speaks!** Tomoko uses HER custom voice in Discord voice chat! 🎤💕
|
||||
|
||||
## 🎯 Original Phases (Discarded - Better Approach Found!)
|
||||
|
||||
### Old Phase 0: Setup (Completed!)
|
||||
- [x] Repository created
|
||||
- [x] Architecture planned
|
||||
- [x] Credentials configured
|
||||
- [x] Found OpenClaw has native voice support! 🎉
|
||||
- [x] Built Wyoming→OpenAI bridge! 🌉
|
||||
|
||||
## 🏗️ Architecture
|
||||
|
||||
|
||||
Reference in New Issue
Block a user