Skip to content

BenzoXdev/MyJarvis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

JARVIS Banner

JARVIS Typing SVG


A local-first, privacy-respecting AI voice assistant for Windows.
Bilingual ยท Profile-based memory ยท Modern HUD interface ยท Standalone .exe


GitHub


๐Ÿ“ธ Interface Preview

JARVIS Desktop Interface
JARVIS running in fullscreen mode with animated waveform HUD ยท Windows 11

โœจ What is JARVIS?

JARVIS is a local-first Windows voice assistant designed for real everyday use. It listens continuously, wakes on a trigger word, executes desktop and system commands, and remembers who you are โ€” all without sending your voice to the cloud.

Wake word  โ”€โ”€โ–ถ  Command recognized  โ”€โ”€โ–ถ  Local execution
                                    โ””โ”€โ”€โ–ถ  Online fallback (optional)

Core philosophy:

  • ๐Ÿ”’ Voice input/output runs 100% locally
  • ๐Ÿง  Per-profile persistent memory & preferences
  • ๐ŸŒ Online only when you need: weather, news, Wikipedia, AI chat
  • ๐Ÿ‡ซ๐Ÿ‡ท ๐Ÿ‡ฌ๐Ÿ‡ง Full French & English command support
  • ๐Ÿ“ฆ Ships as a single standalone .exe

๐Ÿš€ Highlights

๐ŸŽจ Interface

  • Modern fullscreen PySide6 HUD
  • Animated neural waveform
  • FR / EN / AUTO language buttons
  • Windows startup toggle
  • Live mic level & transcript feed

๐Ÿง  Intelligence

  • Wake words: Jarvis, reveille-toi, wake up
  • Context-aware follow-up handling
  • Dual-model speech recognition support
  • Optional AI layer via g4f
  • Auto-recovery from Vosk waveform errors

๐Ÿ’พ Memory & Profiles

  • Per-profile notes, tasks, agenda
  • Learnable voice macros
  • Relation memory (Amar est mon ami)
  • Onboarding flow with confirmation
  • Legacy data migration

๐Ÿ–ฅ๏ธ Desktop Power

  • Open / close / install applications
  • Volume, brightness, screenshots
  • Dark/light mode toggle
  • Lock, sleep, restart, scheduled shutdown
  • Xbox Game Bar recording trigger

๐Ÿ—‚๏ธ Project Structure

MyJarvis/
โ”œโ”€โ”€ ๐Ÿ“„ main.py          โ† PySide6 UI, wake flow, main loop
โ”œโ”€โ”€ ๐ŸŽ™๏ธ listener.py      โ† Vosk recognition, mic input
โ”œโ”€โ”€ ๐Ÿ”Š speaker.py       โ† Windows SAPI voice output
โ”œโ”€โ”€ โš™๏ธ actions.py       โ† Command router & local execution
โ”œโ”€โ”€ ๐Ÿง  brain.py         โ† Memory, profiles, reminders, helpers
โ”‚
โ”œโ”€โ”€ model/              โ† Vosk speech model (you provide this)
โ”‚
โ””โ”€โ”€ profiles/
    โ”œโ”€โ”€ active_profile.json
    โ””โ”€โ”€ <profile_id>/
        โ”œโ”€โ”€ profile.json
        โ”œโ”€โ”€ memory.json
        โ”œโ”€โ”€ notes.txt
        โ””โ”€โ”€ tasks.json

โš™๏ธ Installation

Requirements

Requirement Details
OS Windows 10 or Windows 11
Python 3.10 or higher
Microphone Any working input device
SAPI Voice At least one Windows voice installed
Vosk Model One model folder (FR, EN, or multilingual)

Install dependencies

pip install PySide6 vosk sounddevice numpy comtypes pywin32 pycaw pyautogui psutil pygetwindow wikipedia screen_brightness_control pyperclip reportlab

Optional AI chat layer:

pip install g4f

JARVIS works fully without g4f for all local commands.


๐ŸŽ™๏ธ Speech Model Setup

Download a Vosk model and place it in:

