VR Gesture Drum Trainer
Learn drumming through spatial muscle memory in VR before graduating to your real drum kit.
What is this?
VR Gesture Drum Trainer is a rhythm training application for Meta Quest 3 that teaches fundamental drumming patterns through hand-tracked gesture following. Players pursue animated gesture trails in 3D space, building coordination and muscle memory in a low-stakes, gamified environment. It bridges the gap between "no drumming experience" and "ready to play Phantom Rack," capitalizing on Quest 3's improved hand tracking and the growing market demand for skill-building rhythm games.
Features
- Hand-tracked gesture following – Follow floating 3D trails using precise hand tracking
- Progressive lesson system – Structured curriculum from basic patterns to complex combinations
- Real-time accuracy feedback – Instant scoring on timing, spatial precision, and consistency
- Spatial muscle memory – Build coordination through repetition in 3D space
- Ready-to-graduate path – Transition smoothly to Phantom Rack or other VR drum instruments
- Quest 3 optimized – Leverages latest hand tracking hardware for responsive gameplay
Quick Start
Installation
-
Clone the repository:
git clone https://github.com/yourusername/vr-gesture-drum-trainer.git cd vr-gesture-drum-trainer
-
Open in Unity (2022 LTS or later) with Meta XR SDK installed
-
Install dependencies:
pip install -r requirements.txt
-
Build and deploy to Quest 3:
unity -quit -batchmode -buildTarget Android -executeMethod BuildScript.Build
Usage
Starting a Lesson
- Launch the app on your Quest 3
- Select a lesson from the main menu (
Assets/Scenes/MainMenu.unity) - Follow the animated gesture trails with your hands
- Receive real-time accuracy scores and feedback
Lesson Structure
Lessons are defined in JSON (e.g., Assets/Resources/Lessons/lesson_01.json):
{
"id": "lesson_01",
"name": "Basic Grip",
"difficulty": 1,
"patterns": [
{
"gesture": "vertical_tap",
"hand": "both",
"duration": 2.0,
"target_height": 1.5
}
]
}
Core API
GesturePattern – Defines a single drumming motion:
GesturePattern pattern = new GesturePattern(
gestureType: "tap",
targetPosition: new Vector3(0, 1.5f, 0),
duration: 1.0f
);
AccuracyTracker – Scores player performance:
float score = accuracyTracker.CalculateAccuracy(
detectedPosition: handPosition,
targetPosition: patternTarget,
timingOffset: deltaTime
);
HandPoseDetector – Recognizes hand positions and gestures via Quest tracking:
HandPose pose = handPoseDetector.DetectPose(Hand.Right);
Tech Stack
- Engine: Unity 2022 LTS
- VR Platform: Meta Quest 3 (Oculus XR)
- Hand Tracking: Meta Hand Tracking SDK
- Scripting: C#
- Lesson Data: JSON
- Build/Config: Python
Project Structure
Assets/
├── Scenes/
│ └── MainMenu.unity
├── Scripts/
│ ├── Core/
│ │ ├── LessonManager.cs
│ │ ├── GesturePattern.cs
│ │ └── AccuracyTracker.cs
│ ├── HandTracking/
│ │ └── HandPoseDetector.cs
│ └── Visualization/
│ └── GestureTrail.cs
└── Resources/
└── Lessons/
├── lesson_01.json
└── lesson_02.json
License
MIT
Questions? See OVERVIEW.md for design philosophy and MONETIZATION.md for business strategy.
Release files for vr-gesture-drum-trainer-tools 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vr_gesture_drum_trainer_tools-1.0.0.tar.gz | 3.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vr_gesture_drum_trainer_tools-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.5 kB
Release files / vr_gesture_drum_trainer_tools-1.0.0.tar.gz
| Download URL | vr_gesture_drum_trainer_tools-1.0.0.tar.gz |
|---|---|
| Size | 3.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea3bda0732b8275e991dae13c821083a9bd94ccf1766a715c2a3fd57c68f4073
|
|
BLAKE2b-256 checksum How to use checksums |
0ec6289079ca3ddab4a30944552c8e3a9ec73f517558fd69e80bb33066aa9a4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / vr_gesture_drum_trainer_tools-1.0.0-py3-none-any.whl
| Download URL | vr_gesture_drum_trainer_tools-1.0.0-py3-none-any.whl |
|---|---|
| Size | 3.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a1f932a82041996a27573051c265ba0bfb711a77d13b1b9dc6a0321c4170d97
|
|
BLAKE2b-256 checksum How to use checksums |
41a538d84c09bd6fb8c87b71f399c1c2bf663ca0877841a3130dd0c3aa13c326
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|