The following audio file is an improvisation using a 6 channel version of the system collapsed to two channels.
220B Final Project Test Render by cloudveinsHere is a demo video with an overview of the controls and a brief performance example:
Download the full source distribution here
A few notes regarding installation and execution: The looping functionality is very tightly mapped to the Korg nanokontrol midi controller. I have included the "sceneset" (all midi control mappings) which can be downloaded to your nanokontrol (file: 220_final_nanoKontrol_sceneset.nktrl_set). Please make sure to install this - otherwise you will need to look at midiControl.ck and modify the midi mappings (msg.data2 = control change number) for each CC# to match your controller. Also - in order for the code to successfully run, you must modify the paths near the top of the following files: Noise.ck and LaunchPad.ck to point to the source directory and the sounds subdirectory. Run chuck --probe in terminal to determine the device number of your nanokontrol. Modify line 53 of midiControl.ck to use the appropriate device ID number. If the nanokontrol is successfully opened, you will see a printout in the ChucK console window (or in terminal) telling you that the nanoKontrol was selected as the midi device. To run the instrument, open LaunchPad.ck and add it to the virtual machine (or run LaunchPad from terminal). You should see all shreds launch in the console monitor. Do not be alarmed when you see "Stabilizing: #" in the command prompt as you are playing. This message simply indicates that a filter is being turned off temporarily due to the output exceeding a threshold. This monitoring system allows us to safely approach the edge of "dangerous resonances." It is a feature, not a bug :D
The following controls are available for the live looper
TRANSPORT:
- Record button: begin/stop recording a loop
- Circular arrow button: hold down and turn channel knob to "select" that channel. The next recording will occur in the selected channel. (otherwise, loop slots advance by one channel each time the record button is pressed. After the 7th loop, the 1st loop will be overwritten)
- Stop button: stop the current selected channel output:
- Play button: play current selected channel output
- Rewind button: unsolo all soloed channels
- Forward button: stop and clear all loops. stop all noise samples.
Channel 8:
Channel 9:
- Channels 1 - 8
- Slider: gain of sample
- Top button: pan sample to next audio channel
- Bottom button: pan sample to previous audio channel
- Slider: gain of all samples (multiplier)
Channel 9