AMPLE BCE to AMPLE Nucleus conversion

From Hybrid Technology draft notes

The Music 500 was supplied with AMPLE BCE, whereas the Music 5000 is supplied with AMPLE Nucleus (ROM) plus Studio 5000, a much more advanced model of the language.

In AMPLE Nucleus, musical notation remains substantially unaltered from its BCE form. The structures used to initiate, direct and co-ordinate the different players within the piece have, however, been improved considerably.

BCE programs will not load directly into the new Nucleus system, so transfer must be accomplished via a straight-text (ASCII) file. The aim of this document is to help you transfer as much 'information' as possible from your old BCE programs to your Nucleus system with the minimum of effort. You will, inevitably though, find that a piece of paper and a pencil are invaluable tools in the process!

The process of converting a program is as follows:

- Start up AMPLE BCE

- Load in your old BCE program

- Remove or edit words that are not Nucleus compatible (see below)

- *SPOOL <filename> to open a file

- WRITE

- *SPOOL to close the file

- Start up AMPLE Nucleus (*AMPLE)

- *EXEC <filename>

- Replace or re-edit words as necessary (see below)

- Save your converted program

The conversion process is eased considerably if you have a word-processing ROM, in which case it is best to SPOOL out the old BCE program to a file, read it into your word-processor, edit it, save it back to the file, and then EXEC it straight into your new Nucleus system.

Your BCE program will consist of three types of words - instrument words ("bassins", "piano" etc.), control words ("play", "setup" etc.) and music words ("bassline", "part1" etc.).

Instrument words

You will have to choose from the preset instruments in the "INS1" module, or recreate the original instruments using the preset waveforms and envelopes. In the latter case, prepare a SPOOLed file containing the required new Nucleus instruments.

Control words

The format of the control words in BCE are normally something like this:

"setup" [

... % words to define envelopes

% and waveforms

]

"play" [

2 PLAYERS 1000 TEMPO

1 PLAY( 3 VOICES chorgan

part1a part1b )PLAY

2 PLAY( 2 VOICES 1 VOICE drum

2 VOICE cymbal

rhythm )PLAY

GO]

Inspect the "setup" word and keep a note of what envelopes and waveforms the different instruments use, and then delete it.

The "play" word has to be split into two parts: "mix" which defines which instruments are used by which players, and "RUN" which defines the order in which parts are played.

The BCE example above would translate into something like this:

"mix" [ M5MIX

48, 125 =T % This sets the tempo

1 SHARE

3 VOICES Organ

2 SHARE

2 VOICES

1 VOICE Drum

2 VOICE Cymbal

PNUM SHARE

]

"RUN" [ "12-ab" PLAY

% use players 1 and 2

% to each play parts a and b

]

and, of course, the "rhythm" part would have to be re-named "part2a" (see the next section). "play" can now be deleted too.

Music words

The BCE music words ">" and "<" (up and down octave) have both been replaced by '!' - this goes up or down an octave depending on the case of the next note letter, i.e. it jumps an extra octave in the appropriate direction. For example:

BCE Nucleus

>C is equivalent to !C

<c is equivalent to !c

You can make the substitution by a global replace in a word processor, or simply define

"<" [ ! ]

">" [ ! ]

before EXECing in the spooled text. If you like, you can then manually replace the '<' and '>' by the true "!" in Notepad, using

"<" FIND

and

">" FIND

to locate them.

'Contradictory' uses of '>' and '<', such as >c and <C, need further attention, since the case of the letter must also be changed.

Other changes

BCE TEMPO specifies the tempo in the number of 10us units per tick. The Nucleus equivalent =T is more convenient - it sets the number of beats per minute, the beat being the current ',' setting. Thus, for the standard crotchet beat (48,) the =T number is calculated by:

125000 / <TEMPO number>

For example, '500 TEMPO' in BCE can be replaced by '48, 250 =T' in Nucleus.

The old default TEMPO was 1000, and this corresponds to 48, 125 =T. The more general formula is:

n, 6000000 / (<TEMPO number> * n) =T

BCE BAR takes the number of time units ('ticks') in the bar, but Nucleus BAR takes the number of current ',' units (akin to a staff time signature). Hence, Nucleus BAR is used with a ',' setting. So, '192 BAR' in BCE is equivalent to '48, 4 BAR' or to '92, 2 BAR' in Nucleus.

Keeping old and new programs

You should keep your BCE and Nucleus programs on separate discs to avoid confusion. On a disc system, you find out the file type using:

*INFO <filename>

The second number (execution address) is:

000010 for a BCE program

FF0100 for a Nucleus program

If you have any hints to offer on AMPLE BCE to Nucleus conversion please let us know in time for the next issue of AMPLINEX.