FINGERS & TUNESMITH INTERACTIVE MIDI MUSIC GENERATORS FOR THE ATARI ST By Jim Aikin SEQUENCERS ARE PASSIVE BEASTS. When you play a single note into a sequencer, you expect to get a single note back-assuming that it's working properly. Even so, designers have come up with a surprising number of wrinkles on the basic sequencer concept. When it comes to music software that is active rather than passive-that generates dozens of new notes for every one that is input, or generates whole phrases with no input at all - we shouldn't be surprised that every programmer has some radically different ideas about how such a music machine could be put together. Even before Intelligent Music came out with their well-known Jam Factory and M programs, Dr. T's Music Software was selling a forward-looking Commodore 64 program called Algorithmic Composer (see Keyboard Report, Oct.'86). Since then, Dr. T's has switched to the Atari, and programmers Emile Tobenfeld and Jim Johnson have had plenty of time to scratch their beards and think, "Wouldn't it be neat if....". Each of them has come up with his own remarkable new approach to the concept of machine-generated music: Tunesmith from Johnson and Fingers from Tobenfeld, both of which are sold by Dr. T's. The programs are quite different from one another, but by reviewing them together we can give a clearer picture of the strengths and limitations of each. Overview. Both Fingers and Tunesmith are designed so that the computer generates music (i.e., MIDI data) according to its own set of internal rules. The user can interact with the music while it is playing, in a number of different ways. Essentially, the musician is "playing" the screen, or the parameters displayed on the screen. The parameters are organized in such a way that many of the available options will produce musically interesting results. The Atari is a fast enough computer that in most situations, the real-time activities are musically transparent; that is, they don't affect the rhythm. In the simplest possible terms, Fingers is a deterministic program, in which the user makes changes in columns of visible data. The computer cycles through this data in the process of generating music. Tunesmith uses random operations to create its raw material) which remains invisible, and the user-controlled parameters are at a higher level of abstraction. Our first experiments with the programs suggested that Tunesmith's output tends to be more funky, while Fingers lends itself to new age arpeggio patterns. We're sure that lots of other types of output are possible, so please don't take this comment as a complete description, only as a first impression. Fingers generates four monophonic lines at a time, and Tunesmith six. Each line can be sent over any MIDI channel, and various sorts of line controls (such as octave offset, velocity offset, and program change) are provided. Both programs will run in conjunction with Dr. T's Keyboard Controlled Sequencer (KCS) as part of Dr. T's Multi-Program Environment (MPE). The MPE is much more than a program switcher; it allows each program to keep track of which memory locations are used by the others, and even call up certain functions of one program while running another. (For example, if you're editing sounds using one of Dr. T's patch editors, you can use a simple command to play a phrase from the sequencer-without leaving the patch editor.) As music data is generated by Fingers and Tunesmith, it is both sent to the MIDI output and stored as a KCS sequence. You can then switch back to KCS and edit the music or record additional parts before saving it to disk. The programs will also run without KCS, in which case they record their own output and save it to disk in KCS-compatible files. (These can be converted to MIDI file format using a conversion program available from Dr. T's.) Fingers. It's easy to set up a Simple piece on Fingers that will cycle through endless beautiful permutations for hours. But there's far more to the program than that. Ultimately, it's a computer performance instrument. It allows the experimentally inclined musician to change the nature of the playback as the music continues. By clicking here and there on the screen, typing in a few values, or playing a note or two on a MIDI controller, you can get anything from subtle inflections in rhythm and velocity to drastic (and we do mean drastic) structural changes. In a virtuoso-level solo performance on Fingers, the musician might be as busyasa pianist, making tightly choreographed changes. The difference is that Fingers is doing the walking. A piece of music in Fingers starts out asl3 columns of data that are displayed on the screen. (Yes, it's a typical Dr. T program-the screen is crowded with tiny numbers and cryptic symbols.) Four kinds of data are used: pitch, rhythm, velocity, and staccato/legato articulation. Data can be copied from a KCS sequence, which simplifies loading and also lets Fingers play along with or alter monophonic lines that you have previously recorded. When you hit the start button, each of the four monophonic lines starts cycling through all four types of data. Confused yet? The concept is really quite simple. Let's look at one line by itself. The line has four "series element markers," which are visible on the screen. Each marker is in a column of one type of data. In other words, the line has a pitch marker, a rhythm marker, a velodty marker, and an articulation marker. For line 1, the markers are all 1's. (Easy to grasp, yes?) Each time the line plays a note, all four of its markers advance to the next element in their series. Let's say you've set up a pitch series consisting of three elements - C4, E4, and G4. You've also set up a rhythm series consisting of five elements-a quarter-note and four sixteenths. (These would be represented on the screen by the numbers 24, 6, 6, 6, 6, because Fingers normally runs at 24 pulses per quarter-note.) Each marker cycles through its own series, but the series are different lengths. So the result would sound like this: This is a trivial example, but it shows the kind of independent cycling of elements within a single voice that Fingers specializes in. Each series can contain dozens of elements, including loop elements that cause the marker to loop a specified number of times and then go on to other material. By the time you get four voices going, Fingers will produce music that sounds self-similar (that is, it always stays in pretty much the same musical space) but that never repeats any single phrase. The fun starts when you get familiar enough with Fingers to play with the parameters while it is generating the music. Here are some of the things that can be controlled: You can insert or delete elements of any type, or change existing elements to other values. You can copy elements, or swap the positions of two elements. With a single click, you can jump any marker to a different spot in a data column, which has the effect of changing the output of a voice (for example, by causing it to play a different set of pitches than before). You can insert skips or rests at any point. You can highlight any set of pitches and/or velocities on the screen and load them with new values simultaneously by playing a single note on a MIDI keyboard. MIDI can also be used to add new pitches or velocities to the end of any series. By inserting a randomization marker next to a series element, you can cause that element to be randomized each time a voice on marker plays it. Since the randomization can be controlled (for example, pitches can be randomized strictly by octaves), this feature can be used to add spice without taking the music into outer space. Finally, you can set up a second entire screen full of data, which is called the shadow screen because it is hidden behind the main screen. At any time, you can click on any group of visible elements and swap or replace them with the shadow values in the same positions. In addition to the basic octave, channel, mute, and program change controls for each voice, there are several more esoteric controls. The timebase of each voice can be changed individually, independent of the overall tempo. A right click with the mouse doubles or halves the timebase, which lets the voice stay in a coherent rhythm with the other voices. (This is also a way of getting Fingers to play at48 or 96 ppq.) A left click can be used to speed up or slow down by a smaller amount-great for opening up the spaces between those synth wind chimes. After creating an out-of-sync episode with these controls, you can return Fingers to coherent time with a single mouse click. You can set any series element marker to go backward through its series rather than forward, or you can stop the advance entirely, causing that marker to stay fixed at its current value until you decree otherwise. On the version of Fingers that we were sent for review, the MIDI out/thru couldn't be switched off, a major oversight that cuts the polyphony of your synths in half with some MIDI routing schemes. We're told that on the disks now being shipped, this has been fixed, so if it causes you any problems, contact Dr. T's for an update. More importantly, we can't help wishing that Fingers could play chords. Its four-voice maximum tends to be a bit thin unless all four voices are playing the same channel. A system that allowed you to store some four-note chords and enter them as series elements would be a big plus. (If you have KCS Level II, you can always add chords using the ornaments section of the Programmable Variations Generator. A Mapper would work well with Fingers too.) And after playing with Tunesmith, we started wishing that the voice controls in Fingers could be stored in a group of presets for instant recall of a whole configuration. Program changes for all four lines can be stored in a set of four buffers, but this concept could be developed a lot further. Even so, the program as it stands has a great deal of power. We hope that a few musicians will be inspired to become Fingers players. Especially considering its modest price, it's well worth delving into. Tunesmith. And now for something completely different. Tunesmith is a grown up version of the phrase generator section of Algorithmic Composer. As such, it generates its own raw material for playback, in a section of the program called the theme generator. Secret algorithmic processes are used. The user has active control over a number of parameters whose settings are used by the theme generator, but the output is never shown on the screen, unless you send it over to KCS. In the original version of the program, there was no way to edit themes or record your own, but just before press time we were sent a version that is capable of translating KCS sequences into Tunesmith format - a powerful addition, as it allows you to use Tunesmith's automated accompaniment features on your own raw material. Up to 20 themes can be stored in memory at a time. Each of them is monophonic, and only one can be played back at a time. But if that sounds like a limitation, keep reading. Three or four levels of complexity get stacked on top of the simple random (or prerecorded) pattern of the theme. Besides, who said the random pattern had to be simple? Maybe we should start out by explaining the main parameters that go into generating themes, and then move on to the playback options. Obviously, you can decide how long your theme will be. The length is set as a number of "microbeats." In normal usage, a microbeat would be a sixteenth-note. The microbeat value is equivalent to quantization, in that the program will only generate notes on microbeats. A pulse value is used to determine how the micro-beats will be separated into accented and unaccented beats. Normally you might leave microbeat set to 6 (for sixteenth-notes) and pulse to 2 or 4, but if you want to get strange, you could generate a group of themes that have some unusual clock settings, in order to throw some rhythmic curves into your music. Next, you can set the probability that any given note will be a rest, and choose which of the four rhythm algorithms will be used. (We're not going to try to explain these heie. They produce interesting music; trust us.) You can set the range of notes that the machine will work with, the maximum size of melodic steps and leaps, and the maximum number of repetitions of the same pitch within a theme. The settings for onbeat and offbeat scale weight are quite useful. In order to explain them, we have to explain that Tunesmith does not use MIDI note data in its own internal computations. Instead, it uses an arbitrary, non-specific seven-note scale, whose steps are simply numbered 1 through 7. There are eight different user-programmable probability tables in memory, which determine how likely each of the seven steps is to be chosen for a theme. For example, let's say table 1 contains a 0 for every scale step except steps 3 and 4, and contains a 1 for step 3 and a 2 for step 4. Now, if you choose this table for the onbeats of the theme, only steps 3 and 4 will be generated, arid step 4 will occur about twice as often as step 3. (For an explanation of how these arbitrary scale steps are translated into MIL)l data, keep reading.) A smaller set of parameters is used to generate variations based on the current theme. The variations are useful when you want to switch back and forth among several closely related themes. And with this many parameters to set, you may find a number of combinations of settings that produce musically interesting themes, while others product what sounds to you like garbage. As an added convenience, Tunesmith lets you work with a bank of 26 different theme generator presets, which can be saved to disk. Before we go on to explain what you can do with themes, we should mention that the machine can generate new themes without interrupting playback. Most often, you'll probably be using Tunesmith in a quasi-deterministic fashion, generating themes until you get a bunch that turn you on and then doing an arrangement with them. But if you should happen to want to play a little dice with your music during a concert, Tunesmith will be happy to oblige. A theme is played back through a module called the accompaniment generator. This turns a single monophonic line into six lines, using some fairly complex logical interactions. To start with, each line can have its own MIDI channel, optional program change number, octave offset, velocity level, time delay, and velocity accent amount. (The theme generator creates accented, unaccented, and anti-accented notes, which the accompaniment generator then interprets based on its current accent setting.) A staccato/legato parameter can have any of eight different settings for each line, but these don't correspond in a simple way to shorter or longer notes. They're more complicated than that. In fact, many of the parameters in Tunesmith appear as numbers on the screen, even though the numbers are not amounts but choices from among a list of options. Some of these options may cause a given line to output nothing, so the setup can be a bit bewildering until you understand how it works. Fortunately, the program has several help screens, which show what your options are in each area. The help screens can be called up without interrupting playback. The more interesting aspects of the accompaniment generator are the rhythm, divide, harmony, and transpose parameters, which cannot be applied to the basic theme itself but only to the five accompaniment voices that are generated in conjunction with it. For example, if we choose rhythm algorithm 2 for voice 2, then voice 2 will play a note on any beat where the theme itself has a rest. Algorithm 5 will cause voice 2 to double every accented note of the theme. And so on. Each algorithm will have a different musical effect, and some may or may not generate any notes at all, depending on what is in the theme. The divide setting causes a voice to skip some of the notes that it would ordinarily generate. For example, with a divide factor of 3, a voice will play only every third note that would be indicated by the rhythm algorithm. The harmony setting determines whether the accompaniment voice will parallel the theme, play an inversion of the theme, drone on a fixed note, arpeggiate, or choose notes at random. Arid the transposition setting can be used to set the accompaniment voice to some non-unison interval above the theme. (Transpositions move by scale steps, not by absolute MIDI note numbers.) All of these settings interact. For example, if the rhythm algorithm is set to 5, divide to 2, transposition to 3, and delay to 24, the accompaniment voice will spit out a note two scale steps above every accented theme) note, but it will do so only on every other accented note (because of the divide) and will be a beat late (because of the delay). And of course, each of the five accompaniment voices can have its own complete set of parameter settings. As you can imagine, the logic by which the accompaniment generator operates quickly ceases to be audible. The result, however, is that all of the voices have more or less musically coherent relationships to one another. A special set of five harmony algorithms is used for generating drum patterns. One advantage of this is that a voice set to a drum algorithm will not be affected by the various tonality controls (octave, scale, and mode). Up to 26 accompaniment presets can be in memory at a time, and you can switch from one to another during playback-either instantly, or on the next beat, or the next time the theme starts cycling through. Tunesmith's scale and mode controls add another significant dimension of power. We mentioned above that internally, the program uses an abstract seven-note scale. This is translated into MID output using any of the 46 user-programmable scale tables. Each table lets you choose any MIDI note for each of the seven Tunesmith scale steps in each octave. Ten octaves of scale are given in the table, and each octave can have its own series of notes if you like. We found that this allowed us to program some really outrageous tonalities. The mode settings (accessed from the Atari's ten function keys) allow you to move the entire theme and accompaniment up or down within a given scale. This works exactly like white-key transposition within ordinary classical modes: Imagine playing "Twinkle, Twinkle, Little Star" starting on C and then, in the middle of the melody,jumping up two keys to continue, still on the white keys, in Phrygian mode with E as the tonic. Got the idea? Okay, now generalize it with reference to any user-defined scale. The possibilities we've just outlined are fairly boggling. As Tunesmith plays, you can switch from one scale or mode to another, switch to a new theme or accompaniment preset, generate new themes, edit the accompaniment parameters, ortranspose in a conventional manner by octave or any smaller interval. The top level of Tunesmith, however, is a module called the arranger. This allows you to string together up to a thousand combinations of the above for automated playback. Arrangements can be entered one step at a time, or you can improvise changes in all of the elements and have the arranger record your moves. Once an arrangement is in memory, you can interact with the arranger during playback. You can tell it to play back its memory but ignore the mode settings in the arrangement, or the modes and themes, or whatever combination you like. You can then improvise these settings on the fly, and record them as over-dubs if desired. All sorts of Tunesmith data (scales, themes, arrangements, accompaniment presets, or all memory) can be saved individually to disk. So you could, for example, build up an arrangement and accompaniments that you like and then plug in new themes, which would drastically alter the sound of the music but perhaps leave it recognizable in some ways, or at least vaguely familiar. Tunesmith is a really impressive program, and we're looking forward to using it in some compositions. Conclusions. While neither Fingers nor Tunesmith is totally comprehensible the first time you boot it up, they can both make some wonderful sounds after only an hour or so of study. And there are plenty of options that let you dig deeper into them. We suspect that with a few weeks of work, the experimental musician could come up with pieces of awesome beauty on either program. These pieces wouldn't necessarily conform to any traditional musical style, however. Part of the challenge of learning a music generator program is developing your personal aesthetic to the point where it can encompass phrases that-let's face it-aren't being played by human beings. Both Tunesmith and Fingers are cleverly enough designed that they produce phrases that appear to be intuitively meaningful to our ears, but it's still an open question whether many composers will opt for automatic processes as opposed to relying on their own biological sources of inspiration. The jury is still out on whether programs like these are the wave of the future, or merely curiosities that allow those with a MIDI setup and time on their hands to do some neat tricks. We don't have space in this review to do more than hint at some of the possibilities that users may discover in these programs, and we've had to skip over many of their less important features. If you're interested in computer-based music generators, we'd recommend that you get a good demo of both programs. They're difficult to describe well in words, but they're definitely exciting to listen to. E Fingers Description: interactive MIDI music generator. Haidware Requirements: Atari SI or Mega, any MIDI tone module. (Multi-channel capability recommended.) Features: Continuous, automatic output of note data with real-time user control over pitch, velocity, rhythm, channel, phrase structure, and many other parameters. Independent looping of four data types within each of four monophonic lines of music output. Suggested Retail Price: $79.00. Contact: Dr. T's Music Software, 220 Boylston St., Chestnut Hill, MA 02167. (617) 244-6954. Tunesmith Description: Interactive MIDI music generator. Haidware Requirements: Atari ST or Mega, any MIDI tone module. (Multi-channel capability recommended.) Features: Machine-generated random melody generation with many dimensions of user control. Five-voice accompaniment with rhythm and harmony algorithms. User-definable scales and drum kits. Real-time or data input recording of 1,OO(~phrase arrangements. Internal and disk storage of banks of accompaniment, scale, and music data. Sgggested Retail Price: $149.00. Contact: Dr. l's Music Software, 220 Boylston St., Chestnut Hill, MA 02167. (617) 2444954. Pros & Cons Pros: Great at generating new kinds of music and adding a new dimension to some of today's styles. Allows user to control large features of music while computer fills in details. Fully interfaceable with Dr. T's KCS sequencer for post-editing. Cons: Requires learning new terminology and features. Limited number of output voices. Keyboard Magazine October 1988