Common interface shortcuts.
Text fields (the white control boxes) can be modified by:
-
The usual click, edit, and return.
-
Using the arrow keys to scroll through values.
-
Hitting "page up" to bring it to its maximum value, "page down" for its minimum value, and "home"
for its median value.
-
Some fields correspond to midi values.
-
The TAB key shifts to the next field in the window.
This is especially useful for the sequence edit displays.
-
The CTL and SHIFT keys increase the step size by 2, 5, and 10
(if both are down) respectively.
Generally, the sliders can be moved by:
-
Clicking to a position on the bar.
-
Grabbing the knob and riding it.
-
Modifying the numeric field.
-
Sending appropriate midi data.
The pots operate similarly to the sliders, but look completely different, and are mainly
used for parameters that won't be "ridden". As they work angularly, control sensitivity is
dependent on the distance of the mouse from the center of the pot. Otherwise, they can
be adjusted by:
-
Clicking to a position on the pot.
-
Grabbing the pot and riding it.
-
Modifying the numeric field (if there is one).
-
Sending appropriate midi data.
Many of the control buttons have a few varying modes, such as save or load, step record or
real time record, and these are selected by puching the button with a left or right click.
Main window controls: menu settings.
The menu bar provides access to all the file save and load functions, and toggling of the extra
edit windows, the miscellaneous options, and kit editting.
-
The sequence/slider settings for the running synths (the data displayed in the edit window)
and the memory bank can be saved and loaded interchangeably. A set of patterns can be
created interctively, saved to disk, reloaded into the memory (or back into the running synths),
twisted to your hearts content. The default save directory is "{rack home}/Patches".
Loading the config sets all midi channels and sync parameters, as well as the relationship between
sliders and midi controllers.
-
The window menu controls the display or not of additional windows.
-
The bank editor provides extra edit screens for banks and offscreen synths, plus save/load
access for them.
-
The global mix window provides small sliders for the final mix level of each synth, corresponding
crossfader assignments, and the crossfader itself., .
-
The config editor edits the current running midi control configuration.
-
The "Metrognome" option controls the flashing light in the edit window.
-
The kit menu controls facilities for saving loading and editting additional kits.
Main window: sequencer controls
-
The "start" button
starts the sequencer, and the "stop" button stops it.
-
The "rand"
button generates a random 16 note riff in the current
sequence, the key (major) given by the first note (the starting
point of this riff can, of course, be set anywhere).
A left click randomizes notes, a right click, the rhythm.
-
The "rec" button puts the sequencer into record mode. This functions
in two ways.
-
A left click gives real time mode.In this mode,
you are given a 1 cycle visual count in, followed by a one shot
record cycle. The mechanism of the recorder is crude, but usable.
It simply grabs the current note on, and stores it in the current
sequence position, effectively trimming it to a 1/16th note
duration. Quick passages of notes may well lose bits, as if more than
one note is played over a sequence cell duration, only the last is used,
and that is placed in the cell.
-
A right click gives a step record mode. In which every midi note-on
(or keypress) stores that note at the given position, and bumps a
position counter on.
-
The song editor allows the stringing together of sequences into longer patterns. These
are loaded from the given bank. The values of the current sequence, slider, drum pattern
and drum mute are loaded respectively.
A value of - for a pattern indicates "don't care", allowing
this parameter to be editted dynamically. The drum mute ('DM') section has 4 colored fields for
drum mutes, corresponding to drum part 0 to 3 respectively. By default, they are blue ("don't care"):
white turns the mute off (i.e. that part will be heard), red corresponds to mute on for that part.
The diamond shaped knob deletes the current step, the left facing arrow inserts a step
before the current one. The right facing arrow appends a new step after the current one.
The up arrow scrolls forward through the current song, the down arrow: backwards.
Each song step is loaded at the end of a sequence, so the loop proper will not start until the
initial sequence has played. Tempos, and start and end points, are loaded with sequences, so you can use this to create some fairly crazy lines.
-
The Mode field controls a few odd extended modes of the sequencer.
- "normal" mode is what it is, an interminable loop.
- "rand note" randomizes notes at the end of a sequencs,
- "rand beat" randomizes the rhythmic pattern, leaving notes intact,
- "rand all" does what it says: only for the brave, or lovers of aleoratic music.
- "shuffle" picks a random memory bank sequence from between the first two sequences in the
song list.
-
"song" mode plays the synth from the song field, loading synth &/or sequence parameters automatically from the indicated memory banks.
-
"one-shot" plays the sequence once and then stops. This is handy if you have something that you
like scaring small children with, but don't want to be drilled into your head.
Highly modulated noise at 300bpm is a case in point.
Main window: sequence editor
The large block of controls below the top line of buttons is the sequence editor proper. The
numeric values
correspond to midi note # and midi velocity respectively. This block of controls is twice
duplicated on the bank window, where it can be set to edit any running synth or bank slot.
-
The slider controls sequencer tempo.
-
The "trans" text field transposes the current sequence by a given
amount. It is reset to 0 immediately after acting. It responds to the up and
down arrow keys.
-
Two sets of 16 text controls display the data in the current sequence,
one line for midi note#, and one for velocity (amplitude).
Setting a note to 0 will correspond to silence. Ties and sustained notes are
indicated by a 0 velocity.
Every non-zero velocity starts a new attack.
-
The line of text controls below this give access to the built-in 4-part drum module.
-
A single
part is displayed at any time, selected by the pull-down menu at the left of this row: click on
the number to activate the menu.
-
The check box to the right of this controls muting of this drum part.
-
The inset string field next to this controls a pull-down menu to select an instrument from those
available, This is presently limited, but later releases will enable this to be configured.
-
The 16 text controls indicate the drum velocities for this part, or 0 if there's nothing happening
on this part of the beat.
-
The pads below these fields are like 808 style press pads, editting the numeric fields above
them. They also control drum part tuplet rolls on each beat. With the shift or control key down,
left click increments the roll value,
and right click decrements it.
-
To the left of this are 3 pots labelled "Tn", "Lv" and "Pn", controlling tune, level, and pan of that
drum part.
-
The start and end points are indicated by right and left pointing arrowheads in the
gaps between the two rows of sequence data fields. They can be selected by left
and right click respectively.
-
The begin point gives the point that the sequence is first started
from in its loop. It is indicated by an upwards arrowhead, and is set by a
simultaneous L/R mouse click. This is most relevant to the sequence sync function, as this is
where the sequencer will be syn'd from.
Main control window: synth controls
The next 14 or so lines are controls for the synth itself. The sliders
are almost self explanatory, and are best understood by playing with
them. They roughly correspond to controls on a 303. Most parameters
run from 0 (min) to 1 (max).
-
The first 5 sliders control the operation specific to the filter:
- Cutoff: filter cutoff point.
- Red: filter resonance
- Env: the breadth of the filters sweep
- F-Attack: the filters attack rate
- F-Decay: the filter's decay rate
-
The next 2 sliders (feedback/delay) control the delay line:
- feedback: controls the amount of feedback in the line
- delay: controls the delay time
-
"Glide" controls the 303's rude portamento effect.0
-
The next 6 controls affect the overall mix of the part.
- A-Attack: controls the amplitude attack envelope of the synth.
- A-Decay: controls the amplitude decay parameter of the synth.
- Synth level controls the output amplitude of this particular synth.
- Kit level controls the output amplitude of it's associated drum module.
- Mix level controls the level of both parts together.
- Pan controls the L/R panning of both synth and drum parts in the output mix.
-
The "Osc" menu box controls the oscillator wave form (saw, square, sine,
noise, thin square, triangle, linein and sample). In this case, it's certainly a
case of what you hear is what you get, except
the two audio-in waveforms, "linein" and "sample". These work in conjunction with the
sequencer to chop up the input. The linein mode takes a continuous feed. The "sample"
waveform takes the audio input from the first sequencer cycle. Both waveforms are
crudely gated, as audio noise produces annoying crap through the filter.
-
The four sets of LFO controls give a variable rate LFO on
oscillator frequency, filter cutoff, pan, and amplitude, respectively.
The first in each set controls rate, the second, depth. The LFOs are
reset with each note on, if the reset button is checked, otherwise not.
-
In addition, there are menu boxes for filter select and effect. The non-range of options here
will be increased when the add-on api becomes finalised.
Main window: synth specific status region
The last region contains controls specific to individual
running 303s.
-
The left button sets the selected 303 to be "top" (i.e. under control
of the screen sliders and buttons). It may have a different label if
a different version of the 303 is running under it.
-
The start/stop button does what it says...
-
The "mute" checkbox turns sound off for this particular 303, without
altering sequencer status.
-
Next to this is the "sync" field. This gives a particular synth/sequencer to lock onto.
When the indicated 303
hits the start of its cycle, this 303 will receive a start message from
it, resetting it to its "beginning" note (note: not the sequence start point).
This continues until the sync lock is turned off.
-
The next field gives the midi receive channel. This takes precedence over the global
receive setting.
-
The next field gives the midi transmit channel. Control
messages are sent from the sliders, and note on/off from the
sequenceer. This can be damned useful for pre-hearing sequences if
you have a midi keyboard and some headphones handy.
-
The rest of the line gives sequencer status ("Play/Stop/Rec"), an
indication of which area the 303's sequence was loaded from ("seqi" or
"rand", or "stepi"), and a 3 digit indicator for the pan level of it's output
(this can be useful for distinguishing between a number of running
channels).
Main control window: keyboard shortcuts
-
The function keys, f1-f8, are used to select a particular 303 and
make it the top one. For this to work, the focus must be on the main
window: you may have to hit a TAB or ENTER to do this to do this.
-
In a similar manner, CTL-function key toggles the mute of the corresponding
303.
-
SHIFT, in conjunction with the function keys starts/stops a sequencer.
Main window: miscellaneous system controls
These are mainly midi control values
-
First is the number of the "top" 303, the one which is
currently being controlled by the sliders and screen knobs. This appears in the upper left corner
of the screen.
-
Two fields in the upper right corner give the midi TX/RX port. This is
currently only "midi1" and "midi2", but will eventually include a
few surprises, such as our GeekPort object (in the planning stages),
which, in the current state of play, may never see light.
-
The two fields below this give channel nos for global midi TX/RX. These
channels will send note, and most importantly, control data to whichever
303 is in the top display, irrespective of its own midi channel settings.
This can be particularly useful for controlling the 303's from another
controller: we have been using local mode on a Yamaha Promix.
The Bank Control Window
This window floats away from the main window. It's always left up, though may be hidden.
-
The source and dest menu boxes select the source and destination banks for bank save/load
operations.
-
The "load sync" button specifies a synth to lock bank operations to. Normally bank operations
are immediate. If this feature is activated, load operations will be finalised at the start of the
corresponding synths loop.
-
The Config button loads the spare configuration (left click)
or stores the running one in the bank (right click).
-
The bank exchange button swaps the synth and sequencer settings for the
current (at present only) memory bank with the corresponding running values.
-
The 8 big blue buttons load (left click) the source bank parameters of the correspoding slot
into the slot corresponding to the "top" 303 in the destination bank. A right click reverses the
direction of this process. Each button has 4 regions, ("drum", "seq", "slid" and "song") for each
part of the data in that slot and bank. These regions are selected (highlighted in red) by moving
the mouse into that region with the buttons down. On releasing the button, data from the
selected bits is transferred. If, instead of releasing, the mouse is moved off the button, a rack icon
appears, which can be dragged either to another bank
button, or onto the song editor on the main
window: if this is done, data is moved to/from the specified slot, rather than to the top one.
Default MIDI specification
The Om series Rack747 can be ordered directly from me, or via the usual Be web sites. Version
1.00 is a low $45US, or equivalent in australian dollars. All registered users will be entitled to
regular updates of 1.xx BeOS versions of the rack and add-ons, irrespective of platform.
Details for credit card purchase of the full tab version should be finalised by late July,1998.
Also of interest for Rack users will be the meta-sequencer, Qua, available in beta form by late July
1998. This package offers comprehensive hard disk recording, flexible MIDI sequencing and
patching, and algorithmic composition facilities. It enables the Rack to be fully automated, controlled
by joystick and Geekport (for us fortunate few) objects, and yet still be fully tweakable.
At this stage, I am also offering free licences to anybody willing to help translate documentation
into any other languages that users may require.
The demo (half-tab) version of this software, and ordering details for the full version,
can be found on the rack web site,
http://www.zog.net.au/dak/rack/index.html,
or by contacting me by mail at
dak@zog.net.au,
or
dak@cs,latrobe,edu.au. As a last resort, I can be snailmailed at:
Dak
c/- 38 Brett st,
Murrumbeena
VIC, Australia, 3163.
though this address may have a long turnaround time.
Authors and acknowledgements
The Rack was written by me, Dak, over 1997-1998, in between gigs, and
under the influence of psycho-active substances.
I gratefully acknowledge the assistance of
Alistair Riddell (amr@farben.latrobe.edu.au), and
Ross Bencina. Those of you in the Win$ world should check out
Ross's package,
AudioMulch, because it's good enough to
make me want to tolerate that reprehensible Gatesian interface.
Correspondence (feedback and bug reports) will be graciously
accepted. Post any queries to dak@cs.latrobe.edu.au.
Squelch and enjoy!