Magazine Archive

Home -> Magazines -> Issues -> Articles in this issue -> View

Softmusic

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.

Introduction



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.

Figure 1. Block diagram of the Muse.
(Click image for higher resolution version)


How it Works



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.

Pic 1. Front panel of the Soft Muse.


Software



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 Cursor will ascend the rows maintaining its column position.

The cursor will traverse across the columns from right to left maintaining its row position. If the cursor is in the control box then it will always jump to the same row about ¾ up column 8.

The cursor will descend the rows maintaining its column position.

This key alters the 'set' switch position in the column that the cursor occupies. The old position is deleted and the box which the cursor is occupying is 'set'.

A few points have to be noted about the command keys:

1) There is no wraparound of cursor movement. For example, the cursor will refuse to move further right than the control box or further left than column 1.

2) The cursor can only move within the 8 switch columns and the control box.

3) The cursor can move to any legal position on the screen without affecting the 'set' state of the Soft Muse. Only the LOCK key alters the set switch positions.

4) The cursor control keys have automatic repeat. Every single key depression does not necessarily mean a cursor movement since the program is not executing a continuous Atom keyboard scan.

The program that maintains the 'Front Panel' graphics and interprets the keyboard commands is written in BASIC. In fact, the Soft Muse has a split personality. There are two programs apparently running simultaneously. The second program is an interrupt driven machine code routine that is the mind of the Soft Muse. The two programs are oblivious to each other, but share a common set of memory locations which the BASIC fills with data for the machine code to use. Even if the BASIC program crashed the Soft Muse would quite happily churn out tunes regardless, using the data from the last 'set' state of the graphics.

This can be shown by pressing the U key which acts as ESCAPE. The Atom reverts back to the BASIC monitor but the machine code routine continues to be invoked by the interrupt as before. Incidentally, it is quite safe to use the BASIC cassette commands such as LOAD and SAVE while the Soft Muse is running since the Atom sets the interrupt disable mask and prevents further interrupt requests (IRQ) for the duration of these commands.

Figure 2. Digital to Analogue convertor circuit.
(Click image for higher resolution version)


Hardware



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.

Figure 3. The interrupt circuit.
(Click image for higher resolution version)


Operation



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.

Table 1

Scale ROM Address DAC Input Note
D C B A D8 D4 D2 D1 D0
0 0 0 0 0 0 0 0 0 C
0 0 0 1 0 0 0 1 0 D
0 0 1 0 0 0 1 0 0 E
0 0 1 1 0 0 1 0 1 F
0 1 0 0 0 0 1 1 1 G
0 1 0 1 0 1 0 0 1 A
0 1 1 0 0 1 0 1 1 B
0 1 1 1 0 1 1 0 0 C'
1 0 0 0 0 1 1 1 0 D'
1 0 0 1 1 0 0 0 0 E'
1 0 1 0 1 0 0 0 1 F'
1 0 1 1 1 0 0 1 1 G'
1 1 0 0 1 0 1 0 1 A'
1 1 0 1 1 0 1 1 1 B'
1 1 1 0 1 1 0 0 0 C"
1 1 1 1 1 1 0 1 0 D"



Previous Article in this issue

Powertran Transcendent Polysynth

Next article in this issue

Warren Cann's Drum Column


Electronics & Music Maker - Copyright: Music Maker Publications (UK), Future Publishing.

 

Electronics & Music Maker - Feb 1983

Feature by Jim Grant

Previous article in this issue:

> Powertran Transcendent Polys...

Next article in this issue:

> Warren Cann's Drum Column


Help Support The Things You Love

mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.

If you value this resource, you can support this project - it really helps!

If you're enjoying the site, please consider supporting me to help build this archive...

...with a one time Donation, or a recurring Donation of just £2 a month. It really helps - thank you!
muzines_logo_02

Small Print

Terms of usePrivacy