A sophisticated voice-activated AI butler inspired by Iron Man's Jarvis, bringing natural language understanding and intelligent automation to your Windows desktop.
- Wake word detection with "Jarvis" trigger
- Real-time transcription using Whisper (faster-whisper) on GPU
- Natural language understanding via Claude Haiku API
- Text-to-speech responses with Edge TTS
- Streaming detection โ execute actions while you're still talking
- Interrupt detection โ say something to interrupt Jarvis mid-speech
- Open/close applications by voice
- Multi-monitor support โ move apps to specific monitors
- Quick shortcuts โ auto-scans your shortcuts folder for app recognition
- Play songs, playlists, or artists by voice search
- Playback control โ pause, resume, next, previous
- Smart search โ checks your library first, then public playlists
- Set timers with custom labels
- Set reminders with voice-triggered messages
- Cancel timers on demand
- Open URLs directly ("open github.com")
- Google Search voice queries
- YouTube Search with one command
- Auto-close distracting apps when gaming starts
- Restore apps when gaming ends
- Shutdown, restart, sleep, lock PC
- Volume control (0-100%)
- Brightness adjustment
- Screenshots and clipboard management
- Run PowerShell/CMD commands directly
- Read/write files by voice
- Find files with search queries
- File content accessible through voice
- Screen reading with OCR (Claude vision)
- Mouse movement & clicks
- Keyboard input automation
- System information retrieval
- Clipboard read/write operations
- Remember facts โ persistent key-value storage
- Recall information โ retrieve saved data anytime
- Forget entries โ remove specific memories
- Daily morning greeting on first launch
- Weather information (auto-location)
- Current time & date awareness
- Self-healing โ retries with alternative approaches on failure
- Easter eggs โ hidden voice responses
- GPU (NVIDIA RTX recommended) โ for Whisper fast inference (~0.2s per transcription)
- Microphone for voice input
- Speaker for audio output
Python 3.10+
ANTHROPIC_API_KEY=your_key_here
OPENAI_API_KEY=your_key_here (optional, for fallback)
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_secret
SHORTCUTS_DIR=C:\ALL\Shortcuts (or your shortcuts folder)
git clone <repo-url>
cd Jarvispip install -r requirements.txtCreate a .env file in the project root:
ANTHROPIC_API_KEY=sk-ant-...
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_secret
SHORTCUTS_DIR=C:\ALL\Shortcuts
- Create an app at Spotify Developer Dashboard
- Get your Client ID and Secret
- Add to
.env
Create a folder with .lnk / .url / .exe shortcuts for your apps. Jarvis will auto-discover them.
python main.pyYou: "Jarvis"
Jarvis: [Beep] Ready to listen...
Apps & Windows:
- "Open Spotify"
- "Close Discord"
- "Take a screenshot"
- "Move VS Code to the right monitor"
Media:
- "Play some lo-fi beats"
- "Play my gym playlist"
- "Next track / Previous track"
Timers:
- "Set a 5 minute timer for laundry"
- "Remind me to check the oven in 20 minutes"
Search:
- "Google how to make pasta"
- "Search YouTube for guitar tutorials"
- "Open amazon.com"
System:
- "Shut down the PC"
- "What's the weather?"
- "What time is it?"
- "Set brightness to 80"
Gaming:
- "Gaming mode on" (closes distracting apps)
- "Gaming mode off" (restores them)
Memory:
- "Remember my password is 123ABC"
- "What's my password?"
- "Forget my password"
Edit config.py to customize:
# Wake word
WAKE_WORD = "jarvis"
# AI Model size (base recommended for GPU)
WHISPER_MODEL = "base"
# TTS Voice (supports many languages/accents)
EDGE_TTS_VOICE = "en-GB-RyanNeural"
# Monitor layout (adjust to your setup)
MONITOR_ALIASES = {
"arriba": 0, # Top monitor
"centro": 1, # Center/main monitor
"izquierda": 2, # Left monitor
"derecha": 3, # Right monitor
}
# Shortcuts folder for app discovery
SHORTCUTS_DIR = r"C:\ALL\Shortcuts"- main.py โ Core conversation loop, action execution
- speech.py โ STT (Whisper), TTS (Edge), audio streaming
- command_parser.py โ Natural language parsing (Claude), regex fallback
- window_manager.py โ Windows API integration for app control
- spotify_player.py โ Spotify API integration
- utilities.py โ Timers, reminders, file ops, system control
- wake_word.py โ Wake word detection (openwakeword)
- config.py โ Configuration & app shortcuts discovery
- STT latency: ~0.2s per transcription (on RTX 5080)
- Streaming detection: Actions execute while user is still talking
- TTS caching: Pre-caches common phrases for ~0 latency
- CUDA optimization: Configured for float16 inference
- Check microphone levels
- Verify
sounddevicecan access your mic - Try
python wake_word.pydirectly
- Ensure CUDA is properly installed
- Check
nvidia-smito verify GPU usage - Fall back to CPU: change
device="cuda"todevice="cpu"in speech.py
- Verify Spotify API credentials in
.env - Check Spotify premium status (required for API playback)
- Restart Spotify app
- Adjust
EDGE_TTS_PITCHandEDGE_TTS_RATEin config.py - Try a different voice from the
en-*options
- Multi-language support
- Custom wake words
- Home automation integration (smart lights, etc.)
- Email client integration
- Calendar/scheduling features
- Browser automation
- Advanced context memory with embeddings
MIT License โ Feel free to fork and customize!
Built with:
- Claude AI โ Natural language understanding
- Whisper โ Speech-to-text
- Edge TTS โ Text-to-speech
- Spotify API โ Music streaming
- OpenWakeword โ Wake word detection
Enjoy your AI butler! ๐ฉ