Difference between revisions of "Laptop-Based Step Sequencer"

From CCRMA Wiki
Jump to: navigation, search
(Suggested Future Improvements)
Line 24: Line 24:
  
 
== Suggested Future Improvements ==
 
== Suggested Future Improvements ==
 +
  
 
1. Implementing a remove function
 
1. Implementing a remove function
Line 32: Line 33:
  
 
4. Implement an "instrument" mode where the user can play pitches over the looping rhythm without looping the pitches
 
4. Implement an "instrument" mode where the user can play pitches over the looping rhythm without looping the pitches
 +
 +
== Source Code ==
 +
 +
 +
[http://ccrma.stanford.edu/~senourse/220a/final_project/Sequencer.ck Sequencer Code]

Revision as of 05:16, 13 December 2007

Idea

I decided to use the keystroke functionality within ChucK to create a step sequencer that can be operated directly from a laptop keyboard.

Design

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.

Use

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.

Implementation

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

Source Code

Sequencer Code