A conclusion to my study in Music 220A, this is an interactive piece based on one of my fondest electronic music tracks, the "Skins" theme by Fat Segal. The piece comprises a backing track implemented in chucK which the performer can improvise along with, via a trackpad controlling various software instruments. These instruments are implemented in the Wekinator, a program for using machine learning to build real-time interactive systems (wekinator.cs.princeton.edu).
The idea for this piece stems from my exploration with contrasts between sampled tracks and chucK-derived physical models in Homework 3. I wanted to generate and improvise against a chucK score.
I used a Mac Magic Trackpad as a controller with Wekinator, whereby I could easily train machine-learning models to accept X and Y mouse positions as well as their first-differentials (speeds) to affect both continous and discrete parameters on the software instruments. In the case of continous parameters, . For discrete parameters, a discrete classifier (AdaBoostM.1) was chosen. These controller and machine-learning models are saved as Wekinator Feature Configurations and Learning Systems for re-use. The accompanying track is simply shredded in chucK (running in the Mini Audicle). The Wekinator is run in parallel, and also uses it's own instance of the chucK audio engine. Hence the accompanying track can run at the same time as the improv with software instruments.
SkinsDream.ck - accompanying fixed track to play
Melody.ck - Wekinator instrument - the first one I used, a Vibraphone physical model with selective melodic lines
Pan2ch.ck - Wekinator instrument - the third one I used, stereo panning of SayChu.wav
SayChu.ck - says "chucK", recorded to SayChu.wav
SweptSax.ck - Wekinator instrument - the second one I used, a Saxophone physical model with selective tone parameters
StereoRecorder.ck - to record any chucK score to 2 mono files
MelodyFeature.wfconf - Wekinator feature configuration for trackpad, to be loaded into Wekinator when running Melody.ck synth
MelodyFeature.wlsys - Wekinator learning system, to be loaded into Wekinator when running Melody.ck synth
Skins.wav - original Skins theme, read and sampled by SkinsDream.ck
SayChuck.wav - recorded from SayChu.ck
Note: if running the Wekinator with trackpad controller, you may need to open TrackpadFeatureExtractor.ck in the Wekinator installation package and change the mouse variable 'int mouseDevice' to 1, depending on your setup.download source files