Skip to main content

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

  1. Clone the repository:

    git clone https://github.com/yourusername/vr-gesture-drum-trainer.git
    cd vr-gesture-drum-trainer
    
  2. Open in Unity (2022 LTS or later) with Meta XR SDK installed

  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Build and deploy to Quest 3:

    unity -quit -batchmode -buildTarget Android -executeMethod BuildScript.Build
    

Usage

Starting a Lesson

  1. Launch the app on your Quest 3
  2. Select a lesson from the main menu (Assets/Scenes/MainMenu.unity)
  3. Follow the animated gesture trails with your hands
  4. 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)

Source distribution for vr-gesture-drum-trainer-tools 1.0.0
File Size Uploaded
vr_gesture_drum_trainer_tools-1.0.0.tar.gz 3.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vr-gesture-drum-trainer-tools 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page