Skip to main content

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

  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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vr_gesture_drum_trainer_tools-1.0.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vr_gesture_drum_trainer_tools-1.0.0-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file vr_gesture_drum_trainer_tools-1.0.0.tar.gz.

File metadata

File hashes

Hashes for vr_gesture_drum_trainer_tools-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ea3bda0732b8275e991dae13c821083a9bd94ccf1766a715c2a3fd57c68f4073
MD5 d9c1f25178a2e4738b8b67c765f82993
BLAKE2b-256 0ec6289079ca3ddab4a30944552c8e3a9ec73f517558fd69e80bb33066aa9a4e

See more details on using hashes here.

File details

Details for the file vr_gesture_drum_trainer_tools-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for vr_gesture_drum_trainer_tools-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a1f932a82041996a27573051c265ba0bfb711a77d13b1b9dc6a0321c4170d97
MD5 904f75d9e589bd82e03f7f94dc66f657
BLAKE2b-256 41a538d84c09bd6fb8c87b71f399c1c2bf663ca0877841a3130dd0c3aa13c326

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page