Sorry 'bout this, but:
Rack747 is by any other name: 'Rack303' + 0.5*808 + 40 (a random number plucked
from the nether regions to give a result that is loud, fat, and flies).
The Rack is a set of monophonic synths, performing a
modelling of the classic Roland 303 Bassline. Each synth is
associated with its own basic monophonic 16-note sequencer, 4-part 808/909 style drum module, and
cheesy effects processor.
All synths in the rack, though running as seperate applications, share a common interface.
The sequencers may be
locked to each other, sync'd to a midi clock, or simply let freewheel along in
whatever order they were started. In song mode, synth, drum and sequence data can be
organized into longer patterns.
The Rack747 half-tab release has functionality equivalent to or better than the previous shareware
releases, the last of which was Rack747 5.05. Full current functionality of the Rack
is available only in the full-tab release, currently running at Om1.01. This is available directly from
me via mail order, and should soon be available on the net through BeDepot (though they've been
stuffing me around for 4 months, with no end in sight). What half-tab users get for their money on
acquiring a full license are:
This release features several slightly unconventional hacks to provide asynchronous control (i.e.
simultaneous mouse usage, display updates, and keyboard control). These are done in my own
way, not that of R4's asynchronous controls. My method is far dirtier, but far more functional
for me and my own personal interface requirements. I've termed these hacks "immoral" rather
than "illegal". They may be slightly dangerous. However, they do work for me, and I'm unlikely
at this stage to go Be's way: Rack747 is my personal musical notepad, and I present it as such.
I'd always call a 5% sacrifice of safety for a 200% boon of functionality a good deal. If you don't
think this is a good deal, I'll personally send you a safe version of my library code, "Gloub.so"
If enough people want to live on their knees, I'll put the safe library in the distribution with the
rad one.
The numbers in the first row are "note number", and correspond to the midi note sent in midi
transmit mode: 36 is middle C. Admittedly, this might not be as friendly as note names (like C0), but
is a trifle more informative than a fake piano keyboard (I've got a funny attitude towards pianos
anyway: mucking around with the pitch table gives you a strange idea of what c is). These can be
editted with the up and down arrow keys, and the page-up, page-down and home keys. 0 is no note.
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 menu box controls the oscillator wave form (saw, square, sine,
noise, thin square, triangle). In this case, it's certainly a
case of what you hear is what you get. For the full version it will also provide
access to any addon oscillators.
The "Envelope" checkbox turns the amplitude envelope off and on. This envelope tells how loud a
single note is over time. If this is off, the attack and decay parameters will have no affect, and
the note will be fully on. This is very useful for addons that provide their own enveloping. "Twang"
for instance has a natural envelope dependent on it's modelling of a plucked string.
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 "Envelope" checkbox turns the filter envelope off and on. This envelope tells 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.
Elsewise, the parameters are:
The last region contains controls specific to individual
running 303s.
The mix window provides an alternate set of controls for the total level of each running Rack747.
This on the principle of "you never know what you might need in the bush".
Perhaps more usefully, it provides a cross-fader. When at left, the Racks 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.
This window allows edit access to the current kit. 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.
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. A few things still to go: integrating the drum module with the MIDI system, upgrading
to the new Be media server (when it appears), maybe adding peak level meters, and extending the
cross-fader's utility. Mainly though, I'll be creating a public API for add-ons (oscillators, filters,
and effects), and writing a few myself. Currently in the wings are:
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 $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.
However, BeDepot are being total slackheads, it's November, and they still can't give me
a date (or even a "yes we will" or "no we won't": dickwads!).
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:
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!
In spite of optimistic announcements to the contrary, it no longer makes sense for me to
support Intel platforms without an Intel machine. The Intel demo had enormous problems
which had to be debugged over several weeks via guesswork and email. I can now provide an
Intel binary for BeOS R3 Rack747-0m-1.00. However, with less than a month before R4, and
no binary compatability between Intel R4 and Intel R3, there doesn't seem any point. If any
Intel users would like an R3 Rack747 version, I can knock one out, but I'll do this only on demand.
What's it all about anyway?
Strange Psychochemicals, and notes about the demo!!!
More notes for everybody who's still on board
Getting started: a sham tutorial
The gory details
Common interface shortcuts.
Main window controls: menu settings.
Main window: sequencer controls
Main window: sequence editor
Main control window: synth controls
Main window: synth specific status region
Main control window: keyboard shortcuts
Main window: miscellaneous system controls
These are mainly midi control values
The Bank Control Window
The Global Mix Window
The Kit Editor Window
The Loop Export Window
Loading new pitch tables
Available addons
At this stage, November, 1998 there are two addons available. They are only Rack-loadable
in the full Rack release. Oasis, however, has it's own micro-app, and can run on it's own as quite
a nice sampler/mixer (but without enveloping, filtering, and only rudimentary pitch control)
Faq this, faq that
Click the icon, use ALT-N or the FILE menu, or launch a Rack747 from a terminal. Bring the new
Rack747 to the front display by hitting the corresponding button in the status area, or using
the corresponding function key.
I presume you mean the numbers in the sequence display: most of the others are arbitrary
values between 0 and 1. The sequence numbers correspond to midi note no (pitch) and
velocity (volume). With a standard pitch table, middle C corresponds to note no 72. With a
non-standard pitch table, what you would call "C" is anybody's guess. Personally, I like this
notation: it tells no lies, and tells the reasonable truth of "which midi values this note sends/receives".
If anybody wants it badly enough, I'll include a pitch class/register notation
(like "f#0" or "a#7") as an option. Any better ideas? You tell me ...
Yes. Get a screen dump, convert it to GIF or JPG and replace the file "background" in the racks
home directory. 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.02 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