Inspiration
I have always been fascinated by the intersection of audio and spatial presence. My initial concept was a technical tool for room acoustics, but I realized that wasn't fun. The spark for "Music Kaleidoscope" came when my son, a composer, introduced me to the work of Steve Reich.
I watched a breakdown of Reich’s technique (specifically the "Piano Phase" song) which described his music as a "kaleidoscope," where complex, beautiful patterns emerge from simple, repeated objects shifting slightly out of sync. I realized that VR and Mixed Reality are the perfect mediums to visualize this. In the real world, "phasing" is an abstract concept you hear in Mixed Reality, I could let users physically walk through the phase patterns, grab the sound waves with their hands, and "conduct" the chaos into order. It transformed a theoretical musical concept into a tangible, immersive entertainment experience.
What it does
Music Kaleidoscope is an immersive MR/VR instrument that turns your physical environment into a living musical canvas.
- Spatial Phasing: Users place "musical phrase modules" around their real-world room. As you move them, the loops drift in and out of sync, recreating Steve Reich’s famous "phasing" effect in real-time.
- Tactile Conducting: Instead of sliders or knobs, you use your hands to physically "stretch" the time between loops or "push" a phrase to speed it up.
- Room-Scale Composition: The app analyzes your physical space (walls, tables) and allows sounds to bounce and interleave on your actual space, creating a unique "room mix". It turns your living room into a generative symphony.
How we built it
I decided to bypass generic tools and go "100% Meta" to fully leverage the Presence Platform:
- Audio Engine: Initially I created my own temp player an array of audioclips where some would be played earlier while others would play on a delay, however, I wasn't crazy about it and frequent audioclips produce unwanted pops on the sound too. So after that I utilized the MIDI protocol for precise rhythmic control, driving a custom soundfont engine. This allows for zero-latency tempo shifts essential for the phasing effect. Needless to say I used the Meta XR Audio SDK
- Interaction: Built using Meta XR Interaction SDK. I mapped hand gestures (pinching, pulling) to MIDI clock data, allowing users to "scrub" through time physically.
- Mixed Reality: I used Meta MRUK Passthrough and Scene Understanding (AI). The app uses the headset's AI-driven scene reconstruction to identify physical surfaces, allowing users to anchor musical nodes to real-world objects (tables, walls), and also use the rooms accoustic signature ensuring the "holographic" music feels grounded in reality.
Challenges we ran into
The "Commercial" Soundfont Issue: Finding high-quality MIDI soundfonts that allowed for commercial use in a hackathon project was surprisingly difficult. I had to vet multiple libraries to ensure I could legally distribute the "Entertainment Experience" I envisioned.
Visualizing the Invisible: Translating the auditory concept of "phasing" into a visual language that didn't clutter the Passthrough view was tough. I had to balance UI with the user's view of their own room.
Accomplishments that we're proud of
- The app uses the actual room to recreate true reverb acoustics
- The volume of the audio rings playing is not based on audiosource volume but on actual MIDI key velocity, a piano will should more harse when played loud and more mellow when played in a quiter manner. That contributes to a good realism on the audio field.
- Performs steadily in 120fps and does things to audio that most Unity apps never heard of.
The "Aha!" Moment: The first time I successfully synced two audios (first engine) and then MIDI loops and manually "phased" them apart using a hand gesture was magical. It felt like holding time in my hands actually does work and brings joy to the user! I ended up playing with that rough prototype for more than 10 minutes.
What we learned
Although I'm experienced in VR all project I got into had already been setup to use generic tools and rarely Meta tools so I though that was a good oportunity to be 100% Meta! I knew a lot of staff in theoretical level but now I got my hands dirty and really dug in
- Meta XR Audio
- Meta XR Interaction
- MRUK (but still have A LOT to learn here)
What's next for Music Kaleidoscope
- VR Mode (mostly for Quest-2 devices)
- Save/Reset starting positions
- Gestures
- Virtual instruments that's big!. Imagine playing air guitar where the guitar actually slides, bends notes, does vibrato etc. I have experience ironing out VR gestures and I am confident of how great this will be ones I give it the love it deserves.
- Height calibration for better velocity scaling
- Spawining logic to accomodate room
- Add more people to the team: That is an essential part to make this work. I have great set of people I worked in the past that will work for this project but were not unavailable on such sort notice (I started on this project after #Unity2025 in Barcelona where I heared about it). I need to give the app a more specific visual identity and I know just the right people to do that.
- Virtual Piano Sequencer: A full "piano roll" editor where users can write their own Reich-style phrases.
- Cognitive3D Analytics: Implementing analytics to understand how users move through their musical creations and what problems they face, what actions are NOT achived on their first try.
- Market Release: Launching a free version to gather user feedback for A/B testing before a full store release at a real low price OR free + pay if you want some added feature.
- Break auto-soundfield idea as a separate asset to be used as a plug-in by other developers.

Log in or sign up for Devpost to join the conversation.