Softmuse Auto Composer
Softmuse is the first in a new series of articles using microcomputers in music, simply titled 'Softmusic'. Each article will be supported with the relevant software in the form of a cassette tape available from E&MM.
In 1972 two professors of that famous institution of engineering, the Massachusetts Institute of Technology, developed and marketed an unusual automatic composing aid. They formed a company called Triadex and named their machine the Muse. It offered literally billions of diatonic note combinations ranging from very short sequences to tunes which could last over 4,000 years if played at a rate of 1 note per second!
Unfortunately it never caught on. Very few people have even heard of the Triadex Muse, much less seen one. This was probably due to the type of electronic music that was prevalent in the early seventies. The analogue synthesiser and its marvellous gamut of sounds overshadowed the new techniques that were slowly emerging from the undergrowth of computer technology. It is only recently in the last five or six years that real time analogue and digital processes have become interchangeable or, as in some instruments, come together to form a hybrid such as the PPG Wave. Automatic sequencers and arpeggiators are now standard on many synthesisers (and organs), eg. SCI's Pro One, Roland SH101 and some of the smaller Casio range. The electronic music world is dominated by all manner of rhythm units and bass line sequencers etc, the very environment in which the Muse would have captured interest. Sadly the Muse was before its time and quickly faded into obscurity.
The time is now ripe therefore a new and improved version. Rather than redesign and build a hardware version for economic reasons the whole system is emulated by a program written for the Acorn Atom microcomputer: a Soft Muse.
The equivalent block diagram of the Soft Muse is shown in Figure 1. The idea is very simple and would involve nothing more than a few standard TTL or CMOS packages.
A low frequency oscillator clocks a binary counter with divide by 2, 4, 8, 16, 32, 6 and 12 outputs. It also drives a 31 stage linear Feedback Shift Register (FSR). The FSR is simply a 31 stage serial in parallel out shift register, the Data In of which is determined by the Exclusive OR (parity) of the output of selected stages. Thus the input is a linear feedback function and causes the register to circulate sequences of ones and noughts which may be very short or extremely long, depending upon which stages are selected as feedback points.
The longest sequence that can be generated before repetition occurs is given by 2n-1 where n is the number of stages involved. In this case n = 31 and the maximum length sequence would require 2147483647 clock pulses to repeat. This type of circuit is often used for generating random noise since even a few stages will produce a pattern whose sequence is difficult to detect.
The 31 outputs of the FSR, 7 from the counter plus a fixed logic one and zero together form 40 rows of outputs which can be selected by the 8 columns. Each of the 8 columns comprises a '1 of 40' selector switch. Switches 1 to 4 determine the feedback for the FSR and they may be regarded as the inputs of a 4 input EX OR gate whose output is connected to the Serial In of the shift register. The remaining 4 switches determine which note is actually played. The levels appearing at the poles of these switches combine to form a binary address for the note ROM. Table 1 shows the relationship between the address presented by the switches and the note selected for the major scale.
At this point it is worth remembering that the Soft Muse will be connected to a voltage controlled synthesiser and the note ROM will output a binary code which, after digital to analogue conversion, will correspond to a control voltage.
For example, if the switches 5, 6, 7 and 8 at some instant tap off 1 0 0 1 respectively, and the major scale is selected, then the ROM will present the code 1 0 0 0 0 to the DAC. The synthesiser would play E' provided it was tuned originally so that the 0 0 0 0 played C.
In a hardware configuration the logic itself presents no problem. The difficulty lies with the selector switches. These would be difficult and expensive to obtain as would a 40 x 8 patch board. For this reason a software approach was chosen.
The program requires a fully expanded Acorn Atom with the optional VIA and floating point ROM. In addition an external DAC and clock circuit is also required. More about these later.
On running the program the Atom presents a 'front panel' using the high resolution graphics. This is shown in the photograph. The graphics represent the important functional blocks and the 8 selector switches are shown as 8 columns each of 40 contiguous boxes. To the right of the screen is a control box containing 6 selectors labelled J, b, W, P, R and C. These perform 'management' functions such as scale selection, reset and clear.
The Soft Muse begins in a clear condition with the 8 selector switches being 'set' at the top of each column, i.e. at logic 0 and the major scale selected (J) in the control box. Also the FSR is cleared and the first stage Q1 is set at logic 1.
A box which is solid black indicates the 'set' position of the switch in that column. A flashing cursor is presented and indicates the position on the screen at which the next action will take place. For example, if the up command is given, the the cursor will move up one box from the last position.
Control over the Soft Muse is simple and easily effected by the two Atom Cursor control keys, SHIFT and LOCK. A list of key commands as entered from the Atom keyboard is shown below:
The cursor will traverse across the columns from left to right maintaining its row position. When column 8 is reached the cursor will jump to the 0 position in the control box regardless of its row position.
The Soft Muse is in communication with the outside world in 4 different ways. Two of these methods are via graphics and the Atom keyboard and have already been dealt with. The remaining two are the interrupt circuit and the DAC.
Neither circuit presents any problems especially since the DAC, Figure 2, is a modified version of the Spectrum DAC given in the Micromusic article November 1982.
The interrupt circuit, Figure 3, is little more than a CMOS oscillator wired around IC 1a and 1b. The rest of the circuit provides on/off and single stepping of the sequence.
Four gate out options are available and the ÷2 gate outs are useful for sequences which have many consecutive notes that are the same.
Although it is not necessary to understand in musical terms exactly what each column does, it helps, in a global sense, to predict the type of sequence that will result from a given setting:
Column 5.....corresponds to a tone interval
Column 6.....corresponds to a 3rd interval
Column 7.....corresponds to a 4th interval
Column 8.....corresponds to a 9th interval
For example, ignoring the theme switches, if the interval switches 5, 6 and 7 (tone +3rd +4th) are set to the first row of the counter (÷2) the synthesiser connected to the DAC will trill between an octave. Setting switches 6, 7 and 8 (3rd +4th +9th) to the same row will now result in a trill of 2 octaves. These are useful settings for calibrating the DAC.
An ascending scale can be produced by setting switches 5, 6, 7 and 8 at rows ÷2, ÷4, ÷8 and ÷16 respectively of the counter. If the cursor is moved to the control box different scales can be selected:
J — major
b — minor (flattened 3rd and 6th)
W — whole tone
P — pentatonic
All that remains is to experiment with the 'Theme' switches. These determine the sequence which will circulate in the FSR.
One possibility is to set 3 of the Interval switches in the counter rows for a repetitive pattern and set the fourth somewhere in the FSR rows. The result is that the repetitive pattern is modified according to the FSR sequence.
To reset the sequence, i.e. start from the beginning by clearing the counter and FSR, move to the control box and set box R. This also puts a 1 in the Q1 position of the FSR and is sometimes necessary when the start up Q1 = 1 has been shifted past Q31 with no feedback selected. Note that R does not alter the set state of the switches.
Setting C (clear) of the control box returns the Soft Muse to its start up condition with all the columns set at row 40.
In general, it is very difficult to predict exactly the effect of a particular switch setting since the number of possible combinations are enormous. The best strategy is to set up a familiar combination and move the switches one by one away from the original setting to observe the effect upon the sequence.
A cassette tape of the SOFTMUSE program for use with the Acorn Atom, is available from E&MM, (Contact Details). The tape costs £3.95, including VAT, postage and packing. Please order as: Softmuse Data-tape.