MusicBox for the IBM
Keyboard Report july 1989/Keyboard
- Musicbox Algorithmic Freeware for the IBM, by Carter Scholz
- Tired of salivating over the keyboard Reports on items that you
can't afford? Then you may enjoy reading a review of MusicBox, one of
the neatest, most unusual IBM programs we have ever seen. It's not a
commercial program; it's in the public domain, and that means it's
absolutely free. It can be downloaded, complete with documentation,
from most bulletin boards.
The program is MusicBox, by John Dunn. "Algorithmic composition" with a
difference: it gives the user full control over the algorithms used.
Instead of just twiddling knobs on a preset screen, you actually
construct the algorithms by linking basic functions that appear as
icons. It's like patching a modular synth. To describe MusicBox more
fully, we're going to paraphrase Dunn's lucid, informative 70-page
manual, which is distributed with the program as a disk file.
"MusicBox is a flexible, openended working environment for developing
original material. Although capable of recording incoming MIDI data, it
is not intended for use as a MIDI recorder. MusicRox is conceptionally
different from a sequencer because it is a composition tool rather than
a recording and arranging tool.
"You program MusicBox by patching the outputs of modules to the inputs
of other modules. There are no patch cords to fuss with. Patches are
automatically labeled as they are made, and since the computer is
perfectly willing to make multiple copies of modules, there are always
enough of them."
- Like most musical instruments, MusicBox allows subtle, interesting
music only in proportion to the investment made in acquiring skill in
its use. It is not easy to learn. The most interesting modules are not
intuitive, and many of the module icons are cryptic. The good news is
that once learned, Music-Box gives the composer a degree of control and
agility in working with complex musical events that is simply not
available with more conventional approaches."
To use MusicBox you must have a mouse and a CGA or EGA display adapter
- a Hercules-type adapter won't work. You may use a mono monitor, but
many of MusicBox's functions are color-coded, so a color monitor is
desirable. MusicBox uses the MPU-401 MlDl interface, and will support
two of them. MusicBox algorithm setups can be saved to disk, but the
actual note output can't be. In order to record it, you must use an
external sequencer. The program can be synced to the sequencer using
MIDI clocks.
The MusicBox display comprises two screens. On the first is a palette
of module types (see Fig. 1). Each of these 21 types comes in several
varieties. For example, Random can generate random numbers, or switch
randomly between eight input sources. Sequence is a 64,000-event
sequencer that can record MIDI input; several can be ganged together
for parallel events. Math can add, subtract, multiply, divide, take
powers, and more. Other modules are called Switch, Logic, Mix,
One-Shot, and Slew. With all the variants of the 21 types, there are
over 150 varieties of modules altogether.
Fig. 1. MusicBox's palette of software modules
Fig. 2. Setting two trigger modules to cycle with four cycle values each results
in irregular but synchronized rhythms, which can he combined into composite parts like the one shown.
- You click on a particular spot in a module to select the variety;
this makes a copy of the module that you can move to the second screen,
your workspace. Once you've got all the modules you want on screen two,
you hook them together by clicking on the inputs and outputs. You can
change the setting of various controls on a module by clicking on them,
then dragging the mouse to increase or decrease the value.
We like this because it's conceptually similar to the way we learned
synthesis, on a modular Moog, and because the paradigm remains direct,
versatile, and powerful: patching modules together. We like it more
because it gives us the kinds of controler modules we always wished the
Moog had had.
- Here's a simple patch. We select a Clock module for our metronome,
and patch its output to the clock inputs of two identical Trigger
modules of the "pattern generator" variety. These modules have four
"cycle" inputs, which can be set to constant values or patched to
outputs from other modules. We'll set the first module's cycle inputs
to constants: 5, 8, 9, and 12. This produces trigger outputs on every
5th, 8th, 9th, and 12th metronome pulse, creating the polymeter shown
on the first staff of Fig. 2. The second Trigger module we'll set to
cycles of 4,6, 7, and 11; this makes the pattern on the second staff.
Now we select two MIDI output modules, and set both to MIDI channel 1.
The "transpose" setting of one we'll set to 60 (for a pitch of Middle
C), and the other to 76 (the E a
tenth higher). Velocity of both is set to 64. (All these inputs can be
controlled by variables from the outputs of other modules; for this
simple example, we're setting them to constants.) Finally, we patch the
triggers from the two beat-pattern outputs to note inputs on the MIDI
modules, and we hear the two polymeters playing at once, the first
pitched at C, the second at E, as on the third staff. Voila!
- If you run out of space for modules on the second screen, you can
access extra workspaces. With a CGA, three workspaces are available;
with an EGA, seven. Workspaces can be saved to disk, of course.
This is a very simple example that gives only a hint of the flavor of
MusicBox. We've played with the program off and on for weeks, and we're
not near exhausting the possibilities. There are still modules we
haven't tried. It's delightful to find that MusicBox doesn't stamp your
music with its own personality. And if you really want to get into it,
there's a way to add your own custom modules to MusicBox's repertoire,
if you know assembly language.
- You can download MusicBox from any of the major on-line services: CompuServe (voice:











800-848-8990
, or 










617-457-8650
in Ohio; access through Tymnet [voice: 










800-872-7654
] and Telenet [voice: 










800-336-0437
]), BIX (voice: 










800-277-2983
and 










603-924-7681
; modem: Tymnet), GEnie (voice: 










800-638-9636
), PAN (voice: 










215-584-0300
; modem:











617-576-0862
), or the Well (voice: 










415-332-4335
; modem: 415-332-106).
- Pros: Extremely flexible user-definable algorithms. Free.
- Cons: Somewhat cryptic interface. Requires mouse and color display.
- Carter Scholz is a frequent contributor to Keyboard. He spends entirely too much time in front of computers.