Throughout 2016 I completed a number of projects with Processing, involving analysis and graphical visualisation of various pieces of musical data. One such project involved developing a program that was capable of repeating the notes that a user whistled in an “n” note melody. And furthermore characterising you’re most likely choice of note order, based on previous data. The end result was a program which you could whistle to, and it would learn the structure of melodies you like. You could then collaborate with the program and whistle a portion of a melody which she could then respond to with an appropriate harmony.
Other such projects involved real-time generative graphics based on midi data. The program could take elements of the piece of music, based on key and chord intervals, and then generate graphics which would respond to this data.