Python utilities for VR Gesture Drum Trainer - lesson generation, pattern validation, and Phantom Rack export tools
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vr_gesture_drum_trainer_tools-1.0.0.tar.gz.
File metadata
- Download URL: vr_gesture_drum_trainer_tools-1.0.0.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea3bda0732b8275e991dae13c821083a9bd94ccf1766a715c2a3fd57c68f4073
|
|
| MD5 |
d9c1f25178a2e4738b8b67c765f82993
|
|
| BLAKE2b-256 |
0ec6289079ca3ddab4a30944552c8e3a9ec73f517558fd69e80bb33066aa9a4e
|
File details
Details for the file vr_gesture_drum_trainer_tools-1.0.0-py3-none-any.whl.
File metadata
- Download URL: vr_gesture_drum_trainer_tools-1.0.0-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a1f932a82041996a27573051c265ba0bfb711a77d13b1b9dc6a0321c4170d97
|
|
| MD5 |
904f75d9e589bd82e03f7f94dc66f657
|
|
| BLAKE2b-256 |
41a538d84c09bd6fb8c87b71f399c1c2bf663ca0877841a3130dd0c3aa13c326
|