Senior Project

What is a senior project? I wanted my senior project to represent me by tying together the aspects of motion design I enjoy most - beautiful 3D lighting, procedural workflows, and most of all music synchronization. I was heavily inspired by Animusic, a series of early 2000s computer animations where wacky instruments literally play the music you hear. 

Creating the music was an interesting challenge, because I couldn't rely on the fancy sound design tricks I use for electronic music. Every instrument had to be represented in the 3d scene, so it became more of a compositional exercise to create good music with the instruments I picked.

To model the instruments, I decided to use Blender's Geometry nodes. By modeling non-destructively in this way, I could easily modify all the keys at once, and add consistent differences in length as the pitch increased. I could also reuse the Geonodes setups for different instruments, such as the vibraphone and xylophone sharing a setup. All the animation driven from the cubes is also animated inside Geonodes, allowing for deformations like cymbal wobble.

I used the MIDIAnimator Blender addon https://github.com/jamesa08/MIDIAnimator to convert my music notes into something into animation data. However, the addon isn't that stable yet, only supports note-on events, and doesn't work well with fast notes on long animations. I ended up applying basic linear motion to the position of a row of cubes, and using the cubes position to drive the internal animation curves in the geonodes trees.