MUSIC 220a Final Project: Skins Reprise

About

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.


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:

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

Wekinator 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

PanFeature.wfconf

PanFeature.wlsys

SaxFeature.wfconf

SaxFeature.wlsys

Sound Files:

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

Acknowledgements

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.