Acorn Electron scrutinised
A slight deviation from the usual format — David Palmer targets on the Beeb's baby brother from Acorn.
Of the many micro computers launched during the summer, the Electron is the one that many predict will take a lion's share of the market during the Christmas sales period. The reason: the computer is manufactured by Acorn, though for most of you that statement will take a little explaining.
The name Acorn is not very familiar to the majority of the public, but it is this company that produces the enormously successful BBC microcomputer. The Electron is a new design from Acorn, but in essence the machine is a stripped down version of the BBC model B. So, a large part of the vast array of books and software available for the BBC is, to a greater or lesser extent, applicable to the Electron. With this sort of support the Electron is bound to do well.
It is particularly attractive because of its £199 price tag. This price may well come down by the start of next year so if £200 odd still seems rather too much to pay for a musical micro it might be worth waiting six months or so.
The sound section of the BBC micro was described in the very first issue of 'Electronic Soundmaker', and as we've said, the Electron has been designed to be compatible with that machine. It's no surprise therefore that the basic form of the Electron's sound command is
where C selects the channel number of the sound, A switches the sound on/off or enables an envelope statement, P sets the pitch of the sound, and the last parameter D determines the duration of the note.
The first parameter C can take one of four values. If set at 0 the Electron's pseudo random noise generator will be enabled while setting C to 1, 2 or 3 will enable the tone channel. It should be noted that there is only one noise channel on the Electron (as opposed to the three on the BBC) and that the reason for providing three ways of selecting it is to maintain compatibility with the machine's bigger brother.
The second parameter A will set the amplitude of the output sound to maximum if set at a negative value, will turn the output off if set at 0 and will select one of 16 envelope patterns if it is a positive number in the range one to 16. The ENVELOPE command is a very powerful feature of the Electron and we'll return to it a little later.
The P parameter sets the Pitch of the sound output according to the values shown in Table 1. Note that values for P can vary between 0 and 255. The lowest value, 0, produces the B one octave and a semi-tone below middle C, and adding one to any value of P produces a quarter semi-tone pitch change. It should also be pointed out that it is only with values of P up to 100 that the notes correspond to the even tempered scale, and that with larger values the notes begin to diverge from the predictions of Table 1.
The D parameter sets the duration of a note and works in steps of 50mS (50/1000 sec). Thus with D at 100 a five second note will be produced. The maximum note length is with D at 254 (12.75 seconds) although setting D to - 1 will cause the Electron to sound the note until it is turned off.
As suggested above, setting the value of the A parameter of the sound command to a positive number in the range one to 16 will select one of 16 user defined envelopes. The form of the ENVELOPE command is rather daunting, but it is not too difficult to master. The basic command is
The first things to dispense with are the six zeros at the end of the command. These in fact do absolutely nothing but must be included to, you've guessed it, maintain compatibility with the BBC micro.
The first parameter n is also fairly straightforward and selects the number of the envelope to be defined.
The s parameter sets the value of the pitch change duration and determines the effect of the commands that follow.
The next six commands are a set of the values for the Pitch increments and for the number of these incremental changes in one of the different sections.
A glance at Fig 1 shows that the Electron breaks down the envelope into three sections and in each section the note sounded can be made to rise or fall by a value determined by the incremental pitch change and the number of these changes. The envelope of Fig 1 would be produced by the following command;
assuming that it was prefaced by an enabling sound command of the form
The envelope number is two and the pitch change duration for the whole of the envelope is set at 1 x 10ms. In the first stage the pitch is set to increase in increments of one quarter semi-tone, in the second to decrease in increments of two semi-tones and in the final stage to increase again in increments of one quarter of a semi-tone.
The next set of parameters determine that the number of pitch changes in the first section will be seven, in the second five and in the last 12.
The total time taken for the envelope will be 7 + 5 + 12 = 24x10mS or 0.24 seconds. This will cause the envelope to be repeated over and over again until the SOUND command finishes.
It can be seen that the ENVELOPE command is an extremely versatile function and when used with SOUND enables the Electron to produce a wide range of musical sounds and various sound effects. The reasonable price and widespread applications of the new Acorn Electron should make it highly popular — not least with computer musicians!
Feature by David Palmer
Previous article in this issue:
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!