Stop, Look and Listen
MUSIC 500 Programs
Two new programs for the MUSIC 500
Two programs for the MUSIC 500 by Chris Jordan and Cad Delworth: Follow the print-out and listen to the music.
The MUSIC 500 music synthesiser for the BBC micro (see Feb ES&CM) with its AMPLE authoring language has fast become one of the most desirable micro music peripherals. This month we publish two computer listings, with introductions, by two prominent users of the system. If you're a 500 user yourself you can type in the programs or use the presets in other programs. For non-users by listening to the music on tape you can follow the 'score' in the article and see how a computer language operates.
cannon, kan'on, n. a firearm discharged from a carriage...
No, that can't be right, (rustle, rustle). Ah, here we are:
canon, kan'on, n. a species of musical composition constructed according to a rule, one part following another in imitation.
'according to a rule'. Interesting that, following rules is one of the things computers are good at (the only thing, you might say), so it should be a bit easier to play a canon on a computer. Right? well not entirely, since some people's idea of computer music buries the machine up to its digital eyeballs in rules like 'the blobs can have sticks on them; the sticks can go up or down' and if the blob has a dot after it, add half the number you first thought of, leaving your average home micro gasping for breath before it's even started to work on the rules of the music itself. Thankfully, we can leave this idea back in the Dark Ages where it belongs by going for Music Composition Languages (MCLs), which lets us deal more directly with the business of the music itself, rather than any particular written form of it.
Which brings us to the point of this article (wondering, weren't you?); a type-in AMPLE program to play the Pachelbel Canon on the Music 500. The rule behind a canon is that one part plays a tune which the next part echoes exactly after a delay of a few bars, the idea being that the echoes of the appropriately-devised tune combined to make nice harmonies. The Pachelbel Canon has three parts with a two-bar delay and some ending bits to line them all up for the final chord. Needless to say, in AMPLE we only have to score the tune once, and in fact this amounts to just 30 lines of text (including the bass part): not bad for a 4-minute-plus piece!
The music is programmed in five pages (predictably named 'page 1' to 'page 5') for convenience, and these are put together in order as 'main'. As usual in AMPLE progs, the 'ok, guys, lets do it' word is 'play'. This sets up the four players and starts each playing 'main' after the appropriate count-ins, marked by the '/' signs.
On the instrument sounds the bass is a simple two-channel sound with oscillator sync and a decaying ADSR on the pitch of channel 1, so the tone gets subtly duller is it dies away.
The main instrument, 'string', is in fact a double instrument with strings plus contrasting monosynth playing together. The basic string tone is made by ring modulating a oscillator (channel) with another at the same pitch, but with slight detuning to give a bright chorus sound. The patch uses four channels: 1 modded by 2 gives the main string sound, 3 modded by 4 adds more strings an octave up (with more detuning), and the straight output of 4 gives the synth (well, what's the good of 16 oscillators if you don't use them!). The strings start out playing silently (!) and are introduced a few bars into the music by settings in 'page 2'.
The real point of the double instrument is given away where 'string' is called up in 'play': there are POS settings to pan the three parts left, centre and right, but these settings only apply to the synth, since 'string' ends with 4 CHAN. The result is that the three synth's tunes are spread out in stereo, whilst the string sounds pile up in the centre to make the harmonies.
You could have a go at panning some of the strings as well, by adding '3 PAIR CHAN' at line 55 of 'string' so that the POS applies to channels 3 and 4. Also note that the string volumes are 'sub-grouped' as 'samp': try editing this to boost the strings a bit.
If you want to steal these sounds for your own pieces, don't forget to take the envelopes too. These are clearly commented in 'setup'.
Type in the listing just as it appears. SHOW should give you this:
The theme for BBC2's Horizon programme presents one major problem from the point of view of transcribing it to the Music 500 AMPLE language, and that is the vowel ("ah") sound which Peter Howell added to it when he rearranged it two years ago.
Vowel sounds are impossible to reproduce accurately because of their complexity (unless you have a sampling device). It is quite a tribute to AMPLE'S designers that the language provides enough functions - "building blocks", if you will - to even attempt the synthesis of vowels. My final effort uses a waveform with a "dip" in in it, a repeating envelope, and a modicum of phasing and frequency modulation. I'm reasonably happy with it, but that said, I'm sure my attempt can be improved upon (any takers?).
The music itself has four parts: bass, woodwind (French horns in the original), the "ahs", and the melody (doubled oboes in the original). The lead line has many long notes, so I created a distinctly non-imitative sound to keep it interesting. The sound uses two channels which are separated by an octave and ring modulated. One of the channels has a slow decay envelope, so the net effect is a slightly fuzz/phase sound which decays to pure tone during long notes.
The listing has been produced with the words in the order you should type them. Remember to type CLEAR (return) before typing each word, (return) after each line of the word, and RUN (return) at the end of each word. You should SAVE frequently to prevent accidents!
Once you have RUN the word "title" (which should play the whole piece), delete lines 10 and 140 (leaving ines 20 to 130 of "title" in the text buffer and SAVE the piece one last time. When you come to LOAD and RUN the file, the text in the buffer (i.e. most of the "title") will be executed and the piece will play. This is how the Music 500 demo pieces are set up.
If you have problems getting the listing to work, you may be trying to type the words in a different order to the one shown or you may be trying to type words in lower-case as capitals (or vice versa). AMPLE will pick up a number of possible errors itself, but you should double-check each word against the printed listing as you RUN.
|C D E F G A B||ascending notes||CEGC||(up)|
|c d e f g a b||descending notes||Cgec||(down)|
|>number<:||extend (tie)||C/||(double length)|
|( )||length setting||12,||(12 units)|
||||chord notes||C(EG)||(C major)|
|bar line||| cGfd ||
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!