HOW THE SOFTWARE WORKS AND HOW YOU PLAY IT:
You will want to configure your midi controller to work ideally with the software, assigning controllers
to certain values, setting some buttons to toggle and some momentary, and other adjustments unique to your device.
All default parameter values cited below in hyper-linked, underlined font are for continuous controllers and program changes and can be reassigned to whatever controller numbers or program change values you prefer by changing their corresponding number values in the STREAMSEQUENCER_CONTROLS text file. This text file contains entries each on their own line in the format:
{PARAMETER NAME}: {VALUE}
Edit the number values there alone to reassign the parameters to your desired controller or program change numbers. Only edit the numbers and not the parameter names in the file. Some parameters are disabled by default and assigned a value of -1. Note that assigning multiple parameters to the same controller number is not supported. You can set other parameter values to -1 if you want to disable any controllable features. The default values for these controls are presented below with their feature descriptions and are linked to their exact parameter names in the parameter index.
Only ever save the text file in plain text format and without any extensions.
Programs like Mac's TextEdit may automatically attempt to add (and hide) a .txt extension.
The software will not recognize the controller file unless the name is exact and without extension.
I recommend using the free "BBEditLite" or "jEdit" on a Mac or "TextEdit" for Windows.
This file needs to remain in the same folder as the StreamSequencer application in order to be found.
For various setups, simply make different files with the name STREAMSEQUENCER_CONTROLS and keep them in
other folders. The file you put in the folder with the StreamSequencer application will be the one used at runtime.
SEQUENCER RATE:
The sequencer rate is controlled using continuous controller 27 mapping from one sequencer step every
.0078 seconds at value 0 to one sequencer step every second at value 127.
The sequencer speed can be set to double-time by momentarily setting continuous controller 80 to 127 (e.g. by holding
down a button). The speed returns to the above set rate when this controller returns to 0.
STEP LENGTHS:
StreamSequencer actually has two running sequencers slaved to the same clock.
The sequencers can run from 1 to 8 steps in length. Two concurrent sequencers with potentially different
step lengths is how you get cool, locked polyrhythms with only up to 8 steps.
The two underlying sequencers default to step lengths of 8 and 6 respectively. Adjust these step lengths
by sending program change values 0-7 to the system (e.g. using some buttons). If continuous controller 25 is set to 127 (e.g. a button held down) sending these program change values will effect the step length of the main sequencer, otherwise they will effect the auxiliary sequencer.
STEREO OUTPUT:
Odd steps are played out the left channel. Even steps are played out the right channel.
Feel free to mix'em together outboard if that bugs you.
AUXILIARY SEQUENCER VOLUME:
You can fade the auxiliary sequencer down to whatever volume you want (including off) by adjusting continuous controller -1 (disabled by default)
from 0 (off) to 127 (full volume, matched with the main sequencer).
WHEN SAMPLES ARE TAKEN:
Each sequencer step plays back a sample taken from the live input exactly one step before it is played.
So if the sequencer runs at one step every half second than the sample it's playing back now was taken a
half second ago from the live input.
STEP TRANSPOSITIONS:
The sequencers transpose each step according to where you have the transpose controllers set.
The transposition controllers for steps 1-8 respectively are:
14, 15, 16, 17, 85, 104, 106, and 105.
The value ranges below specify the transpositions created by speeding up or slowing down the captured sample:
- 0-7: down an octave
- 8-23: down a perfect fifth
- 24-39: down a perfect fourth
- 40-55: down a major second
- 56-71: no transposition
- 72-87: up a major second
- 88-103: up a perfect fourth
- 104-119: up a perfect fifth
- 120-127: up an octave
To produce microtonal transpositions between these values, set continuous controller -1 (disabled by default) to 127 while adjusting the
transposition controllers. e.g. set a button to this controller and hold it down while making a
transposition change.
STEP VOLUMES:
Each of the 8 sequencer steps can have their volumes adjusted by setting continuous controllers 1, 5, 4, 6, 35, 33, 34, and 22, adjusting step volumes 1-8 respectively. Set these to some faders and make some rhythms
by knocking out some steps.
SAMPLE SIZE:
The samples taken from live input one step in advance are of a size proportional to the sequencer rate.
There are three sample size settings: short, medium, and long size. At medium size the sample size is equal
to the rate of a sequencer step. At short size the sample size is half the rate of a single step. At long size
the sample size is twice the step rate.
- When continuous controller 75 triggers 127 the short sample size is set.
- When continuous controller 74 triggers 127 the medium sample size is set.
- When continuous controller 73 triggers 127 the long sample size is set.
Alternatively you can adjust the sample size with greater precision using continuous controller 28.
Value 0 sets the sample size to .01 percent of the sequencer step rate, value 127 is twice the sequencer step rate,
with value 64 being equal to the step rate.
SAMPLE PLAYBACK AMPLITUDE ENVELOPE TYPE:
Samples can be played back using 5 different amplitude envelopes. You can scroll through these envelope types on the fly. Increasing continuous controller 26 scrolls to a higher envelope number, decreasing it scrolls to a lower envelope number. When you get to the end of the envelopes you'll loop around to the
beginning and vice versa. Note that at fast sequencer rates, envelopes that have very little sustain will appear significantly quieter than other envelopes. The envelopes by number are:
- Envelope 0, Full Window (default): immediate attack, sustain right to the end, fast release off
- Envelope 1, Rectified Cosine Wave: smooth curve up to middle of sample, smooth curve down
- Envelope 2, Hard Attack: Immediate attack then linear ramp down to 0.
- Envelope 3, Triangle Wave: Linear ramp up to middle then linear ramp back down to 0
- Envelope 4, Reverse Attack: Linear ramp up to end of sample, then fast release off
DELAY:
The output of the sequencers can feed a stereo delay line synched to the sequencer rate. Continuous controller 7
controls how much signal from the sequencers is fed into the delay. The delay time is a multiple of the sequencer rate so you can make some cool, locked in rhythms.
- Continuous controller 13 set to 127 sets the delay to a fifth the sequencer rate.
- Continuous controller 12 set to 127 sets the delay to a fourth the sequencer rate.
- Continuous controller 37 set to 127 sets the delay to a third the sequencer rate.
- Continuous controller 76 set to 127 sets the delay to half the sequencer rate.
- Continuous controller 69 set to 127 sets the delay to the sequencer rate.
The delay input maximum can be scaled down by setting the DELAY_INPUT_MAX value somewhere below 1.
The delay has no feedback by default but you can adjust the feedback from 0 to whatever value is assigned to Feedback Maximum
(don't make this bigger than 1!) using continuous controller -1 (disabled by default). Feedback Maximum is 0 by default.
REVERSE SAMPLE PLAYBACK:
Each sequencer step can be individually assigned to play in forward or reverse (they start all forward). Program change values 8-15 toggle this
feature for steps 1-8 respectively and print out their current status to the display. Note that with short samples, the difference between playing a sample forward
or backward often sounds negligible! Also, note that if you've set your sample size to a value greater than the sequencer rate (e.g. using the LONG setting) and the sample is set to reverse, you can expect to hear some clicks as the sample is still being recorded while it is attempting to be played from the end (not yet recorded) toward the beginning. I'd avoid this.
SAMPLE FREEZING:
The StreamSequencer is constantly sampling from live input. But you can suspend this sampling while the sequencers continue to play, freezing the samples
currently held in the 8 sequencer steps by setting continuous controller 25 to 127 (e.g. latching down a button).
Setting the controller back to 0 will turn sampling back on, writing over the samples in those sequencer steps.
Try closing it to capture a cool pattern and then opening it very briefly and quickly re-closing it to write over small segments of the pattern.
BACK TO CONTENTS