Oct 18th, 2021

256A HW2: "Yellow Sea" Visualizer by Kiran Gandhi

Yellow Sea Main

The inspiration for my visualizer "Yellow Sea" comes from the iconic West Coast view of the rays of the setting sun on the Pacific Ocean. I chose to use my song "Yellow Sea" for the demo because I never got the chance to do a music video for one of my own songs "Yellow Sea" and had always wanted to. The song is about basking in the rays of the sun, and was written as I watched the reflection of the sunset in the Pacific Ocean one day when I was in Los Angeles many years ago.

To that end, my visualizer depicts the ocean with the sun rising and setting, where time is represented by the rays of the sun, frequency is represented by the reflection of the sunlight in the water, and spectrum history is represented by the outward rippling effect of the reflected sunlight into the water. I chose to create two mirror images instances of the spectrum history for visually aesthetic purposes - I wanted the reflection of the sunlight to read as such, and the best way to achieve that was through mirroring the frequency histories on their sides in front of the sun on top of the water.

You can also view the videos here and here!

Other aspects of my visualizer that are interactive are flying the camera view left, right, up and down, by holding down shift and A, S, D or W depending on which direction you want to go. The idea is to feel immersed in the warmth of the sun at a proximity we would not be able to experience in real life. Finally, you will also notice over time that the color of the sky horizon changes slowly over time as the music plays, to represent different hours of the day over a full 24 hr cycle.

left view right view right view

I also loved experimenting with this top down view because it made the shape of the sun, its rays and reflection form a completely new object - a kind of interactive creature or building which was really cool.

right view

It took a lot of time to get the history visualization right for a few reasons - I had to figure out positioning, mirroring, transparency over the water, spacing, number of spectrums, and which layout read the most clearly as the "reflection" of the sun. I referenced a FlyCamera.cs script on github, as well as some other Unity scripts that outlined how to use certain commands like Quaternion and Color.lerp to facilitate design choices.

For my narrative, I wanted to generate "wave" sounds with white noise so the viewer feels we are immersed in an ocean setting. I then brought in the sound of gentle sound bowls becuase I enjoy healing frequencies and peaceful meditative nature sounds. Finally, as a percussionist, I wanted to include some percussion to show the way the sun and frequencies would react.

Thank you to Ge Wang, Kunwoo Kim, Kathleen Yuan, Andrew Zhou and Max Jardetzky for their input and feedback. Thanks to Ray Gifford for the inspiration to use white noise for the waves in my Narrative. Thanks also to my audience on social media who provided encouragement and real time feedback on what was reading and what wasn't, and to our class for feedback on Milestone 1.

I am running Unity on MacOS Big Sur v11.4.

Build can be found here.

You can find project files here!


Oct 10th, 2021

Artful Design HW2 Milestone 1

A summary of my current visualizer Rays 1.0.

Yellow Sea

My name is "Kiran" which in Hindi means "first ray of sunlight in the morning." Yellow, the sun, warmth and positivity have always been sources of inspiration for my music and message. To that end, I wanted to create a visualizer that felt earthy and organic.

You can also view it on YouTube here: https://youtu.be/la1R3KsZwFA

The first part of the creation was to have the sun rays react to the sound inputs. I started with one ray, got it to work, and then replicated several game objects as rays 0-8. I also created a more triangular shape for each ray so there was some element of tapering and form. I added a color gradient so the rays are more orange towards the end.

When I started playing with lighting, I found that dipping the lighting down in the x direction created this sun rise effect against the sky box world in the background (depicted below). I loved this and for magnitude spectrum/ history, I am looking at how to use the color gradient of the sky to symbolize frequency and some sort of moving time component. I also am looking to create a moon rising element for when the sky darkens. Would also want to come up with some cool user experience moment that uses the keyboard input. For the demo I will use my own music or voice to trigger the code but for the final narrative I will create something unique in ChucK.

Fat rays

I have a song called "Yellow Sea" which currently does not have a music video or too many visual options for my live show so it was fun to use the song for the demo for this piece. The lyrics go, "...Basking naked where the sun rays hit me...A yellow sea around me."

Below are some examples of different iterations of my sun rays as I was experimenting:

Single fat ray:

Fat rays

Map to multiple rays and create triangle shape:

Multiple rays

Thinning out the rays:

Thinner rays

Rays at rest:

Rays at rest

Rays reacting to sound:

Rays reacting to sound

Oct 6th, 2021

Progress Report:
I used the code in the starter package to start experimenting with what it would be like to have my sound waves be represented by multiple rays of the sun. I will use the sky preset as the world in which I am operating in and have the camera angle face the sun directly. It will be challenging to have the rays of the sun emanate in a symmetrical way but I will research online some clever ways to duplicate the wave forms and then crown them above the rising sun.

The first attempt at creating a sun ray that responds to sound input. The next attempt at creating a more aesthetically pleasing ray.

Oct 1st, 2021

Artful Design HW2 Part 1

A Response to Unity Tutorials & Initial Brainstorm of Visualizer

I really appreciated how the tutorial breaks down the step-by-step aspects of Unity through the instructions of building the game. The interface reminded me a lot of final cut or adobe for editing films with more panels and more corners to discover. Working in three-dimensions is new for me so that will be fun. I like also how we will have to use shapes like a rectangle or a sphere to represent and create shapes that "read" for whatever it is that we are programming.

My initial brainstorm for my visualizer is to make something that generates multiple claps over time. I'd like for my narrative (input sound) to use white noise to generate percussive sounds and for the visual to look like splashes, similarly to when a drummer plays drums covered in water. I'd like for the central colors to be yellow, orange and green. I'd like to use nature as a reference for the visualizer - either like the waves of the ocean rising up in tide with higher frequencies or louder volumes, or for the rays of the sun to get warmer with louder inputs. Movement over time can be represented by movement across a city or streets as the movement in nature responds to musical input (sun, waves, clouds, wind etc).

Fat rays