AMPLINEX 006

image
AMPLINEX issue 006 was published in July 1988. Each AMPLINEX magazine is stored as a 200K single-sided 80-track disk image file (.ssd file type). The image can be used to create disks for a BBC Micro or can be loaded into a BBC emulator. For the disks to run, the BBC (real or emulated) must have an AMPLE Nucleus ROM installed and be running the Hybrid Music System.

News and reviews

Waveform Designer

Kevin Doyle
Distribution of the SoundSculptures Waveform Designer (reviewed in AMPLINEX 004) has been disrupted recently due to the rise in price of EPROMs, according to Jonty Stockdale, the designer of the software. He said that he had delayed production of the latest batch whilst trying to find a cheaper source of blank EPROMs but had now decided to buy at the more expensive price. The backlog of orders should be cleared within the next week.
The higher costs mean that, in future, the software package (which consists of a floppy disc, ROM and manual) will cost £31.00 - an increase of £2.00. The delivery time should be a maximum of 21 days.
Mr Stockdale also stressed that the software would currently only work with the BBC Model B, but that he was working on a new version which would be compatible with the BBC B+ and Master. This should be available by September.

The Wave Designer is available from:
Mr J Stockdale
7 Newhey Road
Cheadle
Cheshire SK8 2AQ
priced £31.00 including postage and packing.

Fatal Diseases cassette

Roy Follett
AMPLINEX 004 contained an advertisement submitted by one of our members for an audio tape of music using, amongst other instruments, the Music 5000. Intrigued by this, I asked for and was sent a review copy.
I wish now that I had not done so. I do not want to appear uncharitable but, although I appreciate the amount of work that went into the production of this cassette, the lyrics hit a very low low.
The titles themselves set out to offend, for example:
'Rap' an everyday story of constipation, domestic accidents and wild perverted sex
or
'Mr Trousers', a classical operetta about a man with a huge willy
or
'Vomit tastes like Weetabix' a smooth jazz ditty about cat produce.
To move on, I liked the music. With one or two exceptions, most of it was very inventive with the Music 5000 being detectable. Being on audio tape one is not able examine the production as AMPLE users normally do, but must do it aurally. In case I was too old in the tooth to appreciate this production as a whole, I asked my son to listen and give his opinions.
These are few of them:
'Lager frenzy'. Alright, but rather spoilt by unnecessary sound effects.
'Hot sausage merchant'. Messy.
'Fatal diseases'. This one is OK but I kept waiting for something to happen.
'Juxtaposition'. Ditto.
'Rap'. Ditto
'Till the end of time'. Several orders of magnitude better. Several changes of tempo made this much better.
I wonder why this cassette was made; was it to entertain the listener or was it an exercise in self-indulgence by the performers?
What else can I say, I've tried to like this production. But I cannot.

The cassette 'Fatal Diseases' is available from:
Mike Dobson (Promotions Manager)
63 Galsworthy Road
Goring-by-Sea
Worthing
West Sussex BN12 4UP
for £2.50.
A new cassette titled 'Beastiality Blasphemy Bondage Buggery Blood' is also available for £3.50.

Published in AMPLINEX 006, July 1988 

Varen (Last Spring)

by Gerry Timm

Composed by: Edvard Grieg

I chose Varen as an exercise in expression control and dynamic balancing of 8 parts. My Music 5000 was originally obtained as a means of trying and storing musical ideas and arrangements - which it does admirably - but I am now 'hooked' on AMPLE and trying to unravel it. The Staff Editor is a boon. I initially write parts here, laying them down one at a time, listening for errors not detected by the editor. Before AMPLINEX my only real source of information and help was studying other people's programmes.

Gerry Timm, Lincoln, March 1988
 

Source: AMPLINEX 006 disk, file $.SPRING


Published in AMPLINEX 006, July 1988

Save Me

by Mike Dobson

Composed by: Brian May

The main point of interest here is my extensive use of AMPLE's broken chord feature to produce a strumming effect - see player 4's parts.
You may also notice most of the instruments are from the Music 4000 demo jukebox. I find there is little need to define new sounds when so many are provided already.
 

Source: AMPLINEX 006 disk, file $.SAVEME


Published in AMPLINEX 006, July 1988

Phase

by Tony Snell

This music is written so that it plays forever and so this recording is just a sample of the music that it could produce.

Something for all you minimalists out there...

Part 1 and part2 differ only in the speed at which they play the parts.

Try changing the short sequences of notes in the phrases, changing the order in which they play etc.

Don't forget to switch off before you go to bed.
 

Source: AMPLINEX 006 disk, file $.PHASE


Published in AMPLINEX 006, July 1988

March of the Jazzmen

by Bill Mellor

Composed by: Morgan Jones

Arranged by Harry Gold

MARCH OF THE JAZZMEN is programmed from a typical piece of sheet music known in the trade as 'Dots for Small Combo's' and is of the type used by hundreds of small Trad Groups during the 50's 60's and 70's known as Dixieland.

Having played Trombone in one such group for the past twenty or so years I have a great affection for this type of music and I hope it is sufficiently different from most of the AMPLINEX contributions to have some novelty appeal. Please feel free to experiment.

Bill Mellor
 

Source: AMPLINEX 006 disk, file $.MARCH


Published in AMPLINEX 006, July 1988

Grunt for Grunt

by Ted Kirk

Composed 1980 and programmed 1988

I can't remember why it's called GRUNT FOR GRUNT, but I think there's a loose connection with a BBC show that was called WORD FOR WORD.

The piece was originally written for a school jazz group, as you can probably tell.
 

Source: AMPLINEX 006 disk, file $.GRUNT


Published in AMPLINEX 006, July 1988

Gills

by The Awfully Nice Software Co

Close the curtains Geoffrey I'm amphibious

 

Source: AMPLINEX 006 disk, file $.GILLS


Published in AMPLINEX 006, July 1988

Spy Programs

A G Walduck
In an attempt to 'look inside' the machine as AMPLE was playing music (to see if I could spot interesting things like sound event queues and to try to make some sense of them) I wrote two short programs to give me a dynamic memory display of areas within the machine.
Most other methods are unsuitable for use with AMPLE: Exmon is another language ROM, and only one language can be active at a time; Disc Doctor's MZAP almost completely takes over the machine; ADT's MEX command hangs the machine if executed from AMPLE.
I wished to obtain a fairly large 'window' into the machine, refreshed as rapidly as possible, that could co-exist with a busy AMPLE environment, could be easily instructed to view different areas, and could be turned on or off at will. Above all the keyboard control of AMPLE still had to be maintained.
The program is a small (less than one page) machine code program (AMPLE was far too slow!) which is completely illegally written, writing directly to the screen (apologies to Shadow RAM users, but even the OS routines are too slow), grabbing Econet zero-page workspace (&90-&9F) for its use, and residing in either page &900 or &A00 (which probably clashes with the Staff editor buffer usage of this area). It is a real quick-and-dirty program - but if anyone cares to improve on it, so much the better.
It exists as a background process, driven by the vertical sync event. Consequently the display can be animated by *FX14,4 (turn vertical sync event on), or frozen by *FX13,4 (turn vertical sync event off). Since text windows are not used, if the screen scrolls the display gets a little fragmented, but to no harm, and a quick 7 MODE puts everything to rights again.
The program suite exists in two versions, a 'normal' one which displays in the lower half of the screen (more suitable for coexisting with Menus and Editors), and a 'Hi' version which uses the upper half of the screen, and which is more suitable for use with the Mixing Desk. This version has to write a little more to the screen (i.e. spaces) for the output to be presentable, so is potentially a little more demanding of the processor, which can occasionally get a little stretched at busy times in the music processing; under these circumstances the music will temporarily slow or get out of step.
Each version consists of two programs:
a) U.MonS (or U.HiMonS) - a BASIC source program to assemble the code, and to save the machine code image. It also gives a test environment in BASIC, and starts with a display of the active area of the BASIC stack (for a bit of movement!). The machine code images produced are called Mon (or HiMon) and must be loaded at &900.
b) U.Spy (or U.HiSpy) - an EXEC file to load the machine code, set up function keys to 'move around' in memory, write the vector contents, and turn on the display (this time of the AMPLE stack). A couple of new AMPLE words are defined ('set' and 'show') to help in its use. These will be lost if a new program is loaded (unless SPY is EXECed again), but the equivalent commands can still be typed by hand.

