Task:
Design and implement an interactive exploration of rhythm.
Final Result:
Web Editor Link: https://editor.p5js.org/alexwang/present/pV11W3WM
Video:
Inspiration and concept:
As I was first brainstorming for the project I wanted to create some variation of a regular drum sequencer, however, I could not think of any design that I have not seen before. I am also in a game development class where I am working on object oriented programming, so I took the drum sequencer and applied it to floating objects on the canvas as opposed to blocks that does not move. Just like the drum sequencer, objects can be triggered to play a note at a given time. But what is different is that now all the notes are scrambled and traveling across the screen for more appealing visuals and randomness in pattern.
Description of your main music and design decisions:
I produce electronic music as a hobby so I decided to use one of my own songs for this project, this gives me the advantage of having access to all the independent stem files so I can isolate the sounds and play them in a different order than the original mix. This allowed interaction with the user, as the song will only progress if there is interaction. If the player decides to not interact with the program, the song will just loop the current patterns and not progress to more intensity. Some more design decisions includes the usage of color and size when creating the objects, I made the graphics more appealing by stacking layers of translucent ellipses and also adjusting the visibility of objects when they are close to triggered objects or the users mouse. A different color is given to each percussion instrument as well as different sizes depending on the step of the note(quarter notes and eighth notes are bigger), this guides the user to click less on sixteenth notes which is likely to produce a rhythm that sounds “off” without the accompaniment of notes on the downbeat.
Overview of how it works:
The project starts by displaying an intro animation of titles and quotes, after the user presses space bar the music will grow in intensity and drum beats will be introduced. The user interacts with objects on the screen by mouse clicking to create their own unique drum beat that fits the music, after a few cycles the song will end by stopping the drum beat and slowly fading both visuals and music away.
Challenges:
I think the greatest challenge when creating this project is to include interaction to a flowing music, to be able to progress the music only when the user interacts. I got around this by using a four on the floor dance track that progresses by adding more looping elements to the song, If I used a song of another genre the song structure will not allow me to simply add or remove loops but to change most of the elements in the music.
Future improvements:
I would like to make the visuals better by using 3D graphics, instead of emulating glow effects with translucent ellipses. Another possible improvement is to not have triggered objects change the visibility of other objects but have the ripples generated to light up other objects.