Inspiration

As an electronic music producer, I love the process of making music, but it requires many solitary hours staring at a computer screen. I wanted to create a music maker that would allow people to create concepts and beats for tracks in a more physical and intuitive way.

My goal was to mirror the experience of playing an instrument, where you are reaching for different objects, and moving your body with the music. The mixed reality environment makes it possible to create a beat with another friend in the room, or play a real-life instrument along with GEOGROOVE.

What it does

GEOGROOVE is a looper that can record three different percussive or melodic layers to be played back during a songwriting or music session. It uses 3D shapes for percussive sounds, and a 2D grid for a theremin bass effect.

How we built it

I used Unreal Engine along with the Meta Presence Platform and XR tools to build this project. I also incorporated assets built using Blender and Krita.

The mixed reality setup makes it possible to build an experience where you can use this tool while playing another instrument, or making music with a friend.

I was able to easily incorporate hand tracking using the Oculus XR Hand component, which allowed me to make an experience that was completely controller-free. This is great for musicians that want to be able to play another instrument along with GEOGROOVE.

Given the complexity of a virtual beat maker, I made sure to keep the art style minimalistic, by using simple shapes and shading.

Challenges we ran into

The biggest challenges involved reducing latency during the loop process. I was able to accomplish this with a Metasound feature that makes it possible to trigger the next loop WAV file right before the previous one has ended.

It was also difficult to strike a good balance of a system that is complex enough to be able to create a full beat, but simple enough to be easy to learn.

Accomplishments that we're proud of

I've already been able to use GEOGROOVE to draft some melodies and songs with friends, and am happy to have a new music making tool.

What we learned

I’ve experimented with a variety of ‘instrument-making’ methods in the past using percussive systems, but wanted to try building recording looper, as well as a theremin. I learned about Metasounds, which is a high-performance audio system that can be used in gameplay. It made it possible to do basic sound synthesis, and create a theremin where wave and effects (flanger) can be controlled based on toggles and position. I setup a looping system in Metasounds, which has some methods to avoid latency issues when looping WAV samples. I paired this with an in-game recording system to be able to record a loop using either the theremin or virtual drums. I was able to include functionality to save these recorded files to the headset, for musicians to be able to export and edit on their desktop DAW.

What's next for GEOGROOVE

I plan to continue to build out this platform, to add more features and make it easier to quickly build loops of different BPMs, instruments, and lengths. I'd like test out a sequencer option to make it easier to quantize timing. This could also be used in a live event setting, to be paired with other visuals or instruments.

Built With

Share this project:

Updates