Interesting areas in AMPLE memory

&160 show

The AMPLE stack. Unusual in that it runs from &17F down, and AMPLE error messages reside at &180 up (c.f. the typical BASIC/OS stack which runs from &1FF down, with error messages at &100 up.

&1D38 show (&2138 show, for the Music 4000)

Use HiSpy and the Mixing Desk to view this area within the M.M5 module work area, and one can readily see the correspondence between sounds on voices shown on the mixing desk and changes in this area. If the music is very busy, remember that the Mixing Desk screen refresh is a very low priority task in AMPLE so it may well lag noticeably behind the Spy screen, which has a higher priority than many of the AMPLE processes.

&1913/4 show

This is in the M.INT area and is incremented each 1/100th of a second during the running of an AMPLE music piece. Possibly the master timebase for the system.
I would be most interested if anyone finds any more attributable actions in the welter of changing data that this program reveals.

Related files on this disc:
U.MonS - BASIC program to produce 'Mon' machine code
U.HiMonS - BASIC program to produce 'HiMon' machine code
U.Spy - EXEC file to enable use of Mon code within the AMPLE environment
U.HiSpy - EXEC file to enable use of HiMon code within the AMPLE environment

Published in AMPLINEX 006, July 1988

Joystick for MIDI

Rick Cocker
Rick Cocker was one of our reviewers of the Music 2000 MIDI interface in AMPLINEX 005 (May 1988).
Music 2000 MIDI interface owners should use:
*EXEC U.MIDIjoy
to read this file into AMPLE. It should then be RUN.
% List of words
"RUN" []     "button" []   "harp" []
"info" []    "info2" []    "info3" []
"info4" []   "info5" []    "info6" []
"joyval" []  "mix" []      "mod" []
"play" []    "sig" []      "sus" []
"swait" []   "uilleann" [] "velact" []
"RUN" [7MODE 6FOR(NL)FOR DISPLAY
% Filename: U.MIDIjoy
%
% Demonstration using the joystick to
% control MIDI and velocity functions.
%
% The piece used is an Irish
% traditional ballad called
% "Eileen Aroon".
%
% Press ESCAPE to end and type
% 'info' for further details.
%
READY 115=T mix sig play
]
"button" [
% test and get value of joystick
% button. Note that this word is not
% active in this piece but included to
% show method.
0 &80 &FFF4 CODE #2  % get value
3 AND #11            % test for
1 #=                 % button 1 (use 0
                     % if button 0 )
IF( #11              % if button on
 64 MIDICONTROL )IF  % then send
                     % sustain
#2                   % discard value
]
"harp" [% harp accompaniment
velact  % set velocity on joystick
24,4FOR(-2:FACFACFcafca)FOR gBDGBD
4FOR(-2:FACFACFcafca)FOR
gBDGBD!fACFACFcafcaBDFBDa!gBDGDb
!-eB-EG-Eb!cGCGEc!dADADF!!-eB-EB-EG
!!cGCEGCEGCgec!fACFAC!gBDGBD
2FOR(-2:FACFACFcafca)FOR gBDGBD
!fACFACFcafcaf///^
]
"info" [7MODE 4FOR(NL)FOR  DISPLAY
% In this piece the joystick is used
% to control two functions - velocity
% and modulation-wheel effects.
%
% Joysticks work in different ways but
% these simple examples can be used as
% starting points. The programming can
% be much improved as it is included
% here purely for demonstration.
%
% Note that the velocity word if
% scaled 0-64 could be used by Music
% 5000 voices.
%
%  **  Press SPACE BAR to continue  **
#IN #2 info2
]
"info2" [7MODE 4FOR(NL)FOR DISPLAY
% Both axes are being used but in
% different ways:
%
% 1) The horizontal axis controls
% velocity (=L) using the ACT command
% found in the word 'velact' placed
% prior to the 'harp' music in part 1.
%
% 2) The vertical axis is controlling
% modulation effects found in the word
% 'mod'. In this piece I am using
% SHARE to place the modulation effect
% on part 2.
%
%  **  Press SPACE BAR to continue  **
#IN #2 info3
]
"info3" [7MODE 4FOR(NL)FOR DISPLAY
% I have placed the word 'mod' after
% the play (P) structure to show that
% it can be used on the non-playing
% part. This would leave all playing
% parts for music notation. It could
% of course be used in a normal part.
%
% Although not used in this piece I
% have included the word 'button'
% which tests to see if the
% joystick's fire-button is being
% pressed. When pressed it turns on
% the instruments' sustain.
%
%  **  Press SPACE BAR to continue  **
#IN #2 info4
]
"info4" [7MODE 4FOR(NL)FOR DISPLAY
% Note: any MIDI control, which uses a
% flag (ON/OFF) to activate it, may be
% controlled by the fire-button.
%
% Likewise, any MIDI control with a
% data value 0-127 may be controlled
% by the joystick e.g. Breath control,
% Velocity, Portamento Time. You can
% also send out system-exclusive data
% e.g. Glide-time on a Casio CZ.
% However, if the instrument is slow
% to respond to some commands it could
% give rise to synching problems.
%
%  **  Press SPACE BAR to continue  **
#IN #2 info5
]
"info5" [7MODE 4FOR(NL)FOR DISPLAY
% Note: The values produced by joyval
% are 0-126. 0 is produced instead of
% 127 because of AMPLE's use of 16-bit
% signed integers. To stop this use:
%
% "store"[GVAR]     % old value store
% "joyval"[&80 &FFF4 CODE #2 512 #/ #2
% #11 0 #= IF(      % If 0 compare to
%  store #? SIGN #= % old value's SIGN
%  IF(0)ELSE(-1)IF  % neg? =0 pos? =-1
% )IF #11 store #!  % store it.
% #11 SIGN IF(-1 #* 127 XOR )IF ]
%
%  **  Press SPACE BAR to continue **
#IN #2 info6
]
"info6" [7MODE 4FOR(NL)FOR DISPLAY
% I have been unable to obtain 127 at
% the highest end of the joystick! Can
% anyone solve this? Joysticks are
% unreliable when at extremes. Is all
% that clear? Ah well...
%
% AMPLINEX has shown that there are
% many good music programmers using
% AMPLE so please experiment and if
% you come up with useful routines
% post them off. Adding real-time
% sound control to the Hybrid Music
% System for me offers many exciting
% possibilities.
%
% Rick Cocker (April 1988)
]
"joyval" [
% axisnumber joyval -> valuenumber
swait
&80 &FFF4 CODE #2 % get value
512 #/ #2         % scale to 63 to -64
#11 SIGN          % test for negative
IF( -1 #* 127 XOR )IF
                  % scale to 64 to 126
]
"mix" [% set up mix for MIDI voices
1 SHARE 8 VOICES MIDIV 1 MIDICHANNEL
2 SHARE 8 VOICES MIDIV 2 MIDICHANNEL
PNUM SHARE
]
"mod" [% takes vertical joystick value
% for modulation control
2 SHARE           % share with part2
REP(
 REP( IDLE        % pass control to
                  % other players
  2 joyval #11    % get joystick value
  1 MIDICONTROL   % set control
  )UNTIL( )REP
 )REP
]
"play" [% play 2 parts
1 P( harp )P   % includes ACT command
               % "velact" for velocity
2 P( uilleann )P
GO
mod            % modulation on part2
]
"sig" [K(-B)K
]
"sus" [% flag sus
64 MIDICONTROL    % if ON (-1) turn
                  % sustain control on
]
"swait" [% waits until last DURATION
% (or music event) complete
REP( QTIME 0 #< )UNTIL( IDLE )REP
]
"uilleann" [% uilleann pipe plays tune
288,/ 48,
0:F12,//G/f/d/|c/////F/G/fG|48,A
//|///|c/D|F12,//G/48,A|g12,//Agf/d/
|48,F12,//G/f/d/|48,c//|F12,//G/f/d/
|48,c12,//F/G/fG|48,A//|///|A/g|f12,
//G/48,A|g12,//Agf/e/|48,F//|^FA|B/
a|g/d|-E12,//F/-e/d/|48,c//|12,G/fG
48,A12,d///|48,-E12,//F/-e/d/|48,c//
|12,////48,//|12,A/gAC/D/c/a/|f/d/c/
D/F/G/|48,A//|///|c/D|F12,//G/48,A|g
12,//Agf/e/|48,F//|0,^
]
"velact" [% set ACT to receive
% joystick value and put on velocity
% only if gate is on
30 ACT(
 5 FVAR #?   % get gate voice
 6 FVAR #?   % get gate value
 AND         % voice number if ON gate
 VOICE       % OFF if OFF GATE/no gate
 1 joyval =L % set new velocity value
ACT )ACT
]

Published in AMPLINEX 006, July 1988

Collection of short utilities

Included on this disc are four short utilities to help you manage your AMPLE programs and Studio 5000 modules. The instructions for each of the utilities are given below.

'Saver' utility

David Westbrook
This little utility is designed to take the effort out of regularly saving your current masterpiece to disc. If you have a machine as old and cranky as mine, or even if you don't, it's a wise precaution to save your programs regularly during development. However, I'm always nervous about overwriting previous versions, so I tend to use version numbers: 'master1', 'master2' etc. What the 'Saver' utility does is to automate this process.
The program consists of 3 words ('initsv', 'sv' and 'vernum') and is in *EXEC format so that it can be added to any program. Having got it into a program, the first thing to do is get 'sv' into Notepad and edit the program name (currently shown as 'NEWONE') to whatever you want to call your program. The length of program name must be limited to 6 characters (leaving 1 character for a version number). Having done that, save the program. Your name will now be stored.
From now on you need to start each working session by typing 'initsv' at the command line. You will be asked for the first version number you want to use (if you already have some version numbers on disc, then you may not want to start again at 0). Enter a number (single digit if you've used 6 characters for the program name) and the program reminds you what the starting number will be.
Now whenever you want to save the program just type 'sv' at the command line. The current program will automatically be saved under the name you've given it, suffixed by a number which is increased by one for each save you make in a session. At the end of a session you've got all the versions saved in order and can tidy up by deleting any you don't want to keep.

Related files on this disc:
U.Saver - David Westbrook's version save utility (*EXEC into programs)

'Wipe' utility

Quentin Frazer
This utility provides a quick and easy way to get rid of those redundant words which often remain once a program has been developed - for example those instruments that were tried but not, in the end, used.
The utility should be *EXECed into your program - and it will then run automatically. It will display all the words in your program and then prompt you for a word to be deleted. Enter any word (no quote characters are necessary) and it will try to delete it before starting again.
If the word to be deleted is still referred to in another word the error
! In use
will be displayed and the utility will finish. Similarly, if you enter a word name which does not exist the error
!No such word
will be displayed and the program will stop. Pressing Escape will also stop the utility.

Related files on this disc:
U.Wipe - Quentin Frazer's word deletion utility (*EXEC into programs)

'Save' utility

Kevin Doyle
This utility was written after I accidentally deleted a music program by selecting 'SAVE' instead of 'LOAD' from the Studio 5000 Main Menu. It temporarily re-defines the AMPLE Nucleus word 'SAVE' and performs an OSFILE call to check whether the filename to be saved already exists. If it does, a warning message is displayed and you are asked to confirm that you wish to overwrite this file. Pressing 'Y' (or 'y') overwrites the file; any other key aborts the SAVE process.
This utility is designed to be *EXECed into existing programs and works equally well from the command line or the Main menu. It also complements David Westbrook's 'Saver' utility by providing a failsafe against a wrongly selected version number

Related files on this disc:
U.Save - Kevin Doyle's program save check utility (*EXEC into programs)

'Init' utility

Quentin Frazer
'Init' is an AMPLE program. It provides a menu allowing you to install any modules you might require in addition to the defaults on your system.
Installed modules do, of course, take up space, but the advantages of not having to load from disk usually make it worthwhile, especially if you have shadow RAM. INSTALLed modules also take less memory than MLOADed ones.
To use init type:
"init" LOAD RUN
or better still, add it to your Studio 5000/4000 !BOOT file (this must be after "MENU" INSTALL).

Related files on this disc:
U.Init - Quentin Frazer's module installation utility
Note: BBC Model B users without Shadow RAM may find that trying this utility direct from the AMPLINEX menu and installing modules may not leave enough memory to re-load AMPLINEX via the '?' command.

Published in AMPLINEX 006, July 1988

Hints and tips

Our Hints and Tips section starts with a collection of programming tips from Hybrid Technology Ltd.

Naming of words

It is important to name words clearly, in particular making it clear whether a word is an instrument, score etc. Each character in an AMPLE word name uses only one byte of program space however many times it is used, so long names take up very little memory space.

Offsetting channels

Where two channels are used together, especially with similar waveforms and envelopes, a better sound can result from putting a slight OFFSET (e.g. 200) on one of them. Without this, you can get slight apparently-random changes of tone from note to note.

Ties in chords

A bracketed group of ties, for example (///), has absolutely no effect on the music, and should be left out. A single / is sufficient to extend a chord, e.g.
C(EG)/D(FA)/
The explanation for this is that each note automatically plays until the next note or rest on the same voice; so if nothing appears in a chord for a particular voice, it is, in effect, tied anyway.

Odd numbers of channels

Channels can only be assigned in pairs, and attempting to assign an odd number will give the next highest even number, e.g.
3CHANS
gives 4 channels. To avoid confusion, do not attempt to select an odd number.

Checking for extra numbers

To make sure there is not an unused (extra) number in a word, execute it at the keyboard. If there is a number left unused when it finishes, the 'Extra number' error will be given.

Making common note sequence words

Where a score is largely made up of a few fixed phrases, you can improve the clarity of the program by defining the sequences as words, from which the score is then built. A good example is a 12-bar bass-line:
"bass" [SCORE 12,
bassC bassC bassC bassC
bassG bassG bassC bassC
bassG bassF bassC bassend
]

Transposing Music

by Roger Cawkwell
AMPLE has several useful ways of transposing music - it's a pity they can't be used outside the computer! When faced with some fearsome chords in a key like Db or B it can be very hard work just to figure out what's going on.
Obviously the best solution would be a thorough course in the language of music so that the student could freely transpose from/to any key (though this would probably take away the problem of 'difficult' keys anyway).
Short of that may I offer some suggestions (an algorithm, if you like) to more-or-less mechanically transpose from any key into C.
1) Know what key you're transposing from; any 'Rudiments of Music' book (and some manuscript books) will have a list of key signatures.
(E.g. The key signature is 4 flats which is Ab major)
2) Work out on which line or space the 'tonic' (key note) lies.
(E.g. Ab is the second space up in the treble clef)
3) Decide whether you're going to transpose up or down to C and by how many steps.
(E.g. In our imaginary piece most of the notes lie below the Ab so we decide to transpose up two steps to C on the third space)
4) Quite mechanically rewrite the music up (or down) the required number of steps. If there are accidentals (sharps, flats or naturals not in the key signature) you must figure out what they're doing to the pitch of the notes; a sharp makes a note higher, a flat makes it lower and a natural may do either. Raise or lower the transposed note in C with a sharp or flat.
(E.g. You come across a D natural at the bottom of the stave. As the key signature has D flat the natural is raising the note. So the new note F (two steps higher) is made into F sharp.
5) Chord symbols may be transposed in much the same way.
(E.g. Bbmin7 goes up two spaces and becomes Dmin7)
Simple (I hope) though these instructions may seem, they should see you through.

