So for this assignment, I was thinking of other way to make a fun interactive stem mixer like the Yume example we looked at in class. I was thinking back to my undergraduate program where in one of my classes we had stems of popular songs — usually vocals, guitar, drums, bass, etc. — and we had to mix the levels and try to match the actual final recording of the song. After thinking of this, I kind of thought it would be fun to make a sort of game where I would store values and if the user got them within a close enough range they would ‘win’ or ‘pass’.
In terms of visual aspects, I was thinking of ways I could make the user interface fun and attractive, and I thought about a keyboard and the keys acting as the sliders to control different stems.
Here are some first sketches of ideas:
At first, I wanted the sliders to work if a user clicked and dragged certain keys of the piano, however I found it a bit tricky tracking all of the mouseX/Y movements and mapping it properly.
Here’s a short video demonstration using the mouseDragged function:
In order to make my life a bit easier, I decided to use the keyTyped function to control the +/- volume for each track. I also added a waveform graphic in the background, I thought it looked cool. I wanted to create buttons that could toggle between two different stems for each track, but I was having some issues calling a new track/player. Instead I made mute buttons. There’s a small bug where if you mute a track, but then increase the volume of it it overrides the mute. I haven’t looked into fixing it yet.
Here’s a video demonstration as well as the current code: