[url]Girls' Generation - You Think [Animation 4K] - YouTube
I attempted to turn every instrument in the song into a “visual instrument”. Most instruments have two dimensions. For example, a cylinder instrument has a parameter for the number of particles on the perimeter and a second parameter for the length of the cylinder. Each instrument keeps track of a beat queue. The beat queue uses the BPM and a manually set parameter (say four quarter notes) to determine how long to keep a MIDI note in the queue. The beat queue also keeps information about the MIDI note number and its release time. Each instrument has a geo and glsl mat combination that reads the beat queue array and shades the geometry. I use the lifetime of the note in the beat queue to mimic some attack-decay-sustain-release features.