MUSIC 220a Final Project: Skins Reprise


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 (

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.

Stereo Version

download Skins Reprise

Source Files

This .zip package contains all the files needed to run a session of the interactive piece. An explanation of the files is as follows:

chucK Files: - accompanying fixed track to play - Wekinator instrument - the first one I used, a Vibraphone physical model with selective melodic lines - Wekinator instrument - the third one I used, stereo panning of SayChu.wav - says "chucK", recorded to SayChu.wav - Wekinator instrument - the second one I used, a Saxophone physical model with selective tone parameters - to record any chucK score to 2 mono files

Wekinator Files:

MelodyFeature.wfconf - Wekinator feature configuration for trackpad, to be loaded into Wekinator when running synth

MelodyFeature.wlsys - Wekinator learning system, to be loaded into Wekinator when running synth





Sound Files:

Skins.wav - original Skins theme, read and sampled by

SayChuck.wav - recorded from

Note: if running the Wekinator with trackpad controller, you may need to open in the Wekinator installation package and change the mouse variable 'int mouseDevice' to 1, depending on your setup.

download source files


I would like to thank my professor and TAs, Chris Chafe, Hongchan Choi and Francois Germain for their help through the quarter and especially with this project. I would also like to thank Rebecca Fiebrink, a developer of the Wekinator for her advice while proposing this project for the Wekinator.