SatBot
Animated AI Voice Assistant
Voice in โ AI thinks โ voice out, with a face that talks back in real-time
github.com/sidx007/SatBot
Animated AI Voice Assistant
Voice in โ AI thinks โ voice out, with a face that talks back in real-time
github.com/sidx007/SatBot
SatBot is a desktop voice assistant with an animated SVG face. Press Space to talk โ it transcribes your speech, generates an AI response via Gemini, speaks it back with Google TTS, and syncs the mouth animation to audio amplitude in real-time at 60 FPS.
SVG-based face rendered in Pygame. Mouth position (6 states) maps to real-time audio amplitude. Includes blink, blush, and speaking indicator animations.
STT, LLM, and TTS each run as independent FastAPI services on separate ports. The main face client orchestrates them via HTTP. Auto health-monitoring with restart on failure.
PyAudio captures mic at 22050Hz Float32 โ WAV โ Deepgram Google STT โ Gemini 1.5 Flash โ gTTS โ WAV โ Pygame playback.
Run python kaira_launcher.py. Services auto-start. Press SPACE to speak, Q to quit.
Receives audio, converts to WAV via pydub, returns transcribed text via Google Speech Recognition
Gemini 1.5 Flash with conversation history. 150 token max. 0.7 temperature. Maintains context across turns.
Google TTS (gTTS) โ MP3 โ WAV at 22050Hz stereo via pydub. Returns audio bytes for Pygame playback.
Audio amplitude is normalized 0โ1 and mapped to one of 6 mouth SVG frames. Updated every frame at 60 FPS so the face lip-syncs naturally to generated speech.
Amplitude โ Mouth State
SVG Asset Set