model/
โ”œโ”€โ”€ am/
โ”œโ”€โ”€ conf/
โ”œโ”€โ”€ graph/
โ”œโ”€โ”€ ivector/
โ””โ”€โ”€ README
Goal Recommended model
Best French recognition French Vosk model
Best English recognition English Vosk model
Mixed usage Multilingual Vosk model
Both languages Set primary + secondary via env vars

โ–ถ๏ธ Launch

python main.py

On startup, JARVIS:

  1. Initializes the Qt HUD interface
  2. Selects the best Windows microphone
  3. Loads Windows SAPI speaker
  4. Loads the active profile
  5. Optionally runs onboarding
  6. Enters standby mode โ€” waiting for your wake word

๐Ÿ–ฅ๏ธ Desktop Controls

Button Action
FR Lock replies to French
EN Lock replies to English
AUTO Follow the language of the current request
STARTUP Toggle Windows auto-launch at login
GitHub icon Open the project GitHub page

๐Ÿ“ฆ Standalone EXE Build

powershell -ExecutionPolicy Bypass -File .\build_exe.ps1

Output:

dist/Jarvis.exe

The build bundles the full app, Vosk model, native DLLs, and icon into a single portable binary โ€” no Python installation required on the target machine.


๐Ÿงฌ First Run & Onboarding

On a fresh profile, JARVIS starts with a bilingual voice introduction (EN + FR) and asks you to choose your preferred language. That choice persists in your profile.

Onboarding collects:

  • Your name
  • Personality mode (serieux / drole)
  • Startup briefing preference
  • Auto-news preference
  • PC surveillance preference

Every answer goes through a confirmation step โ€” JARVIS repeats what it heard, and you confirm with oui or reject with non.

To trigger onboarding later:

lance la configuration
configure mon profil
refais la configuration

๐Ÿ’ฌ Command Reference

๐Ÿ”” Wake & Control
Jarvis / reveille-toi / wake up
Jarvis ouvre Chrome
stop / silence / arrete
merci / au revoir / ferme-toi
๐ŸŒ Language
parle francais / speak french
parle anglais / speak english
langue auto / language auto
๐Ÿ“‚ Apps, Sites & Folders
ouvre Chrome / open Chrome
ouvre Telegram / ouvre Steam / ouvre Word
ouvre mes documents / ouvre mes telechargements
ferme Telegram
installe Discord / install Spotify
prepare mon travail
๐Ÿ”Š Audio, Display & Capture
augmente le volume / diminue le volume
volume a 35 / quel est le volume
augmente la luminosite / luminosite a 60
capture d'ecran / take a screenshot
enregistrement video / record video
capture vocale
๐Ÿ’ป System
verrouille l'ecran
mets le pc en veille
redemarre le pc
eteins le pc dans 5 minutes / annule l'arret
mode sombre / mode clair
statut du systeme / system status
mon cpu tourne a combien
j'ai combien de ram dans mon pc
๐Ÿ“ Productivity & Files
note ca : acheter du pain
ajoute la tache appeler maman
affiche mes taches
rappelle-moi de boire de l'eau dans 10 minutes
ajoute rendez-vous demain 15h dentiste
agenda aujourd'hui
cree un pdf / cree un CV / cree une facture
cree un fichier Word / cree un dossier Travail sur le bureau
quand je dis mode travail, fais ouvre chrome puis ouvre vscode
๐ŸŒ Information & Utilities
quelle heure est-il / what time is it
quelle est la meteo / meteo a Montreal
recherche Albert Einstein / cherche la relativite
actualites / prix du bitcoin
donne-moi un resume de l'histoire de Napoleon
tell me about Alan Turing
choisis entre cafe et the
๐Ÿ–ผ๏ธ Image Generation
genere une image de chat bleu
create an image of a blue cat
une image de crevettes qui mangent du chewing-gum
[follow-up] un animal / de style cartoon / with sunglasses
๐ŸŽฎ Modes & Automation
mode gaming / mode dev
mode assistant quotidien
dashboard / mise a jour
active le mode conversation continue

