Strum the strings of this glowing, guitar-like instrument in VR, with a Leap Motion Controller to track the motion of your hands. You can perform songs you know from playing a real guitar, or create your own! No previous experience with a real guitar is required.
I have recorded several development update (#DevUp!) videos while building this app, which show progress and discuss various UI/UX challenges while working with VR.
Check out the entire playlist >
The app download (GuitarVR-2015-11-07.zip) contains:
- GuitarVR.exe: suggested build (Leap Motion Controller mounted on Oculus Rift)
- GuitarLeapOnly.exe: experimental build (Leap Motion Controller placed on a table)
- Does not contain additional instrument sounds! See "AudioPack" instructions below.
- Required: Leap Motion Controller, with runtime 2.3.1+
- Suggested: Oculus Rift DK2, with runtime 0.7+
The white spheres on the tips of your index fingers are your cursors. The right hand's cursor is for strumming the strings. The left hand's cursor is for selecting chords.
To strum a string, the cursor will need to be near to the string. Like a real guitar string, you'll need to move the cursor past the string to make it play a note. The strumming motion can be up/down, in/out, or in various diagonal motions.
To select a chord, move the cursor near to a chord button. The button labels show their root note (like C or A#). The chord you choose will stay selected until you choose another. You can move the cursor through the center of the chord-button ring without causing a new chord to be selected.
To change sounds, select the the "Sounds" menu button (below the chord selection area). The menu shows selections for each audio file present in the "GuitarVR_Data/StreamingAssets" folder. Select any sound in the list, and use the "Prev" and "Next" buttons (if necessary) to browse additional pages.
An advanced feature (and one that may change) is to switch between major and minor chords. To do this, move your left thumb toward your left palm. When the tip of the thumb crosses a threshold (roughly halfway along this motion), the chord type will change. You will see some strings change color, and of course, their notes will sound different when you play them.
If you're having trouble, please watch one of the "DevUp: VR Guitar" videos. These show a variety of strumming motions and playing techniques that might be helpful for you.
To add more instrument sounds:
- Download "AudioPack" files from http://zachkinstner.itch.io/vr-guitar
- Unzip the download into the "GuitarVR_Data/StreamingAssets" folder.
- You should see one or more "*.aif" audio files in this folder.
- Start (or restart) the "VR Guitar" application.
- The "Sounds" menu (below the chord selector) will contain a selectable item for each audio file in the "StreamingAssets" folder.
Available audio packs:
- Standard: A collection of my favorite instrument sounds. These are free to download, and everyone should have them!
- Source Files: This contains a GarageBand project and a MIDI file. Use these as templates for creating your own AudioPack files!
- Real Instruments: 12 additional "real" sounds...
- Bass Fingerstyle
- Bass Picked
- Bass Upright
- Guitar Clean B
- Guitar Roots
- Guitar Steel B
- Mallet Bells
- Mallet Glockenspiel
- Mallet Marimba
- Piano Electric
- Piano Grand Steinway
- Piano Swirling
- Synth Instruments: 11 additional "synth" sounds...
- Synth Bass Eighties
- Synth Bass Electric
- Synth Bass Funk
- Synth Bass Metro
- Synth Brass Pulse
- Synth Chords Organ
- Synth Lead Festival
- Synth Massive
- Synth Melody
- Synth Piano FM
- Synth Square Bells
Check out the latest "DevUp" video to hear samples from each of these instruments!
Audio Packs to get more sounds!
Sometimes, the hands "curl up" when playing for a few minutes at a time. Often, you can open your hand wide and move it around a bit, to give the Leap Motion a clear view of your hand You can also try moving your hand entirely out of the scene, then bringing it back in again.
The Leap Motion controller works best in low-to-medium lighting conditions, and in environments that don't have much clutter or reflective surfaces around. It also helps to remove rings, watches, and other items from your hands.