snowspeeder ca2d26f171 feat: voice and model pickers with sync-on-join (Phase 4)
- Voices.swift: 13 Azure voices, default en-US-Ava
- SettingsStore: persist voiceID/modelID, fallback to default voice
- VoiceSession: sync set_voice/set_model on agent_ready, selectVoice/selectModel, track models + model_changed
- SettingsView: voice and model picker sheets
- ControlChannel: publish via publish(data:) reliable data channel instead of sendText DataStream (agent listens on legacy data_received; DataStream text was dropped)
2026-08-30 07:50:45 -04:00
S
Description
Real-time voice assistant: LiveKit + Azure Speech + local Gemma LLM
6 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 42.3%
Swift 27.3%
HTML 16.5%
JavaScript 7.8%
CSS 5.3%
Other 0.8%