'EVERY;' (and Quick entry chords)

Ken Hughes
Using EVERY; you can re-strike all the notes of a chord with the word X. One use of this would be in playing accompaniment chord patterns. For example the following bar, scored in the normal way
G(CE) G(CE) G(CE) G(CE)
would become, using EVERY;,
G(CE) EVERY; XXX
This can be used to simplify the scoring of chord patterns and can also be used with the Quick entry chords utility in AMPLINEX 005 in the following way:
Make a word, for example
"p" [ EVERY;XXX ]
Then to play two bars each of C, F and G major chords
cMp cMp fMp fMp gMp gMp ^;
can be entered in Notepad. This will work for all patterns that start on the first beat of the bar.
For those that start after the first beat such as:
^ G(CE) ^ G(CE)
the rest must be entered first and each succeeding cMp etc. overlapped into the next bar. For example the six above bars would be scored as:
^ cMp cMp fMp fMp gMp gMp ^;
and the "p" word would be
"p" [ EVERY;^X^ ]
Remember that if you change to a different pattern in your music you should not use the "p" word in the bar before the change, as you would overlap into the first bar of the new pattern. This of course would not apply if your new pattern also started with a rest.

Harmonics

Tim Sketchley
The Studio 5000 uses 14 pre-defined waveforms which I think are very good for general purpose usage, but of course they are limited. I would like to share some clever tricks for getting a little more out of the waveforms.
What we will do is use channel one to play the main sound and channel two to add an extra harmonic.
Let's start with this instrument definition:
"harmins" [2 CHANS
1 CHAN
 Round         Flat          Onoff
2 CHAN
 Pure          Flat          Onoff
 192 SHIFT     120 AMP
EVERY CHAN]
This plays the Round waveform using channel one, plus a strong second harmonic through channel two. You can vary the strength of this second harmonic by adjusting the channel two AMP setting.
The basis of this technique is the fact that the Pure waveform consists of a fundamental and some odd harmonics which are so weak that we can ignore them.
It is the 192 SHIFT in this definition which defines the second harmonic. Other SHIFT values can be used for different harmonics:
      Harmonic       SHIFT
         1             0
         2           192
         3           304
         4           384
         5           446
         6           496
         7           539
         8           576
         9           609
        10           638
        11           664
        12           688
        13           710
        14           731
        15           750
        16           768
