Laptop-Based Step Sequencer
I decided to use the keystroke functionality within ChucK to create a step sequencer that can be operated directly from a laptop keyboard.
The bottom row of letters (keys "Z" through ",") represent the time steps in one measure. The top row of letters (keys "Q" through "I") correspond to a variety of percussion sounds that can be mapped to one of the time steps. The top row of numbers (keys "`" through "=") correspond to pitches that can also be mapped to the time steps.
Each assignment requires four succesive commands.
1. Press the key denoting the beat on which the sound (or series of sounds) should begin
2. Press the key representing the sound you want to assign
3. Press a number corresponding to the duration of the note (1 = whole note, 2 = half note, etc down to a 1/16 note)
4. Press a number indicating how many times the note is to be repeated.
The program receives keystroke information and stores the values in an array. After processing the information, the code sporks a shred for each note that is sounded (so if you wanted 4 quarter notes to be played, 4 individual shreds are sporked).
Suggested Future Improvements
1. Implementing a remove function
2. Allow for the user to import their own library of sounds
3. Allow for the user to switch between multiple libraries in real-time so that the sounds can be more varied
4. Implement an "instrument" mode where the user can play pitches over the looping rhythm without looping the pitches