Control your DAW with hand gestures.
Aether is a desktop application that uses computer vision to track your hand movements and translate them into OSC (Open Sound Control) messages, allowing you to control music software like Ableton Live, Bitwig, or Logic Pro without touching your computer.
electron/: Main process handling system integration and the OSC/WebSocket bridge.dashboard/: React-based user interface for gesture monitoring and configuration.cli/: Command-line tool for interacting with the Aether server.www/: Project landing page.
- Bun (recommended) or Node.js
- A webcam for hand tracking
- A DAW that supports OSC (e.g., Ableton Live with TouchOSC or similar bridge)
-
Clone the repository:
git clone https://github.com/mergemat/aether.git cd aether -
Install dependencies:
bun install
-
Run in development mode:
bun run dev
To create a production build for your platform:
# macOS
bun run dist:mac
# Windows
bun run dist:win- Detection: The Dashboard uses your webcam and MediaPipe to detect hand landmarks.
- Bridge: Hand data is sent via WebSockets to the Electron main process (Port
8888). - Translation: The Electron process translates these gestures into OSC messages.
- Control: OSC messages are sent to your DAW (Port
7099by default) to control MIDI CC or other parameters.
┌────────────┐
│ Webcam │
└─────┬──────┘
│ Video Stream
v
┌────────────┐
│ Dashboard │ (React + MediaPipe)
│ Frontend │
└─────┬──────┘
│ WebSocket (Port 8888)
v
┌────────────┐
│ Electron │ (OSC Translation)
│ Backend │
└─────┬──────┘
│ OSC (Port 7099)
v
┌────────────┐
│ DAW │ (Ableton, Bitwig, etc.)
└────────────┘
- Framework: Electron
- Frontend: React + Vite
- Tracking: MediaPipe
- Styling: Tailwind CSS + shadcn/ui
- State Management: Zustand
- Communication: node-osc, ws
MIT