This table is made using the formula SHIFT = 192 * LOG(Harmonic)/LOG(2).
As another example, the Hard waveform (according to the graph on page 127 of the User Guide) uses only the first 8 harmonics. We can now add the 12th harmonic:
"hard+12" [2 CHANS
1 CHAN
 Hard          Flat          Onoff
2 CHAN
 Pure          Flat          Onoff
 688 SHIFT     110 AMP
EVERY CHAN]
As you may have noticed, the AMP setting determines the amplitude or strength of the harmonic.
Of course, it is possible to use a waveform other than Pure on channel two. Here you can experiment to find the different sounds you can get.
For example, the High waveform consists of the 13th and 15th harmonics. By using 20 SHIFT it produces the 14th and 16th harmonics instead, and using -20 SHIFT gives the 12th and 14th.
A sound I particularly like is that produced using Bright with 192 SHIFT:
"brightins" [2 CHANS
1 CHAN
 Round         Flat          Onoff
2 CHAN
 Bright        Flat          Onoff
 192 SHIFT     120 AMP
EVERY CHAN]
What happens here is that the Bright waveform covers the first eight harmonics only, but then using 192 SHIFT doubles the frequency of all of them, and so the result is the even-numbered harmonics 2, 4, 6, 8, 10, 12, 14, 16.
These ideas should bring you a stage closer to getting the harmonics you want, but they are of course no substitute for genuine waveform design, for which you'd have to get the Waveform Designer reviewed in AMPLINEX 004, which I think I'll get as soon as I can afford it!

AMPLINEX 80-column print utility

Roy Follett
Those members who find Jim Ryan's splendid 80-column printer utility (AMPLINEX 005) as useful as I do might find the following modification to his program useful.
I wanted a left margin to enable me to punch holes so they would go into a ring binder and changed his program using the following steps:
LOAD "U.print80"
LIST 1210,1250
1231 VDU1,27,1,77 REM Elite typeface
1232 VDU1,27,1,108,1,10 REM Left margin
1233 VDU1,27,1,81,1,90 REM Right margin
SAVE "PRINT80"
This modification is for Epson compatible printers.

Published in AMPLINEX 006, July 1988

Opus Challenger

