AI-powered natural language interface for the Sesame robot using Google Gemini and PyTTSx3.
pip install -r requirements.txt
Option 1 - Environment variables:
$env:SESAME_LOCAL=true
# To test without Sesame you can set SESAME_ROBOT_IP to 'mock'
$env:SESAME_ROBOT_IP="192.168.1.100"
$env:GEMINI_API_KEY="your_key_here"
# Use localhost if hosted LLM is on same PC, or IP (e.g. 192.168.1.50) if on a different server
$env:LOCAL_LLM_URL="http://localhost:11434/v1"
$env:LOCAL_LLM_MODEL="granite4"
Option 2 - .env file:
SESAME_LOCAL=true
SESAME_ROBOT_IP=192.168.1.100
GEMINI_API_KEY=your_key_here
VOICE_ENABLED=true
TTS_ENGINE=pyttsx3
WAKE_WORD=hey sesame
WAKE_WORD_MODE=false
# Use localhost if AI is on same PC, or IP (e.g. 192.168.1.50) if on a different server
LOCAL_LLM_URL="http://localhost:11434/v1"
LOCAL_LLM_MODEL="granite4"
python sesame_companion.py
python sesame_gui.py
VoiceInterface
SesameRobotController
GeminiInterface
SesameCompanionApp
The robot has two types of faces:
happy)talk_happy)During TTS, the system switches between base and talk variants based on audio levels detected via pyaudio. Falls back to time-based animation if audio monitoring unavailable.
Command endpoint: POST /api/command
{"command": "walk"}
{"face": "happy"}
{"command": "wave", "face": "excited"}
Status endpoint: GET /api/status
{
"currentCommand": "idle",
"currentFace": "happy",
"networkConnected": true
}
Connected to network! IP: X.X.X.Xpyaudio not available
pip install pyaudioRobot connection failed
curl http://ROBOT_IP/api/statusTTS not working
pygame packageWake word not detecting
4 commits
4 commits
Python
100.0%
AI-powered natural language interface for the Sesame robot using Google Gemini and PyTTSx3.
pip install -r requirements.txt
Option 1 - Environment variables:
$env:SESAME_LOCAL=true
# To test without Sesame you can set SESAME_ROBOT_IP to 'mock'
$env:SESAME_ROBOT_IP="192.168.1.100"
$env:GEMINI_API_KEY="your_key_here"
# Use localhost if hosted LLM is on same PC, or IP (e.g. 192.168.1.50) if on a different server
$env:LOCAL_LLM_URL="http://localhost:11434/v1"
$env:LOCAL_LLM_MODEL="granite4"
Option 2 - .env file:
SESAME_LOCAL=true
SESAME_ROBOT_IP=192.168.1.100
GEMINI_API_KEY=your_key_here
VOICE_ENABLED=true
TTS_ENGINE=pyttsx3
WAKE_WORD=hey sesame
WAKE_WORD_MODE=false
# Use localhost if AI is on same PC, or IP (e.g. 192.168.1.50) if on a different server
LOCAL_LLM_URL="http://localhost:11434/v1"
LOCAL_LLM_MODEL="granite4"
python sesame_companion.py
python sesame_gui.py
VoiceInterface
SesameRobotController
GeminiInterface
SesameCompanionApp
The robot has two types of faces:
happy)talk_happy)During TTS, the system switches between base and talk variants based on audio levels detected via pyaudio. Falls back to time-based animation if audio monitoring unavailable.
Command endpoint: POST /api/command
{"command": "walk"}
{"face": "happy"}
{"command": "wave", "face": "excited"}
Status endpoint: GET /api/status
{
"currentCommand": "idle",
"currentFace": "happy",
"networkConnected": true
}
Connected to network! IP: X.X.X.Xpyaudio not available
pip install pyaudioRobot connection failed
curl http://ROBOT_IP/api/statusTTS not working
pygame packageWake word not detecting
4 commits
4 commits
Python
100.0%