Hints and tips

Using numbers as AMPLE words

Ken Hughes

It is a fairly well-known fact that the letters A to G should not be used as words in AMPLE as they cause errors. Numbers used as word names will also cause an error to occur if the number used appears in any other part of the program. For instance, if '1' is used as a word name and a part contains the instruction '10 FOR(' an error will occur when the program is run.

MIDI volume via 'mvol'

Roger Sapolsky

'mvol' - the word which made a dream come true. I was writing a contribution dealing with a word I had recently discovered, when I found in AMPLINEX 022 (Hints and Tips) that G Adams had beaten me to it. He covered the essential definition of 'mvol', but the few comments which follow may be of interest for MIDI users.

In fact, 'mvol' is a powerful word which reads correctly not only the '=L' instruction, but also all of the AMPLE instructions '+L', 'L', the accents etc. What's more, it also works perfectly with percussion instruments, a happy surprise: at last, accents, crescendos, etc. can be used in a drum (or music) part, allowing the light and shade without which there is no good music.

If the percussion part has the form

SCORE mvol 70=L 16, w(u) // w(zu)...

the setting will affect all of the instruments called by w, u and z. The resulting balance of levels will generally be acceptable. However, different settings can be given to one or several instruments. If you happen to run programs where percussion levels are set by exclusive messages, 'mvol' may not be able to provide the expected settings.

I use a simple program in which the twelve rhythm instruments most frequently selected have their default level 100 reset by as many exclusive messages, pending the day when I will have eliminated all the messages present in dozens of my MIDI programmes. I wish G Adams (or myself) had unearthed the indispensable 'mvol' much sooner. Still better, Hybrid should have inserted it in the Music 2000 User Guide, in preference to its much less interesting parent word 'levcont'.

Although I did not originally include the operators 2#* 1#- in 'mvol' as G Adams did, I eventually cribbed the idea after finding that it is convenient for making a music part work nicely in both MIDI and non-MIDI programs from the point of view of levels. Levels are first entered normally (0-64) in the Music 5000 part, then 'mvol' is added after SCORE in the MIDI part.

Related file on this disc:

$.Adagio - This example program to demonstrate the use of the 'mvol' word can be found in the Music section.