In the Questions and Answers section of AMPLINEX 005 Bob Cornford-Wood outlined the problems he had with his Opus Challenger disc system and asked 'have any AMPLINEX members had similar problems with the Challenger and solved them? I know that Slogger have taken over support from Opus, but it's not really their problem. Any helpful comments gratefully received.'
It seems that several members have experienced similar difficulties and we hope that their comments and suggestions may help to resolve this issue.
From G H Richardson:
In response to Bob Cornford-Wood's appeal for help on the Challenger disc drive I sent him (via AMPLINEX) a copy of correspondence I had in 1986/7 which resulted in a full refund of the purchase price. For other AMPLINEX members here is a potted version of events:
I had a BBC Model B and Music 500 and the Challenger looked a very good buy at £300, particularly since they said there were no compatibility problems.
11 May 86: Letter to Opus that the unit worked very well with one exception - the purpose for which I had bought it - the Music 500; that it reluctantly loaded the Music 500 disc after 1-5 efforts; that it would not save programs to disc; that the BBC 'hung up'; and that discs were corrupted. I asked them what could be done about it.
16 May 86: Reply from Opus that at present the Challenger was incompatible with the Music 500 but they were trying to solve it and would let me know if they did.
10 June 86: Letter to Hybrid Technology detailing problem.
12 June 86: Reply from Chris Jordan (Hybrid Technology) that the Music 500 and Challenger were completely incompatible. He enclosed correspondence he had had with Opus in which he said 'Challenger does not recognise the Acorn protocol...I consider its design to be at fault in a fashion that is foolish and irresponsible...and I see no solution with the current design'.
1 Oct 86: Letter to Opus setting out all foregoing story and stating that having spent £300 I did not intend to be saddled with a unit which did not do what it was alleged to do and drawing attention to the Sale of Goods Act and the Trade Descriptions Act; that in an endeavour to resolve the matter there were some options available; they could return my £300 and have the unit back; or since the Challenger was useful in other spheres I could retain it for general use and pay £75 for one of their single disc drives with interface costing £150 on the assumption that this set-up would work. I asked them to consider the matter and let me know.
27 Oct 86: Letter to Opus that I wrote to them on the 1 Oct and now three weeks later I was still waiting to hear from them.
21 Nov 86: Letter to Opus referring to my previous letters, neither of which had produced any response; that I had thought that Opus was a reputable organisation which had the interests of its customers at heart; that that impression was clearly erroneous; that it was absolutely disgraceful that a company such as theirs which relied heavily on mail order customers should seek to avoid its obligations by hiding behind silence and geographical distance.
I then set out the steps I proposed to take:
First - to send a copy of this 'one way' correspondence to the BBC's 'Watchdog' programme.
Second - to send a similar copy to the Office of Fair Trading for action by them.
Third - to send copies to all the periodicals in which they advertised.
Fourth - if none of these produced a satisfactory result - to issue a Writ for misrepresentation and substantial failure of consideration.
I stated that I would delay taking these steps in the hope that they came to their senses, and that I was sending a copy of the letter to their Chairman/Managing Director.
24 Nov 86: Ian Hirst (Technical Manager, Opus) rang me; he apologized; agreed I had been misled; I could either have my money back or the other option mentioned. He said my original letter of 1 Oct had been mislaid but it had been replied to but they couldn't find a copy of the reply either. He asked me to send a copy of my letter.
24 Nov 86: Sent Opus a copy of my letters of 1 Oct and 27 Oct. I also suggested another option that since the price of Challenger was now £200 I keep it and they refund £100 to enable me to sort out my other disc problem - all on the understanding that the new combined system (Challenger and another disc unit) would operate on the BBC Master 128 which I was about to acquire.
3 Dec 86: Telephone conversation with Hirst of Opus. Said he had not received the copy letters sent on 24 Nov and asked me to read out the relevant parts of my letter of 1 Oct. This I did and included the further option mentioned above. He thought this last option made sense and agreed that I keep Challenger and they refund £100. I reiterated that the new combined system must work on my new Master 128 - no problem he said.
5 Dec 86: Cheque for £100 refund received from Opus.
11 Dec 86: Purchased Master 128 and Watford disc drive. For the next three weeks I tried to make Challenger work with the Master without success. I contacted Beebug and they said the Challenger was incompatible with the Master and never would work with it.
5 Jan 87: Letter to Opus returning Challenger in disgust; that I had again been misled by their assurance that it would work with the Master when expert advice said it wouldn't; that despite the 'settlement' agreed last month I now had a unit which was completely useless to me due to their misrepresentations and that I wished them to refund to me the balance of the £300 paid by me.
19 Jan 87: Letter from Hirst of Opus dated the 7 Jan arrived together with cheque for £200 but reiterating that Challenger was not incompatible with the Master.
20 Feb 87: Letter to Opus to thank them for sticking to their promise to refund all the money and also to challenge their assertion that the Challenger was compatible. I stated that I had again spoken to Beebug and read them Opus' letter; that Beebug said they could not understand how Opus could say this as it was definitely incompatible and could not be made to work with the Master; that there was something wrong when two expert authorities were in such direct conflict - they could not both be right; that in their own interest they should clarify the matter for the sake of customers who had to rely upon their statements.
From Scott Mackie:
If my memory serves me correctly the Challenger plugs into the 1MHz bus. If this is true, then I'm afraid that there's no chance of the Challenger working with AMPLE. This also holds true for the PMS Ramdisc system, and any other system that uses &FCFF and page &FD to access I/O memory. The problem lies in the fact that both the Music 500(0) hardware, and the memory for the Ramdisc system need to access the same area of memory, i.e. Fred and Jim in the I/O workspace.
Since the 500(0) hardware is write only, the Ramdisc can be read without a data clash. However, when AMPLE writes the waveform information into the Music 500(0) hardware, the Ramdisc also gets the information and is corrupted. This corruption of data will cause extreme hassle!
This problem is a symptom of Acorn's lack of foresight over the 1MHz bus. When the original specification was drawn up, the 64K of paged ram that could be interfaced into page &FD was expected to be claimed by only ONE add-on. Thus, no protocol, or token system, was developed to indicate what code was master of the bus at any one time. Therefore, we have the problem that any code written to access page &FD has to just assume that it is the only code accessing the bus. The chaos this creates is unbelievable!
By using a latch address in page &FC, this problem could be overcome, but as no one has thought to include it yet, I doubt if this problem will ever be resolved. A real shame, as AMPLE booting from a Ramdisc would be very useful.
So if the Challenger does use page &FD, as I suspect it does, then there's really no chance of getting Opus to help any further, as it involves hardware and software changes on their part.
From Michael Harbour:
I had the same problem with the Opus Challenger about six months ago. I was interested in using the Music 500(0) but my Opus Challenger stopped me. In the end I decided to buy another, cheaper, BBC computer and disc drive. The problem was solved, although it was a little expensive.
I don't think it’s worth pursuing Opus. I think it could be some time before the problem is solved (I'm not sure if Opus are doing anything about it). They gave me the impression that they were in no hurry to rectify the incompatibility.
As I see it there are two options:
1) Wait for the AMPLE/Challenger clash to be solved. This could take rather a long time!
2) Buy a cheaper disc drive. I use the Watford CLS400 which is perfect for AMPLE file storage.
From Mike Sandbach:
In answer to Bob Cornford-Wood, I have been talking to Slogger about the problems with the Opus Challenger. They are about to produce a hardware and software modification which should make the Challenger behave 'legally' with all other peripherals which use the 1MHz bus, including the Music 500(0). I last spoke to Slogger on May 23rd, and was told this modification was 'imminent'.

Editor's note:
We have had some response after the request in AMPLINEX 005 for information about ROMs which are incompatible with AMPLE. One member, Richard Bettis, has sent us a list of ROMs which DO work with AMPLE, and on reflection this seems like a good idea.
We intend to publish a summary of this information in the next issue, so please send details of ROMs which do or do not work with AMPLE in your machine in time for the submissions deadline (see 'Next issue news' in the Introduction section). Please give details of your computer (BBC B, Master etc.) and the ROM name and version number (if applicable).

Published in AMPLINEX 006, July 1988

An introduction to the MIDI interface

Scott Mackie
This is the first of two articles which aim to outline the basic ideas behind MIDI and its computer interface. These ideas will then be applied to a MIDI interface for AMPLE, allowing the Music 500(0) to run as a performance-oriented MIDI expander.
I appreciate that this technically-based project may not be of interest to every AMPLINEX member but it should at least provoke some discussion on interfacing AMPLE to the outside world.

MIDI - A General Introduction

To start with, I apologize to anyone who is familiar with MIDI and its uses if they find the following paragraphs a bit elementary (read on though!).
The Musical Instrument Digital Interface, to give it its full title, began life, officially, around 1983. The standard has become widespread and is universally accepted as THE means by which musical information can be transmitted between synthesisers.
The MIDI interface is serial, much like the RS232; however, it runs at a rate of 31.25 Kbaud. This speed allows data to be transferred without disrupting simultaneous musical events. Because this rate is at least three times faster than the maximum possible serial rate from the BBC microcomputer an external interface must be used.
The data transferred consists of a series of bytes (generally three for common applications): an ID byte followed by two bytes of data. This allows MIDI to accommodate new commands as and when they are needed, and should prolong its working life.

A MIDI interface for the BBC micro

