Jezza Hehn
|
f0072593ae
|
voice: asyncio.Queue rewrite, browser TTS playback, silence detection, pipeline audit
- 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.
|
2026-04-10 05:41:00 +00:00 |
|
Jezza Hehn
|
3450e57ca6
|
Fix voice portal: WebSocket routing, Caddy keepalive, audio pipeline
- Fix app.py: @app.get -> @app.websocket for /ws/voice route (was returning 403)
- Fix app.py: create static_dir before mounting it (AttributeError on startup)
- Fix voice.html: AudioWorkletNode constructor (was AudioWorkletProcessor)
- Fix voice.html: use ScriptProcessor directly (more reliable)
- Fix voice.html: send Float32 directly (server expects float32, was sending Int16)
- Fix voice.html: auto-detect ws/wss protocol from page URL
- Add Caddy reverse proxy keepalive pings every 15s to prevent timeout
- Add detailed message type logging in WebSocket receive loop
- Strip Jarvis/Sage personas, rename bot to MoltMic
- Add /moltmic voice slash command for portal URL
- Update portal URL to https://voice.jezzahehn.com
|
2026-04-10 04:47:31 +00:00 |
|