Rack747 is by any other name: 'Rack747' + 0.5*808 + 40 (a random number plucked from the nether regions to give a result that is loud, fat, and flies). Each Rack application runs up to 8 individually sequenced voices, each voice consisting of:
As a whole, all running Rack applications share a single common display, midi interface, and bank memory. The display interface provides an integrated mixer for all Racks, plus direct and immediate access to all parameters of the currently selected "top" Rack voice. The midi interface allows midi control of all parameters, as well as direct note on/off control of the synth module. The shared bank memory allows for easy sharing of sequences, songs, and synth parameters between tracks.
In total, a single Rack747 patch runs 8 individually sequenced synth lines and 32 drum parts through a total of 16 3 part effects buses and tweeked by 32 lfos. And if your machine is still running, you can stack multiple patches under the same cheesy interface.
...and if you're not confused already...
It seems like the silliness has ended, with the be media kit looking relatively there, and Yes! there is a Rack for Intel. For those of you who like running antiques theold media kit version is available on request from me: I can even give it to you in a ppc only format.
The other main change is that the Rack has changed from a stack of small synth/sequencer
units (747s)
to a stack of 8 voice racks of 747s. This is partly to do with better performance for the
Rack from the new media kit, and partly for better integration with my sequencer and Rack
meta-programmer, Qua. I also feel that this configuration will scale better up to faster
single processor machines (the bulk of the Intel world). Previous patch files still work,
but load into a single 8 voice module, rather than across the whole Rack network. This
should facilitate mixing between multi voice tracks.
The first row gives the notes corresponding to each sequencer step: a blank corresponds to
silence.
The second line of numbers is the velocity of the note, corresponding to midi velocity, and being
what you might call "the accent". 80 is the mid point. Above this you'll get more of a resonance
kick. 0 corresponds to no new note sent: slides and sustained notes. This is often a damn fine
place to start. Again, the arrow keys and page-up, page-down and home keys are the only sane
way to edit this crap. In my dreams, these might be virtual press pads, but after using them for a
bit, numbers are sometimes a bit more informative...
The next 16 fields are note velocity (accent), with 0 as no note, and 80 as the mid-point. These are
best dealt with by the arrow keys, page-up and page-down. More conveniently, there are virtual
drum pads just below this in tasteful pink and baby blue. Pink is on, black orff. For a total hoot,
press the shift and control buttons with the mouse press. This brings up a cute little pink number,
for the ?-plet of that stroke: 2 is indespensible, 3 useful, 4 handy, 5 up to 10 occaisionaly exciting.
17 wierd, and 42 hysterical. To the left of this are pots for tuning, level and pan. Stick close to the
center for gross control, and way out for subtlety.
Text fields (the white control boxes) can be modified by:
Generally, the sliders can be moved by:
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:
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.
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 two central sets of 16 red-on-black numeric fields display the data in the current synth
pattern,
top line for note, lower 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 black and white buttons across the top of the region give a piano style keypad for the
current edit step: the step whose note is green rather than red.
The register of the note is displayed
as a numeral in the center of the key: this can be adjusted up by
The line of red-on-black numeric fields
below the sequence display give access to the built-in 4-part drum module.
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.
The "Mode" field controls a few odd extended modes of the sequencer.
The slider controls sequencer tempo.
The "transpose" numeric field gives the transpose level (in semitones/midi note #) of
the current sequence. Pressing the transpose button transposes the current sequence
that amount and resets the field to 0.
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
left mouse click with the ALT key down. This is most relevant to the sequence sync function, as this is
where the sequencer will be sycn'd from.
The tap control offers many useful facilities for real time editting:
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 from the indicated Rack bank.
The song can be disabled by turning the small button in the top left corner off. This is
vital for editing a song bar-at-a-time.
The synthesizer module consists of a single oscilator (controlled by the left panel)
fed into a single filter (controlled by the right hand pane). The amplitude of the
ocillator, and the cutoff point of the filter are controlled by envelopes, whose
parameters are controlled by the knobs and sliders in the lower portions of the respective
panels.
The "Oscillator" region provides control the Rack's primary sound source, which,
when passed through the Filter processor provides rack with its delightful squelch.
The osciator is typically a single monophonic sound source, though AltX7 and Oasis
provide complex sound sources, which are mixed into a single ouput (which is then
fed to the filter).
The "filter" region provides control for the voices filter (i.e. what makes it squelch!).
The menu box controls the filter choice ("cheesy303", "unity"). For the full version it will also provide
access to any addon filters (though none are yet available).
The basic parameters are:
The envelope on the oscillator controls the amplitude (volume, gain, whatever) of the
main oscilator: disabling this will give you a single sustained note.
The filter envelope drives the filter cutoff frequency: how "squealy" a
single note is over time. If this is off, the attack and decay parameters will have no affect, and
the note will be dependent only on the cutoff, envmod and resonance parameters.
This contains controls specific to each running rack and each open 747. Each rack
area has:
The individual voice controls are:
Then there is the cross-fader. This is the easiest way to control multiple parameters at once.
When at left, the parameters with a "left" assignment
are set proportionally to a maximum value given by the "peak" parameter. Similarly to the right,
with centered giving the maximum value to all assigned Racks. Any combination of parameters can be
assigned to this control.
The are individually assigned,
and their effects are cumulative.
The first slider in each set controls rate, the second, depth.
The LFOs are normally
reset to the start of their cycle with each note on,
If the reset button is off, they will not be, though a reset can be forced using the
song mode commands.
Rack's memory is divided into banks of 8 slots, each slot numbered from 0 to 7. The
banks themselves are labeled by letters, 'A', 'B', ... . The running memory of a particular
part is also accessible, and is labeled 'sg'. Hence 'sg0' is the running memory of the
first part, and 'B3' is the 4th slot in the 2nd memory bank. When patches are saved,
all associated memory is saved bank-wise: to keep patches small, it is best to use
as much of each bank as you can, rather than openning new banks.
This window allows edit access to the current kit of the top rack. A kit has 128 slots for samples
(numbered 0 to 127),
each corresponding to a single drum. When the MIDI spec expands to include the
drum module, the index will correspond to the midi note number for that drum.
The name
field corresponds to the name that appears in the sequence editor for the particular drum.
It is editted by holding down the cursor on that field until the text becomes highlighted, at which
point, it may be changed.
The path field gives the full pathname for that sample, which need not be in the Rack "Kits"
directory. A drum is added or changed by dragging a sample over the corresponding
slot and dropping it. Currently, WAVE, AIFF and raw 16-bit 44100 mono
files are properly understood.
Hitting the delete key deletes all currently selected drums. Drums are selected with the mouse,
with a shift click adding the drum to the current selection.
This window allows the dumping of one or all of the Rack's loops directly to
audio files. It is bought up under the main File menu. It is a standard save
panel with 3 additional controls:
When a name is given, the indicated Rack(s) will begin dumping their stuff from the
start of their next loop (and will be started if necessary). The file will be called
"TKi-name" for Rack i and a file called "name".
By default, all loops are saved. This can cause some nasty audio glitches if several Racks are
running, though the point at which it becomes problematic will very from setup to setup. For my
BeBox 133 with 24M RAM, 3 at once is OK: after that it's glitch city. It makes more sense to
pull them one-at-a-time if you're getting into a bit of a serious tweak.
This feature is reachable through the "File" menu on the top menu bar. It allows the loading of
a new pitch table into all current Racks. These are contained in ascii text files in an inimitably
baroque format. Apologies to members of the Bach family.
The first line of the file gives three things:
The rest of the file should be taken up by floating point numbers, indicating the
relevant frequencies.
If the file is to be transposed, the "octave" given is certainly not limited to 12 notes. Whatever it's
length, though, it will be started at the appropriate note, and spread. I can hear a sigh of relief
from the 13 and 17 note equal temperament crew,
The distribution should contain two examples: "standard_pitch_table" is the standard 12 note
equally tempered beast that we all know, and some love. "just_pitch_table" gives a 12 note octave
based around a standard just (ptolemaic) scale based on C at 256Hz, with the standard accidentals
filled in as best as possibly around this scale (1/1, 9/8, 5/4, 4/3, 3/2, 5/3, 15/8, 2/1). It's an interesting
and beautiful scale, with many elegant properties.
Oasis
is not a Mirage. In fact, it's a multi-channel, multi-track mixer/sampler and soundfile player.
It has been designed as both an addon for Rack747, replacing the existing linein and sample
oscillators, and as a standalone app. It shares a single window between a maximum of 9
output channels (8 devoted to 303 outs, and 1 devoted to the Oasis application),
has slots for up to 64 samples, and has a fuckoff huge cross fader.
Interface elements and shortcuts are pretty much the same as for Rack.
There are a few trick keyboard shortcuts, but the only useful one is that
function keys 0-9 toggle particular samples on and off
(with the SHFT and CTL keys accessing higher ones). Anybody who finds
the party tricks wins a free trip to the bahamas (in their mind).
The oasis window has 3 main areas.
AltX7 is a multi oscilator ('operator' in Yamaha terminology) network tuned for
FM synthesis. It presents a single 'algorithm' of interconnected oscilators that
may be easily tweaked and rebuilt for an enormous variety of pleasing and awesomely
ugly sounds.
There are two kinds of connections between operators available.
Operators are added to the current algorithm by selecting this option from the
very short menu that pops up when you click on empty space on the operator
display.
Connections are made by clicking on an operator with the secondary button. This brings
up a red line, which, when dropped on another operator (or the ouput block) will form a
connection. It is quite kosher to connect an operator itself: in fact, operator feedback
is deliciously chaotic.
Operators may be shifted around on the graphic display by click and drag. This has no
acoustic properties.
Holding the ALT button while clicking an operator should bring up a control menu. This should
present an option for deleting an operator and all its connections from the network.
The most significant paramater in this game is the ratio between the tune of the modulator
and the tune of the carrier. In general, whole number ratios give the sweetest results,
as they give emphasise more harmonics from the natural spectrum of the carrier.
There is of course a whole smear of beautiful wierdness between sweet spots.
The 'alfa' (sic) parameter controls the amount of the FM effect.
An envelope may be added to any connection, so that the timbre (or gain of an
ouput connection) will vary over time. Envelopes are shown on the algorithm display
as lettered blue boxes. The envelope parameters, 'Attack', 'Hold', and 'Decay' are
the respective times that the envelope takes to reach its maximum, stay at its
maximum, and then fall back to 0. These values are measured in beats: ie they are locked
to the tempo of the Rack.
The algorithm buttons load one of a small set of very basic algorithms.
With a midi device selected, sequencer running,
and transmit turned on, the sequencer will transmit note-ons and
note offs for the current playing sequence. Rack glides are transmitted as seperate notes,
as midi offers no consistent way of doing this. With or without the sequencer running, but with
transmit on, the sliders will transmit midi control data to the appropriate channel.
With midi receive turned on, the rack will respond to noteons, noteoffs and controls. If the
sequencer is running, midi note data is overriden, though it will get through briefly. If a noteon is
received before the noteoff for the previous note, the rack will
glide to that note. Otherwise, it will start a new attack.
The relationship between midi control change messages and sliders is:
In many ways, I've been surprised by the way the Rack has grown. Honestly, it was only going
to be a 20k bassline emulator. But, at least for me, it's turned into quite a useful compositional
sketch pad. It's been staunchly reliable live, and carried my but through gigs when every other
machine has broken. I think, with the Om series,
most of the work on the main engine is done: the proverbial 90%
mark has been reached. It's a crude and simple architecture: great for the crude and simple
music that we all love, and it's still comprehensible when your brain has been reduced to
psycho-mulch.
How about you? any great ideas? If you'd like to see something in the Rack, drop me a line
(dak@zog.net.au) and if it works, you'll be seeing it here: in purple and leopard skin.
The Om series Rack747 can be ordered directly from me, or via the usual Be web sites. Version
1.01 is a low US$45, 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.
Also of interest for Rack users will be the meta-sequencer, Qua, available in beta form by late July
1998 (in my dreams: 25/4/99).
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 BeWare, or 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:
The Rack was written by me, Dak, over 1997-1999, 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@zog.net.au.
Squelch and enjoy!
Getting started: a sham tutorial
The gory details
Common interface shortcuts.
Menu settings.
Sequencer controls
Oscilator controls
Filter controls
Bus sends and FX controls
Status region and per-voice controls.
Mixer and cross-fader controls
LFO controls.
Bank Control Region
The Kit Editor
Keyboard shortcuts
Miscellaneous system controls
Mainly more midi control values (don't you really want to know where "this" is??):
The Loop Export Window
Loading new pitch tables
And a bout for some of the addons
Oasis: the sampler for people who build their House on sand
Actually doing it!
The gory details
AltX7: the compleat FM synthesiser
Selecting 'new envelope' on the envelope selector will create a new envelope, and put it
on the control panel.
Faq and trouble shooting guide
This is not the case. This is something that seems to be a product either of the
cross compilation tools and PackageBuilder. It grieves me, but it won't stop Rack.
Again, this is not the case. Rather, it is a very confusing error message, indicating that
there was a dynamic linkage error on startup. This is almost invariably beacause there
has been an error in the packing or unpacking of Rack, and it's shared library is not in
the right spot. Typically, it has been left in /boot/apps/Rack747, rather than /boot/home/config/lib,
where it belongs.
The predefined kit cannot be found. You either have a badly copied bootleg, or you have
a beta (which is mail distributed without the kit). You need to download a version of Rack
with a kit, and install your version over the top of it; or mail me, and I'll post you a kit to
install over.
The current version, 1.11, should not die in this circumstance.
Yes. Get a screen dump, convert it to GIF or JPG and create an entry in the file "images/appearance"
in the racks home directory. I won't do this, for legal reasons, but there's nothing stopping
you.
Apart from that, you'll need to cripple several synth and sequencer parameters,
but add a record feature for slider values (this feature is great and is scheduled for Rack 1.20 or so).
MIDI specification
These are however configurable through the load/store configuration options in the top menu
bar, and the config edit window.
These work both on midi in and out, depending on whether they are set.
Known Bugs and Limitations
Future directions.
Contact and Product info.
Dak
c/- 38 Brett st,
though this address may have a long turnaround time.
Murrumbeena
VIC, Australia, 3163.
Authors and acknowledgements