A MIDI interface is usually connected to the 1MHz bus on the BBC micro as it requires the system clock and address lines, in addition to the data bus, to function. When I first set out to build an interface, I studied all the designs in the electronics magazines and was shocked at their simplicity!
All of the data handling is carried out by just one serial chip, so with the addition of some address decoding, clock generation for the data rate and an opto-isolator, a complete MIDI interface can be constructed.
To describe an interface design would be difficult using the text format of AMPLINEX, so instead I will list some of the published interface projects and then describe the possible problems along with my own comments on MIDI interface design.
All the interfaces here are based around the 6850 UART chip. This is widely available and is extremely easy to program and use. The interfaces are:
1. The ETI MIDI interface (Electronics Today International, April 1987): This is the interface I use. It has two 6850s to enable dual inputs and outputs and because of this is slightly more complex. It can, however, be run with just one port by omitting the second 6850 and opto-isolator - I do this, since I don't require the additional input and output right now.
This design does have a PCB available, which is an advantage, but it requires careful soldering due to a slightly sloppy board design. However, it does work reliably once constructed. The article on the project is a bit scrappy, and some other reference work would have to be consulted about the basics of MIDI operation.
2. The Maplin MIDI Interface (March/May 87): This project was designed as a general interface to Commodore computers and doesn't have a PCB available. It is, however, a very simple interface and appears easy to construct, even if Veroboard is used.
Because it uses the Commodore interface port, some additional address decoding must be used to allow interfacing to the 1MHz bus. Most hardened BBC micro home constructors could build this project, but some experience is required as a board has to be designed.
One small point about this design is that no mention is made of ANY interrupt interfacing, and a connection will have to be made from the IRQ output of the 6850 to one of the interrupt lines on the 1MHz bus (see my notes later about this). The article covering the interface is very clear and concise and is a reasonably useful basic guide to MIDI.
3. The E&MM interface (Electronics and Music Maker, June/July 1984): A rather ancient design this, but I'm told it works by colleagues who've built it. A very basic 6850 design, but very serviceable. One problem with this is that the back issues of the magazine have sold out, but I believe that photocopies are available for a small sum.
4. Making Music (Issues 1 and 2): Again, I'm not too familiar with this interface, but it appears to be standard. The only problem is that Making Music have sold out of these issues, but a letter to them may elicit a response. The designer was Andy Honeybone, so requests may be directed to him.
All of these interfaces use a similar design, the only difference being the addresses they're mapped on to in the 1MHz bus workspace.
The interface I use cost around £30 to build and get working, which is obviously a bit less than the £160 for Hybrid Technology's Music 2000 unit. Admittedly, they supply module code and three MIDI outs, but the price seems to me to be slightly excessive. I'm not sure what design Hybrid Technology use, although I'm almost certain it's based on 6850s.
A couple of design points need to be raised at this point about building a MIDI interface. These are:
1) Use a good quality opto-isolator. The isolator is required because MIDI is based on a 5mA current loop system, and as such the interface must be isolated from the data to prevent any current loss in the loop. The current loop principle allows many separate earth instruments to be connected without setting up earth-loops, i.e. conducting paths which act rather like a radio antenna except that they pick up mains hum.
A poor quality opto-isolator will prevent weak MIDI signals from being registered or may even be too slow (remember that it has to run at 31.25 Kbaud). The difference between a cheap opto-isolator and a good one is only a matter of a pound, so it's really a fool's economy to buy a cheap one. The opto-isolator I recommend, and use, is the 6N139. This is very fast, with good sensitivity and compatibility. Its cheaper partner, the 6N138 is slightly slower, but is still very good.
2) Make sure the interface is mapped on to page &FC in the 1MHz bus workspace. The Music 500(0) synthesiser hardware maps on to &FD30 to &FD3F and so these addresses must be left alone, along with &FCFF, which is the paging register for them. I page my board into &FCF0 and &FCF1 which is where the ETI design puts them.
3) Most designs connect the interrupt pinout on the 6850 to the IRQ input on the 1MHz bus. This means that a normal interrupt occurs when a data byte arrives at the 6850, in order to signal its presence. I tried this method to start with and spent three frustrating weeks trying to get the BBC to read the port reliably, without dropping bytes from the input stream. The problem was that the IRQ interrupt is vectored and takes a while to reach the IRQ2 vector and this causes a delay problem with the 6850.
Intercepting the higher priority IRQ1 vector proved to be slightly better but still not ideal. By chance, I noticed that Andy Honeybone in his Making Music articles used the NMI line on the 1MHz bus. I tried this and the interface has worked reliably ever since. This has the major advantage with AMPLE of not interfering with the extensive Hybrid interrupt routines which also claim IRQ1.
There are problems with this method though and these need to be pointed out. The NMI (or Non-Maskable Interrupt) line is normally used to allow filing systems to generate fast interrupts as the 6502 cannot ignore their action (hence the Non-Maskable title).
As the disc system, which is the main user, is not generally used while playing music, the MIDI interface can use the NMI interrupt for itself. When an NMI occurs, the 6502 jumps to &D00 and executes the code there.
Normally the disc system has its service code there, but if the MIDI service code is placed there, it will be executed on an NMI generated by the 6850.
This has great advantages in terms of speed, but does mean that the user has to be careful when accessing discs to ensure that no keys on the master keyboard are pressed while the 6850 IRQ is enabled or, alternatively, that the 6850 has it's interrupt enable flag cleared (I clear the interrupt enable flag before returning to AMPLE so the code next time is safe if used as it stands).
Most of the designs above require a small change to the PCB in order to get the interrupt connected to the NMI line. Just cut the track on the interface going to pin 8 of the 1MHz bus and connect it instead to pin 6 (i.e. just move it one pin to the closest end). A switch can be used if the user still wants to use the original setup.
This project may seem a bit daunting, but with some patience, a working interface can be constructed. However, I would recommend that the constructor has some kit-building and electronics knowledge as the interface involves quite a bit of delicate soldering; not the sort of project to learn on! All of the articles have information on the operation of the interface and I leave it to them to illustrate their own designs.
In view of the modifications to these designs that I have suggested I have drafted an example interface for the BBC micro that will run without ANY modifications having to be made to it. This will be available via AMPLINEX (see below for details).
If any AMPLINEX members have queries regarding this article then they should send their questions via AMPLINEX, or write to me at the address given below.
In the next issue of AMPLINEX, I'll supply, and document, the necessary code to enable the Music 500(0) to run as a MIDI expander and put many synthesisers currently available to shame! AMPLINEX members should note that this software only supports the MIDI In port, NOT the MIDI Out; i.e. it performs the exact opposite of the current Music 2000 software.

Some useful addresses:
Electronics Today International 1 Golden Square LONDON W1R 3AB
Maplin Electronic Supplies PO Box 3 Rayleigh ESSEX SS6 8LR
Making Music 40 Bowling Green Lane LONDON EC1R 0NE
Music Technology (formerly E&MM) Alexander House 1 Milton Road CAMBRIDGE CB4 1UY
and finally my own address:
Scott Mackie 48 Milford East Kilbride GLASGOW G75 9BU

A copy of Scott Mackie's MIDI interface design can be obtained by sending a stamped, self-addressed envelope to:
AMPLINEX, 26 Arbor Lane, Winnersh, Berks. RG11 5JD.
Important note: We must stress that this design has not been tested by AMPLINEX and we would emphasize that it is not suitable for beginners to electronics assembly.

Published in AMPLINEX 006, July 1988 

Questions and answers

Answer: Acoustic instruments

In reply to Jeff Parton's query in AMPLINEX 005, one of the better series on this topic I've read in the last six months appeared in Music Technology magazine (August to October 1987). The series covered synthesising acoustic guitar, clarinet and the snare drum. Admittedly, the actual patches supplied were for FM, phase distortion and analogue synthesisers, but the material makes interesting reading.
As for other sources of information, your local university library may be able to help. I know the one I use (the Andersonian at Strathclyde University) has some books on the physics of music which include harmonic spectra.
However, using the current waveforms supplied with the Hybrid Music System, your chances of simulating the instruments realistically are slim, but with some perseverance you should get some reasonable results.
Your other alternative, I suppose, is SoundSculptures' Waveform Designer. Have any AMPLINEX members bought this product? A user report please!
Scott Mackie

Answer: Acoustic instruments

I know of two books containing the harmonic spectra of instruments. These are:
Music Physics and Engineering by Harry F Olson
and
Psychology of Music by Carl E Seashore
Both are published by Dover Books and the original editions were quite old - 1952 and 1938 respectively.
I sent to America for my copies but they are available in the UK from two sources:
IMP, Woodford Trading Estate, Southend Road, Woodford Green, Essex. IG8 8HN
Telephone 01 551 6131
The 1987 catalogue lists the prices as Olson £7.95 and Seashore £6.95.
Music Sales Ltd., Newmarket Road, Bury St. Edmunds, Suffolk. IP33 3YB
Telephone 0284 702600
Their catalogue lists the prices as Olson £5.50 and Seashore £4.95 but you should check these too.
The spectrum plots are just a part of the books and someone may well know of another source. One worth checking out - I haven't seen it yet - is
A Synthesist's Guide to Acoustic Instruments by Howard Massey
£14.95 from Music Sales.
Ian Waugh

Question: Grace notes in Staff

Is there any way of putting grace notes into music, via the Staff editor (I nearly always work in this module)?
If not, do I have to add them afterwards in Notepad, and if so, how?
Diccon Maude

Question: Music 2000 Power Supply

I intend to purchase the Music 2000 MIDI interface and I understand that this unit takes it power from the computer. As I have a fully loaded BBC Model B (disc drive/ROM board etc.) I would like to know what voltages and what current this unit requires so that I can buy or build a suitable power supply.
Les Pearce

The Music 2000 MIDI interface consumes 5V at 100mA. This is such a small amount, it would be better to make a power supply for your disc drives if you think your computer's power supply is close to its limits.

Answer: The 'Syncer' waveform

