Sequencer and Music Visualizer using JCuda FFT Ocean

Class Instructor Date Language Ta'ed Code
CS 8803 Computational Aesthetics Jarek Rossignac Fall 2015 Java/JCuda No Github Repo

This project was the final project for the Computational Aesthetics class I took with Jarek Rossignac in Fall 2015. I'd wanted to code up a sequencer since I first started using Cakewalk synched to ADAT's via MMC commands in 1996. There were a few objectives with this project that I wanted to meet, beyond the scope of the original assignment (which was two-fold - 1) to implement a sequencer/multi-track synthesizer using spherical UI "devices" to compose the music (as opposed to linear mechanisms like conductor score or piano roll) accenting the cyclic nature of the intended result and 2) to visualize the resultant music via some frequency-domain-dervied graphical process).

I also implemented a staff/conductor score mechanism for input/playback that responded to trajectory inputs (which in turn could be edited) and facilitated such functionality as user-configurable key signature and time signature. For visualization I coded up a JCuda version of NVidia's CUDA FFT Ocean demo, and mixed the music being played into the frequency space of the generated noise. (The origin of this FFT-based simulation process can be found here)

(Vids of project on the way...)