ββββββ βββ ββββββββββ ββββββ
βββββββββββ βββββββββββββββββββ
βββββββββββ βββββββββββββββββββ
βββββββββββ βββββββββββββββββββ
βββ βββββββββββββββ ββββββ βββ
βββ βββ βββββββ βββ ββββββ βββ
One Python file. Your webcam becomes the mouse. Your microphone becomes the keyboard.
Install Β· Gestures Β· Voice Commands Β· Dictation Β· Docs Β· Troubleshooting
AURA turns any Windows PC into a touchless machine:
| ποΈ Hands (webcam) | ποΈ Voice (microphone) |
|---|---|
| Move the cursor with your index finger | Open any app: "open chrome" |
| Pinch to click, hold pinch to drag | Press any hotkey: "press control shift escape" |
| Two fingers to scroll | Full dictation, word-by-word or letter-by-letter |
| Swipe 3 fingers β switch virtual desktop | Spoken punctuation: "comma" β , "dot" β . |
| β Fist β close app Β· π€ Pinky β minimize | Window control, volume, media, screenshotsβ¦ |
| ππ Thumbs β volume | π§ smart fuzzy matching β close enough = it works |
| β¨οΈ AIR KEYBOARD β type on a floating keyboard with your fingers | π 8 languages, switch LIVE: just say "spanish" |
- β¨οΈ Air Keyboard β say "keyboard" (or press
K): a keyboard floats on the camera. Hover a key with your index finger, touch index+middle together (or pinch) to press it. Shift, numbers, backspace, enter β all there. - ποΈ EASY / NORMAL / PRO modes β EASY only has cursor+click+scroll (nothing destructive, perfect to start). PRO unlocks fist-close and desktop swipes and reacts faster. Cycle with
Mor say "pro mode". - π Live language switching β say "spanish" / "habla espaΓ±ol" or press
Lto cycle: English, Spanish, Catalan, French, German, Italian, Portuguese, Arabic. - π§ Smart command matching β slightly-off phrases still hit the right command (fuzzy AI-ish matching, tune with
FUZZY_MATCH). - π‘οΈ Gesture stabilization β a gesture must hold for several frames before firing. No more ghost-triggers from a twitchy hand.
- β‘ Zero-freeze engine β the mouse now uses the native Windows API and every slow action runs on a worker thread. The camera never drops a frame while you click and drag.
All of it runs locally from a single file: aura.py. No accounts, no telemetry, no nonsense.
Requires Python 3.10 β 3.12 (mediapipe doesn't support 3.13+ yet) and Windows 10/11.
git clone https://github.com/moha20299ea-blip/AURA.git
cd AURA
install.batThat's it. install.bat creates a virtual environment and installs everything.
Manual install:
py -3.12 -m venv .venv
.venv\Scripts\pip install -r requirements.txtVerify everything works (no camera/mic needed):
.venv\Scripts\python aura.py --self-testrun.bator:
.venv\Scripts\python aura.py # full experience
.venv\Scripts\python aura.py --mode easy # chill preset (default: normal)
.venv\Scripts\python aura.py --mode pro # unlock everything
.venv\Scripts\python aura.py --lang es-ES # hΓ‘blale en espaΓ±ol
.venv\Scripts\python aura.py --no-camera # voice only
.venv\Scripts\python aura.py --no-voice # gestures only
.venv\Scripts\python aura.py --no-preview # hide the camera window
.venv\Scripts\python aura.py --quiet # AURA stops talking back| Key | Action |
|---|---|
K |
air keyboard on/off |
M |
cycle EASY β NORMAL β PRO |
L |
cycle language |
P |
pause gestures |
Q |
quit |
| Hotkey | Action |
|---|---|
Ctrl Alt G |
toggle gesture control |
Ctrl Alt V |
toggle voice control |
Ctrl Alt Q |
quit AURA |
Show one hand to the camera. The HUD shows what AURA sees in real time.
| Gesture | Action | Mode |
|---|---|---|
| βοΈ Index finger only | Move cursor (smoothed, buttery) | easy+ |
| π€ Pinch thumb + index | Left click β hold the pinch to drag | easy+ |
| βοΈ Index + middle | Scroll up / down | easy+ |
| ποΈ Open palm, hold 1s | Pause / resume gesture control | easy+ |
β¨οΈ Air keyboard (K or say "keyboard") |
Type with your fingers | easy+ |
| π€ Pinch thumb + middle | Right click | normal+ |
| π€ Pinky only | Minimize window | normal+ |
| π Thumbs up / π down | Volume up / down | normal+ |
| β Fist, hold 1.4s | Close window (Alt+F4) β HUD shows a countdown | pro |
| π€ Index + middle + ring, swipe β β | Switch virtual desktop | pro |
Gestures are stabilized: a pose must hold for a few frames before it counts, so random hand shapes can't trigger anything by accident.
π Full details + tuning tips: docs/GESTURES.md
Just talk. No wake word needed. Examples:
"open chrome" "open spotify" "open task manager"
"close window" "minimize" "maximize"
"next desktop" "new desktop" "show desktop"
"switch app" "snap left" "snap right"
"volume up" "mute" "next song"
"screenshot" "lock pc" "select all"
"copy" "paste" "cut" "undo" "save"
"new tab" "close tab" "refresh"
"scroll down" "click" "double click"
"search for hand tracking python"
"type hello world"
Say "press" + the keys:
"press control c" β Ctrl+C
"press windows e" β Win+E (explorer)
"press alt tab" β Alt+Tab
"press control shift escape" β Ctrl+Shift+Esc (task manager)
"press windows shift s" β snipping tool
"press f5" β F5
πͺπΈ Spanish works too: "abre chrome", "cierra la ventana", "sube el volumen", "pulsa control c"β¦
Say the language name (or press L on the camera window):
"spanish" / "espaΓ±ol" "english" "catalan" / "catalΓ "
"french" "german" "italian"
"portuguese" "arabic"
"easy mode" β only cursor, click, scroll, air keyboard (nothing scary)
"normal mode" β + right click, minimize, volume
"pro mode" β + fist-close, desktop swipes, faster reactions
π Every command: docs/VOICE_COMMANDS.md
Click into any text box and say "dictation mode":
You say:
hello world comma this is aura dot amazing question markAURA types:hello world, this is aura. amazing?
Need to spell something weird (passwords, usernames, code)? Say "letter mode":
You say:
a u r a dot p yβ AURA types:aura.py(letters glued together automatically β juntos π€)
| You say | AURA types |
|---|---|
comma / coma |
, |
dot / period / punto |
. |
question mark |
? |
open interrogation |
ΒΏ |
exclamation |
! |
at sign / arroba |
@ |
hashtag |
# |
underscore |
_ |
new line |
β Enter |
space / espacio |
β£ |
delete that |
deletes last word |
command mode |
back to commands |
NATO alphabet works in letter mode too: "alpha uniform romeo alpha" β aura ποΈ
βββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββββββ
β webcam β βββΊ β MediaPipe Hands β βββΊ β 21 hand landmarks β βββΊ gestures β pyautogui
βββββββββββββββ β (Google AI) β β @ ~30 fps β
ββββββββββββββββββββ βββββββββββββββββββββββ
βββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββββββ
β microphone β βββΊ β SpeechRecognitionβ βββΊ β command parser / β βββΊ actions β keyboard
βββββββββββββββ β (Google STT) β β dictation engine β
ββββββββββββββββββββ βββββββββββββββββββββββ
- Gestures run on the main thread (OpenCV window + HUD), voice runs on a background thread, and every slow action (hotkeys, typing, opening apps) runs on a third worker thread β nothing ever blocks the camera.
- The mouse talks directly to the Windows API (
SetCursorPos/mouse_event) β instant, zero per-call overhead. - Cursor movement is exponentially smoothed and scale-invariant (pinch detection is relative to your hand size, so it works near or far from the camera). Pinches use hysteresis (close at one threshold, open at another) so clicks never flicker.
- Gesture classification is stabilized over multiple frames β a pose has to persist before it becomes active.
- Every destructive action (β close window) is PRO-mode only and has a hold timer + cooldown so nothing fires by accident.
- Tweak everything in the
CONFIGdict at the top ofaura.pyβ sensitivity, language, your own app aliases, hold timesβ¦
| Problem | Fix |
|---|---|
pip install fails on mediapipe |
You're on Python 3.13+. Install 3.12: winget install Python.Python.3.12 |
| PyAudio fails to build | pip install PyAudio β₯ 0.2.14 ships wheels β upgrade pip first |
| Voice doesn't respond | Speech uses Google's free API β needs internet. Check your mic in Windows settings |
| Cursor too jumpy / too slow | Tune SMOOTHING in CONFIG (lower = smoother) |
| Clicks fire too easily | Raise PINCH_THRESHOLD slightly |
| Camera is black | Try python aura.py --camera 1 |
More fixes: docs/TROUBLESHOOTING.md
- β¨οΈ Air keyboard β type with your fingers (v2)
- π Live multi-language switching (v2)
- ποΈ Easy / Normal / Pro modes (v2)
- π Offline speech recognition (Vosk / whisper.cpp)
- βοΈβοΈ Two-hand gestures (zoom, rotate)
- π§© Custom gesture β action mapping from a JSON file
- π§ Linux support (great with Anlight OS π)
- π― Eye-tracking assist mode
- π£οΈ Wake word ("hey aura")
PRs welcome! Read CONTRIBUTING.md, open an issue, or just fork it and go wild.
MIT β do whatever you want, just keep the credit. π
If AURA blew your mind, drop a β β it's free and it makes my day.
Built with ποΈ + ποΈ + π by the Aegis Raid / Anlight OS crew.