Regarding Jeff Parton's question about the 'Syncer' waveform (AMPLINEX 005):
The 'Syncer' waveform doesn't have a harmonic spectrum because all of its harmonics have a zero volume. Its main use is in modulating other waveforms using synchronization (SYNC - see the Music 5000 User Guide pages 69-70).
The 'Syncer' waveform is placed on the EVEN channel and resets the phase of the ODD channel's waveform each time its own phase passes through zero or the EVEN channel's auxiliary output signal, (sign version of the waveshape, +/-), is negative.
With 'Syncer' on the synchronizing (EVEN) channel the ODD waveform is reset only when the EVEN channel's phase passes zero (effectively after one waveform cycle). By varying the frequency of the modulated channel the point where 'Syncer' restarts the modulated waveform varies dynamically, giving tone changes.
Using waveforms other than 'Syncer' on the modulating (EVEN) channel gives more complex and unpredictable results.
Mark A J Mulders

Question: Broken chords in Staff

Broken chords can be written and will play okay in Notepad yet the '! Bad bar' error appears when playing from the Staff. I am a little confused. Doesn't music entered in the Notepad automatically become written in the Staff also?
Andy Knight

Answer: AMPLE DCT 'split' utility

In reply to Robin Johnson's problem with the Music 4000 'split' utility (AMPLINEX 005), I too could not get it to work - until I read the AMPLINEX feature on the ACT command! This made it obvious that the closing )ACT was missing.
The error lies in the word "split". After
IF(ACT)IF
and before
0 spitch #!
you should insert )ACT. It then works as described.
Bernie Dawson

Answer: Tuning systems in AMPLE

Further to Bob Cornford-Wood's question in AMPLINEX 005:
Alternative tunings are fascinating and I'd be very interested in any work done in this area on the Music 5000 although I suspect a resolution of 192 is not enough for some applications. Quite a few of the new synthesisers have alternate tuning facilities, e.g. the TX81Z - I'm just waiting for someone to write some music for them.
Another area of potential exploration is Micro Tuning - the division of the octave into more (or less) than 12 tones. An American called Easley Blackwood did this the hard way - with a traditional keyboard and old synthesisers - and produced a record of pieces he'd composed by dividing the octave into 13 to 24 intervals. All this in 1980!
The record was produced by himself as far as I can tell although it bears the number E639. The only available source I know is Easley Blackwood himself and the last address I have on him (from 1982) is
The University of Chicago, The Department of Music, 5845 South Ellis Avenue, Chicago, Illinois 60637, USA.
The price then was $12.
Ian Waugh

The Utilities section of this issue of AMPLINEX contains a program which allows Just Temperament to be used.

Question: Staff editor corruption

After using AMPLINEX, if I want to go back to MAIN, I select 'Exit from AMPLINEX', and when the menu appears, select 'New Program'. If I then want to enter the Staff editor, I select this.
When Staff editor is loaded, almost every symbol is corrupted - the bar line comes out as a 'squiggly line', the treble clef is a mixture of the accidentals and the different note lengths, and the time signatures contain the symbols for triplets(3), duplets(2), and accidentals.
What has happened? I have to press Ctrl-Break or turn the computer off, and load the System disk again. Has anyone else had these problems? It may, of course be the other ROMs in the computer.
Diccon Maude

I have been unable to reproduce the effect you describe. The AMPLINEX control program (A.MPLINEX) is written entirely in AMPLE and should cause no problems. The 'Exit from AMPLINEX' option performs a 'NEW' command and should leave the system as it found it.
I would therefore suspect some other cause - perhaps those ROMs you mention.

Question: Pitch glide via ACT

Since reading about the ACT command I have been wondering if it is possible to use this to get pitch glides from note to note whilst playing the Music 4000 keyboard (as opposed to programming in such effects using Slide).
Presumably this would mean keeping track of the previous note, comparing it with the new one, working out the difference and using ACT to glide to the new note, all the time checking to see if another new note has been struck! That's all very well in theory, as they say, but I don't know how to program it even if it is possible.
Bernie Dawson

Question: Booting the Music 4000

My Music 4000 disc is marked 40/80 track yet I can only get it to boot with my disc drive switched to 40-track. This is annoying because my AMPLINEX disc is 80-track and only having a single disc drive I am constantly readjusting the 40/80 track switch. I there something I can do or do I have to fork out for dual drive?
Andy Knight

Question: The RUN command

I have written some pieces on the Music 4000/5000 system, and saved them, but I cannot get them to run with the RUN command. Perhaps, as it is the name of the piece it should have a certain format? Any answers?
Peter Gray

Every music program should have a word called 'RUN' which contains at least the
"1..." PLAY
command to start the music. This is the word which is used by the 'RUN' option on the Main menu. Looking at your music contributions, you seem to be using the title of the piece instead of the word 'RUN' and this is why you can't use menu option. Look at pages 77-78 of the Music 5000 User Guide for more details.

Editor's note:
Due to the large response to the question in AMPLINEX 005 by Bob Cornford-Wood about the Opus Challenger disc system, there is a separate article in the Features section of this issue.
The comments following some of the questions above are only my opinions on the subject and should not be taken as definitive answers.
Your comments are most welcome on any of the questions posed, whether they supplement, confirm or correct any I have expressed.

Published in AMPLINEX 006, July 1988 

Printing out AMPLINEX information

There are three ways to print out the information seen within AMPLINEX.
You can print out an AMPLINEX file as it is displayed on the screen from within AMPLINEX; you can print the files themselves as you would any other text file; or you can load the files into your own word processor and re-format them as required before printing.
1) To print a file from within AMPLINEX choose the 'SET PRINT ON/OFF' option from the Introduction menu. This allows you to toggle a software 'print switch' on or off. If the switch is set ON then any AMPLINEX file which is displayed on the screen will be sent to the printer. This will continue until you set the switch off again using the same Introduction option. An asterisk is displayed at the top of the screen next to the issue number when the print option is ON and the print status is shown at the bottom right of the screen as text is displayed within AMPLINEX.
2) If you prefer to print the parts you require outside of AMPLINEX - all the data is held in files on the AMPLINEX disc. The files are in directories named according to the sections in which they appear and the file names can be seen at the foot of the screen as they are displayed in AMPLINEX so you can make a note of the ones you require.
The file directories allocated to each section of AMPLINEX are as follows:
$. for Music
A. for the Introduction and Adverts
F. for Features
H. for Hints and Tips
I. for Instruments
N. for News and Reviews
Q. for Questions and Answers
U. for Utilities
In addition to the text files, the AMPLE instrument definitions can also be printed directly from within AMPLINEX. Music and utility programs written in AMPLE can only be printed by LOADing the programs into the Studio 5000 and using the WRITE command (see Studio 5000 User Guide page 100).
3) If you wish to re-format the text before printing you should load the files into your word processor. The files contain unjustified text restricted to 38 columns width. The files contain only printable ASCII characters except for a control code (ASCII 11) which marks the screen page breaks. View treats these as left margin tabs and if necessary they can be removed with a C/^L// command.
Two utilities have been published in AMPLINEX to aid with the re-formatting of text files:
In AMPLINEX 003’s Hints and Tips (H.ints003) there were instructions for a Wordwise segment program to automatically format AMPLINEX text files. The segment itself was included in AMPLINEX 004 (H.WWconv).
In AMPLINEX 005 there was a utility to print formatted 80-column text direct from an AMPLINEX text file. The instructions (U.print/i) and the BASIC program (U.print80) are both within the Utilities section. A modification to this program (to provide a wider margin) is included in this issue's Hints and Tips section.

Published in AMPLINEX 006, July 1988

Next issue news

The next issue of AMPLINEX is planned for release in mid-September. This means that all applications for a FREE copy (i.e. those containing contributions) must be received by SATURDAY AUGUST 13TH. Anyone paying the £2.00 fee has until Friday 9th September to apply.
Already planned for the September issue is an index of the first year of AMPLINEX (issues 001-006), a feature on ROM compatibility and a AMPLE Nucleus help utility for Sideways RAM.
We already have some good original music waiting to be heard and would particularly like to receive more examples of original instrument definitions so that we can reinstate the Instruments section in the next issue.
So please continue what has so far been an excellent response by providing your words or music to share with others in issue 007 of AMPLINEX.