๐ŸŒ Language Support

Feature Status
French commands โœ… Full support
English commands โœ… Full support
Mixed AUTO mode โœ… Language-aware routing
French voice recognition โœ… Best with French Vosk model
English voice recognition โœ… Best with English or multilingual model
Dual-model recognition pass โœ… Optional via JARVIS_SECONDARY_MODEL_PATH

Note: Command routing is fully bilingual. Recognition quality depends on the Vosk model you install.


๐Ÿ”ง Environment Variables

Variable Purpose Example
JARVIS_MIC_GAIN Software mic gain multiplier 2.5
JARVIS_MIC_DEVICE Force a specific mic by index or name Realtek
JARVIS_MODEL_PATH Primary Vosk model path C:\Models\vosk-model-fr
JARVIS_SECONDARY_MODEL_PATH Secondary Vosk model (optional dual-pass) C:\Models\vosk-model-en
$env:JARVIS_MODEL_PATH="C:\Models\vosk-model-fr-0.22"
$env:JARVIS_SECONDARY_MODEL_PATH="C:\Models\vosk-model-small-en-us-0.15"
python main.py

๐Ÿค– Optional AI Layer

JARVIS uses local logic first. The AI layer activates only when a command is meaningful but unmapped locally.

Use case Handled by
Common commands & system actions Local router (always)
Open-ended questions & explanations AI layer (optional)
Translation requests AI layer (optional)
Partial command recovery AI layer (optional)

Guardrails in place:

  • JARVIS will not identify itself as ChatGPT or OpenAI
  • Image requests prefer the local image path
  • Short follow-ups use recent context before falling back
  • Raw JSON technical dumps are suppressed in recovery mode

๐Ÿ› ๏ธ Troubleshooting

Jarvis hears itself / reacts to its own voice

JARVIS clears the recognition buffer while SAPI is speaking and keeps a guard window after speech ends. If echo still triggers commands:

  • Lower speaker volume
  • Use a headset
  • Move the mic away from speakers
Listener crashed with "Failed to process waveform"

JARVIS auto-resets the recognizer and restarts mic streaming. If this recurs:

  • Lower JARVIS_MIC_GAIN
  • Reduce Windows mic input gain
  • Try another device via JARVIS_MIC_DEVICE
  • Use a headset mic
Wrong reply language

Use the FR / EN / AUTO buttons in the UI, or say:

parle francais / parle anglais / langue auto
App or site does not open

JARVIS uses explicit aliases โ†’ shortcut indexing โ†’ fuzzy match โ†’ web fallback. Make sure the app has a Start Menu shortcut or a known URI handler. Built-in aliases include: Telegram, Steam, Discord, Spotify, Word, Excel, PowerPoint, VLC, OBS, Parsec, Rocket League.

Brightness does not change

External monitors typically block software brightness control. This works best on laptop displays.

g4f fails

All local commands remain available. g4f provider instability does not affect local routing.


๐Ÿ”ฎ Roadmap

  • Microphone selector directly in the UI
  • Persistent reminders across full restarts
  • Cleaner command plugin/extension system
  • Improved browser automation
  • Richer document templates (CV, invoice, report)
  • Better natural dialogue memory across longer sessions

โš ๏ธ Known Limitations

  • Windows only โ€” no macOS or Linux support
  • No automatic speaker recognition yet
  • AI layer depends on third-party g4f provider availability
  • Some app launches require a Start Menu shortcut or URI handler
  • Game Bar recording depends on Windows configuration
  • Software brightness control limited on external monitors

๐Ÿ“œ Credits

Creator benzoXdev
Speech Recognition Vosk
Voice Synthesis Windows SAPI
UI Framework PySide6 / Qt
UI Inspiration Siri ยท Iron Man JARVIS HUD
Optional AI g4f



JARVIS โ€” because your PC deserves a voice.

About

๐ŸŽ™๏ธ Local-first AI voice assistant for Windows โ€” bilingual FR/EN, profile memory, desktop control, modern HUD interface & standalone .exe

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors