Interactive Audiovisual Sequencer
"People Watching" is a realtime interactive audiovisual sequencer built in Unity and using ChucK for audio processing.
Inspired by the almost-conflicting senses of solitude and sonder of a city at night, the visualizer features a city block populated by tiny pixelated scenes of everyday life, peacefully looping forever through whatever simple melody the user creates.
This project was created as a solo project for Stanford's CS 476A over a time period of 2 weeks.
This project began with the prompt to create an interactive audiovisual sequencer in Unity and ChucK that allows users to interact with the tool to form looping music sequences.
My initial brainstorms centered on dynamic, ephemeral ideas that veered closer to interactive art installations than to interactive toys.
My favorite brainstorm, however, was the idea of a city block with rows of windows representing the notes and a small person as the looping playhead. I was heavily inspired by infinitely looping low-fi music loops on YouTube, and wanted to create a more thorough experience that provides a sense of comfort to the user beyond just the audio sequence.
I explored this idea through my first prototype, where I focused on the functionality: creating 5 rows of 8 windows that represented 5 notes. The user can navigate through windows using the arrow keys and toggle them on or off using the space bar, and the playhead loops forever through the 8 frames.
This first test in functionality gave me a solid foundation to then play around with creating a strong visual design for the project. In working towards my goal of a visual experience that offered comfort, peace and a nostalgic feeling, I opted for 8-bit inspired pixelated graphics.
I created all the pixelated visuals by hand, including drawing the buildings and a variety of windows that are randomly chosen when a note is "turned on"
In my final product, I combined my custom graphics with the functionality to bring the scene to life. Some key changes in the functionality that I implemented included increasing the number of frames from 8 to 16, allowing users to create longer looping sequences, and added a second sound mode so users could choose between a melodic 5-note C scale and a set of percussive sounds.
Users can toggle between the two sound modes using the 'm' key. To set up the looping sequences, users can navigate through the windows with the arrow keys and toggle them on/off using the space key. The biker on the sidewalk at the bottom of the screen acts as an infinitely looping playhead, allowing users to set up a sequence then let it play while reading, studying, or engaging in another activity.
This project was an exciting exploration into learning how to sync between ChucK and Unity, and I received much positive feedback about the intuitive functionality and the clean, highly-refined visuals that create an immersive, reflective experience.