Published in AMPLINEX 006, July 1988

How to contribute to AMPLINEX

To receive your next issue of AMPLINEX free of charge you must send a contribution of your own.
This could be an AMPLE music program, an instrument definition, a question or an article about some aspect of the AMPLE language or Hybrid Music System hardware or software, an AMPLE utility, a useful hint about AMPLE, or an answer to another member's question.
Under copyright law we cannot publish programs or music unless we have the permission of the copyright owners or their licensing agent. It is important to realise that in the case of an AMPLE music program, copyright exists in both the program itself and the music it represents. There may even be a separate copyright in the arrangement. If you wish to contribute transcriptions into AMPLE of someone else's music you must credit the copyright owner(s) of the music, the arrangement (if applicable) and lyrics (if included). We can then try to obtain permission to publish.
To protect ourselves from copyright actions we must ask you to sign the copyright declaration on the 'next issue request form' which was sent to you with this issue of AMPLINEX. All submissions made to AMPLINEX will be regarded as permission to publish within the AMPLINEX membership. Beyond this, the submission remains the property of the author.
As part of an exchange arrangement, we may wish to pass on your address if any of your contributions are of interest to Micronet for distribution via their 'Music City' service.
If you do NOT wish your contributions to be considered by Micronet (and thus your address not to be passed to them) please indicate this on the request form in the place provided.
You can also use your return disc to pass on questions which you would like answered on any issue relating to the Hybrid Music System or AMPLE language. We will do our best to answer them (or will pass them over to the other members for help) and publish the results in the Questions and Answers section of AMPLINEX.
You can also use AMPLINEX to advertise any (un)wanted items or to make contact with other members. Just put the details of your advertisement on to the return disc and we will try to include it in the next issue.
The 'Feedback' section of AMPLINEX contains a utility to allow a note to be written on the screen which can then be saved to disc. This 'note' file can then be included on your disc sent for the next issue of AMPLINEX.
'Feedback' notes can be used to make contributions to any of the text-based sections of AMPLINEX as well as to make comments or suggestions on AMPLINEX itself.
Send all contributions, on a standard DFS format disc (40 or 80 track).
Please note:
The AMPLINEX magazine is designed to fit on to one side of an 80 track disc. If you use 40 track discs you should send one double-sided or two single-sided discs.
It is not necessary to send printed copies of your contributions - any copies required are printed locally to minimize postage costs.
Suggested file formats are:
a) AMPLE Music programs - save these in normal Studio 5000 format. Since many members do not have the Music 4000 keyboard please ensure that your program has no M.M4 or M.KFX module words present. To make sure, try loading the program using your Studio 5000 System disc.
Please include some comments about the music - how or why it was written, how it could be changed - and put them into a word as comments following a DISPLAY statement. Use of the word 'info' to contain such text is common practice and we would suggest that it is NOT displayed automatically every time the music is played.
b) AMPLE instruments - save these in text form via *SPOOL using the AMPLE 'TYPE' command to save the word(s) you want.
Some description of the sound itself and hints on its use (e.g. which parameters could be changed, which are the most suitable octave settings) would make it more useful. This can be done using comments within the instrument definition itself (by preceding them with a '%').
c) Text (hints, questions etc.) - use the 'Feedback' note facility for short contributions. For longer pieces use View, Wordwise or other word processor (without embedded format codes or commands). Do not right justify the text.
You can help us operate AMPLINEX more efficiently by careful naming of the files which you send us. Receiving several files called 'hint' or 'quest' can cause us problems in trying to keep track of which contribution came from which member.
Wherever possible, please try and make the filenames of your contributions unique especially where they are for a regular section of the magazine.
Putting a combination of your name or initials and the section for which the contribution is destined is one way of doing this. So if your name is Fred Bloggs you could use FBquest or BlogH&T for contributions to the Questions and Answers or Hints and Tips sections.
Whatever filenames you use, please remember to include your name somewhere in the contribution - this can save us many hours annotating lists and cross-referencing filenames with contributors.
Ensure that your disc is well packed as we will be using the same packaging to return it to you.
Make sure you enclose a return address label and postage and that both the packaging and the disc are marked with your name and address.
Send it to:
AMPLINEX
26 Arbor Lane
Winnersh
Berks.
RG11 5JD
to arrive by the date specified in the 'Next issue' section.
We look forward to reading and hearing your contributions.

Published in AMPLINEX 006, July 1988

Update – changes/corrections/comments

This section is a focus for news about the workings of AMPLINEX, corrections to items in previous issues, and other small items of information which might otherwise be missed amongst the details of each issue.

Feedback bug

Thanks to a note from Roger Cawkwell a bug in the Feedback section of AMPLINEX has been identified:
'When using Feedback in COPY mode there is a bug in the handling of DELETE - the wrong cursor moves back, deleting the text I'm copying from!'
This has now been corrected and the delete function should work as intended.

Contributing music to AMPLINEX

A note from Gideon Kay asks us to clarify whether music by other composers is suitable for submission to AMPLINEX.
As with any publication we have to seek the permission of the author(s) before publishing any piece of work (text, program or music). This is the purpose of our 'next issue request form' which is sent out with each issue of AMPLINEX.
Therefore, when AMPLINEX began we were unable to publish music programs unless the contributor was the owner of all copyrights (i.e. the composer of the music as well as the author of the program). We did, however, start negotiations with MCPS (the Mechanical-Copyright Protection Society) to allow us to publish music composed by others.
Since our agreement with MCPS we are able to publish in each issue a limited number of music programs whose author is not the music copyright owner. It is important to note, however, that this agreement does not cover the publication of lyrics.
All this means that if you have written an AMPLE program of someone else's music, then we are happy to receive this as a contribution to AMPLINEX. You must ensure, however, that the composer of the music is clearly credited in the program (preferably on the title page) and the 'request form' which you must sign asks you to confirm that you have done this.

AMPLINEX and CEEFAX

AMPLINEX is currently in discussion with the BBC's CEEFAX service with the aim of providing AMPLINEX-sponsored material for their Telesoftware transmissions.
Our intention is to make a selection from past issues of AMPLINEX and, with the agreement of the authors, make this available to CEEFAX for broadcast during the autumn.
The BBC are currently drawing up a special licensing agreement which would give them permission to broadcast a specific program for a limited period, and this agreement will be passed, via AMPLINEX, to the authors of the initial selection.
The first broadcasts are expected to consist of AMPLE music and will probably be restricted to programs where the author is also the composer of the music.
Our goal in this venture is to further publicize the existence and aims of AMPLINEX and to give our members' work a wider audience and we trust you will support us in this.
We will be contacting the authors of our first selection in the next few weeks with more details of the arrangement, but we are keen to have the benefit of the members' judgement.
To this end we would like to invite all members to let us know (via a Feedback note) what they consider as the best music programs we have published over the past year (AMPLINEX issues 001-006). Nominate as many or as few as you like and we will try to reflect your collective judgement in any future selection we offer to CEEFAX.

AMPLE by phone

For a future AMPLINEX feature we would like the experiences and comments of members on services such as Music City and DCT which provide AMPLE programs and information via a modem. For the benefit of those without a modem, we would also like your comments about the equipment needed and the costs involved.

MIDI and beyond

Similarly, we would like to hear from members who have used the Hybrid Music System with other MIDI devices (via the Music 2000 MIDI interface) and/or other recording equipment.
We are interested in your experiences (successes and problems) when connecting the Music 500(0) to the outside world. Have you found the ideal musical complement to the Music 500(0)? What recording quality have you been able to achieve? Equipment recommendations would be particularly welcome.
Finally, please continue to send us your ideas for improving the workings or contents of AMPLINEX. For example, we have had a recent request for a 'letters' section in AMPLINEX. Do you agree?
Also, please let us know if you spot an error or omission - you may be the only one who has noticed.

Published in AMPLINEX 006, July 1988