- Rewrote voice_ws.py: receive loop uses queue.put_nowait(), separate consumer task handles STT->LLM->TTS pipeline (no more blocking the WebSocket) - Updated voice.html: TTS audio playback, transcript display, thinking indicator - Added energy-based silence detection (skip STT on silent buffers) - Fixed sample rate mismatch (16kHz throughout, not 24kHz) - Added AUDIT.md: full pipeline audit confirming STT/TTS/OpenClaw client work Known blocker: OpenClaw gateway chat.send requires operator.write scope, gateway password token doesn't grant scopes. Needs device pairing fix. |
||
|---|---|---|
| .. | ||
| static | ||
| voices | ||
| __init__.py | ||
| app.py | ||
| stt.py | ||
| tts.py | ||
| voice_ws.py | ||