Geometric Abstraction Video
Music is by J. M. Hotteterre
And here’s the Max patch in action.
After digging through some older projects, I found the object I was looking for: live.step. The project it came from was a sort of makeshift sequencer, so after I studied all the objects to remember how they worked, I copy-pasted all the parts into my new project. Since live.step can’t play multiple notes at once, I simply made more of them for multiple parts.
I didn’t have the confidence to whip up a short song on my own, so I dug up one of my music books and basically recreated part of the song from the sheet music. It’s not the entire song. Since it’s in AABB format, what I created is approximately a fourth of the entire song, but it was quite enjoyable to do once I dusted off my rusty reading skills.
The particular song I chose has a slight swing to it. It’s not exactly a swing, though. Maybe it’s more like a sway? I set up the counter so every other note goes through a pipe object for a very brief delay. I pulled that idea from my past project as well.
The alto and bass parts act in a similar manner with only small tweaks in their positional data. The X axis is randomly generated in a limited range so the shapes wouldn’t disappear too much off screen. The Y axis is determined by the notes played. A higher note results in a higher position, with an offset so the two parts are more distinctly placed apart. Size is a set number depending on the step. Color is also determined by the notes played. I tweaked the opacity to work with the duration of the notes, but it’s a little hard to tell in the end result. I probably could have worked with fewer objects, but I was being cautious about accidentally making a fading object get overwritten before the face could complete.
The accompanying piano part is the most rigid in shape, position, and size. I wanted them to be more of a background effect.
The music can also be changed, and the song I recorded is saved in a preset object. With the preset, I can open up this particular Max patch anywhere and the song will be ready to play. It’s not currently set up to permanently save other songs, but it’s very easy to set up.
I could have pasted in an awesome little percussion section, but I decided to leave it out because the song I chose doesn’t have any percussion.
There definitely dozens of faults in this patch – I tend to brute force things before finding a smoother way and it causes a lot of clutter. One important issue I need to address before I can hand it off to anyone for fun is the note:color coordination. Since live.step sends MIDI data, notes are numbers. Theoretically, I could figure out any number’s note by dividing and finding the remainder, but I couldn’t find a way to do it. I ended up brute forcing the note-to-color process, which means not all notes can be given their corresponding color. Any that fall outside the set limit will just be turned red.
I might have focused a little too much on the music part. Since I wanted the shapes to be more determined by their corresponding notes, I wasn’t sure how to set up an action like making them slide across the screen in the time I had. Other than the various little issues, this project was fun to work with.