SoftStep Tutorial #2: Basic Rhythm Sequencing

This tutorial will help you get started generating interesting rhythms and rhythmic tonal patterns. We will start this tutorial with the most basic of rhythm generators, the Clock, and then move on to explore the Pattern rhythm generating sequencers. But before going any further take a moment to review the Clock module documentation.. Really do it, because if you don't this tutorial will make little sense.

The classic analog sequencer rhythm patch is to feed analog step values back into the driving clock module's duration control, to change its clock rate for each step of the sequence. We will start this tutorial by emulating this classic patch in SoftStep.

Since you have already created a Clock driven patch in the first tutorial, we can start with that. Load the .ssp file you created from the last tutorial now. Or you can load the prebuilt file from Tutorial #1, which is "tutor01.ssp" in the examples directory. It should look something like this:

Click on the Run/Stop button in the Toolbar to start the patch playing. Adjust the Note value to 8th notes, and set the %On input of the Clock to 50%. This will give you clear audible and visual feedback for what follows.

Now create another Knob08 sequencer, and connect it to the Counter module so both sequencers are running in parallel.

Connect the Clock-1 duration ("Dur") input to the new Knob08-2 sequencer, replacing the Note-1 input that was previously controlling the clock duration. Since all the stages of the sequencer are at 0, and the Clock was already set to 8th notes, there should be no change in sound. The Note-1 module is no longer needed, so you can delete it by clicking on the "X" icon in the upper left of the module.

While the patch is playing, start adjusting the values of the 2nd sequencer. You should hear the timing change, with larger values making slower steps, smaller values (starting with 2) making faster steps. Take a little time to play around with different settings.

There is a slight anomaly in the rhythm you will hear if you listen carefully: each stage is off by one tick. This is because by the time the Knob08-2 generates a value and feeds it back to the clock, one tick will have already elapsed. In a classical analog circuit, this lag time is so small as to be negligible, but the time steps are quantized in a software based sequencer, so you hear them. In most cases, you can adjust for this by slightly offsetting the sequencer values that control duration. In fact, this is often a nice way to get that very slightly irregular "human" feel to your rhythms. But if you want more predictable timing then you should use a more computer friendly method to generate your rhythms. For the next part of this tutorial we will use a such a method, one which goes far beyond what would have been feasible with the old analogs.

The Pattern Sequencer

Select New from the Files menu or the Toolbar to clear the workspace. Now create a Pattern16 module, from the Patterns submenu.

Notice that when you click the stage 0 button, it changes from blue to yellow, and the rectangular LED at the right end of the label goes on.

The Pattern sequencer is stepped by a value in the leftmost Stage input, just as the other sequencers; but it also has an additional input, which is to select one of 128 possible patterns. There is no output value box - just the LED to the right of the label - because there are only two possible output values, 0 (Off) and 127 (On).

We don't need a Clock module for this patch, as the Pattern16 will generate the triggering events for MIDI output. But we do need a means of stepping the sequencer. For that we can use a Stepper module, which essentially is a combination of Clock and Counter. Create a Stepper by selecting it from the Clocks submenu.

Connect the Pattern16 Stage input (the left one) to the Stepper module. The Pattern16 should start sequencing. Click on a few of the blue/yellow buttons and you will see the pattern of On/Off stages in the blinking of the output LED.

Create a MIDI Voice module. Connect the Voice Clock input to the Pattern16. Now you should be able to hear the pattern as the Pattern16 module sequences.

Create a Number module from the Values submenu. Connect it to the Duration input of the Stepper module. This is the topmost input labeled "Dur." This takes the same values as the Clock module's duration input. Set the Number value to around 4 to speed things up, and try out a few different rhythm patterns.

The Step Sequencer

Create a Step16 module from the Steps submenu. This sequencer works just like the Knob08 sequencer, except it has text boxes to set stage values instead of knobs. Valid numbers are 0-127, and the boxes employ the standard Windows technique of double click to select text, right-click to copy/paste.

Connect the Pattern input of the Pattern16 module to The Step16-1. This is the Pattern16 module's 2nd input, to the right of the Stage input you have already connected to the Stepper. Set the stage 0 input text box to 1, and the patterns that were showing on the Pattern16 module will disappear. Set it back to 0, and the patterns appear again. . Set up a few different patterns and try switching among them as they play.

There is a lot more we can do with this basic patch, but this may be a good place to stop. Save your work, and when you are ready to continue, go to Tutorial #3.

How it looks so far:

SoftStep is Copyright © 1999-2004 by John Dunn and Algorithmic Arts. All Rights Reserved.