I am currently developing Star Trails, a music visualization that takes inspiration from long exposure night time photography of stars, whose light trails record the rotation of the earth. Star Trail’s animated nighttime landscape is an abstract representation of music and a celebration of pattern and repetition.
An example of star trail photography
I started this project over the summer, and tapped fellow ITP-er Jason Sigal to help as my understanding of music and sound is limited. The project is a collaborative one with both of us contributing with the coding while I am taking the lead on visuals and concept.
There have been many challenges with this project, challenges perhaps universal to music visualizing in general:
- Difficulties in choosing a song to visualize as it must be something that changes dramatically enough for visual mapping to register. Most pop songs don’t have significant changes in volume and beat but repeat constantly.
- Visualizing a song available in public domain means using a song that is not personally connected to the project and concept besides having been randomly found on the internet
- Having one scene that changes with music (in essence, constant visuals) means quick boredom with the visualization. How much must a music visualization change over time to remain interesting?
Now back at ITP, I have been continuing work on the project, but finally came to the conclusion that the only way to make the visualization dynamic will be to make it interactive. This means moving away from the initial concept of a static music visualization passively watched and instead, use the Tone.js library to create a generative soundscape. The animation will no longer be drawn over the course of the song, but rather be an animated night-time scene waiting for a user to arrive and “play the universe.”
All of the star trail arcs will have mouse interaction applied so that when a user drags the mouse over a star trail, the star trail line will be taut like a guitar string and when let go, will oscillate and generate a tone. I am thinking of the sky as a musical instrument waiting to be played. Each arc could represent a different note to be played based on an established scale, and when triggered, is added to the melody for the duration the line oscillates.
When the user arrives to Star Trails, only a few tones are being generated by the soundscape. A few star trail arcs will oscillate and a wavy ocean landscape will gently move to changes in tones. As the user moves star trail arcs, they oscillate and their tones are added to the soundscape/melody. The user can remove tones by pressing down once on an oscillating star trail arc. The user would generate the soundscape by turning tones on and off by activating the star trails. This could lead to a totally crazy soundscape if the user turns “on” all the star trail arcs, or something more pleasant if only a few tones are added to the melody. (Drawing inspiration from the user interaction of subway lines in the Sonified Subway Map.)
The length of the star trail arc that is activated would be the length of the note. If many long star trail arcs are activated, the tempo of the piece is slow. If many short star trail arcs are activated, the tempo speeds up. The colors of the star trail arcs will be gradients of bright, poppy tones that will slightly oscillate and sparkle. It might be fun to include a scattering of “stars” across the sky as well, sparkly circles that could potentially be spun around and moved to generate tones as well.
The landscape will be lines moving in a wave pattern and are another potential user interaction. If the tempo speeds up, the ocean waves become jagged mountainous terrain and the background gradient will flash wildly. Not entirely sure yet otherwise the amount of user interaction with the landscape. Perhaps mouse interaction with the landscape will generate one-off tones but these tones wouldn’t be added to the overall melody/soundscape.
For Code of Music, I will continue to think of ways to apply the concepts learned in class to develop Star Trails into a “play the universe” interaction!