Difference between revisions of "Laptop-Based Step Sequencer"

From CCRMA Wiki
Jump to: navigation, search
 
(5 intermediate revisions by one other user not shown)
Line 12: Line 12:
  
 
1. Press the key denoting the beat on which the sound (or series of sounds) should begin
 
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
 
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)
 
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.
 
4. Press a number indicating how many times the note is to be repeated.
 +
 +
[http://www.stanford.edu/~senourse/220a/Sequencer.m4v Video of Sequencer In Use]
  
 
== Implementation ==
 
== Implementation ==
Line 21: Line 26:
  
 
== Suggested Future Improvements ==
 
== Suggested Future Improvements ==
 +
  
 
1. Implementing a remove function
 
1. Implementing a remove function
 +
 
2. Allow for the user to import their own library of sounds
 
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
 
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
 
4. Implement an "instrument" mode where the user can play pitches over the looping rhythm without looping the pitches
 +
 +
== Source Code ==
 +
 +
 +
[http://www.stanford.edu/~senourse/220a/final_project/Sequencer.ck Sequencer Code]
 +
 +
 +
[[Category: Projects]]

Latest revision as of 18:03, 4 March 2008

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.

Video of Sequencer In Use

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