Acorn User
1st December 1986
Categories: Review: Peripheral
Author: David Johnson-Davies
Publisher: Hybrid
Machine: BBC/Electron
Published in Acorn User #053
David Johnson-Davies looks at Music 5000, a versatile composition and synthesis system
Music 5000
The first thing that most people would expect from a music system running on a computer is a graphical display of a musical staff, and an editor which allows you to enter music on the staff and play it. Hybrid's original Music 500 system, released two years ago and marketed by Acorn for the BBC Micro, was undoubtedly a sophisticated piece of hardware but at the time it surprised and even shocked people that the only means of entering, editing and playing music on the system was a programming language called Ample. The expected graphical display of music on conventional notation was missing.
The Music 5000 is Hybrid's Technology's evolution of the Music 500; it uses substantially the same hardware, containing 16 independent note generators, and using multipliers to provide software control of the amplitude, envelope, and stereo position of each generator. It comes in a disc-drive sized unit which plugs into the BBC Micro or Master's 1 MHz bus, and gives an output for a stereo amplifier. The main hardware different from its predecessor is a modification to ensure it works correctly with a Master computer.
The software, however, has been considerably developed by Hybrid, and it is this that really makes it necessary to take an entirely fresh look at the 5000. The main additions are a real-time Mixing Desk, that allows you to alter the mix of a piece while it is playing, and a graphical Staff Editor, with facilities similar to other graphical music editing programs. The concept of a graphical editor is not new; most music programs provide this as the means of entering and editing music. The important difference is that the Music 5000 software retains Ample as the internal representation, and provides access to this representation if you want to work with the music in ways that are beyond the limits and capabilities of the Music 5000 Mixing Desk or Staff Editor.
There are two reasons why it is beneficial to have access to a more fundamental representation of the music. First, even if staff notation provides a good way of transcribing music, is not necessarily the best notation in which to compose or explore music. For one thing, its linear representation makes it hard to build structure into a composition. Second, it does not provide a good way of representing how music should be played; in fact modern composers usually supplement their musical works scores with lengthy written instructions and explanations.
What Hybrid have evolved over the past few years is a compact, efficient, programming language, Ample, which is ideally suited to representing aspects of music of interest to composers.
With the Staff Editor in the Music 5000 system, a graphical front-end has been provided which provides beginners with a bridge between music notation and the program language representation. After experimenting with the system, it is clear that this gives the best of both worlds; music can be entered and edited in staff notation if that is what you are familiar working with, but as soon as the limits of staff notation start to interfere with what you are trying to achieve, you can revert to the flexibility of programming in the language Ample.
The Music 5000 software consists of the Ample Interpreter, which has itself been considerably extended and now comes in a 16K ROM, and three front-end editors supplied on disc, themselves written in Ample. The Staff Editor, already described, allows music to be entered in conventional music notation and converted to Ample. The Notepad is a screen editor, which provides a convenient way of editing Ample words, and has special facilities for editing instrument defintions using pop-down menus of the available envelopes and waveforms. The Mixing Desk allows pieces in several parts to be mixed, as in a studio. The package is supplied with impressive demonstration pieces which can be analysed for technique.
As an exmaple of how all the components of the Music 5000 system are used together, consider the process of buildiing the line of music shown in Figure 1 into a complete composition.
First, the music is typed into the Staff Editor. The position after typing in two bars is shown in Figure 2, the whole piece as represented across several Staff Editor screens is shown in figure 1.
The Staff Editor gives a graphical display of a musical stave, with treble and bass clef, onto which you can type music in roughly the same way as you would write it onto a page. For example, to enter a dotted crotchet at middle C you press RETURN to get a note, alter its duration with SHIFT-Arrow Right or Arrow Left until it becomes a crotchet, slide it up and down the stave lines with SHIFT-Arrow Up and Arrow Down to the correct position, and then type RETURN again to enter it. Finally, just type '.' to make it a dotted note. If you want a note to be sharp or flat, you press the + or - key before entering the note, and a sharp or flat symbol appears in front of the note, as on the sheet music representation. One feature of the editor which particularly impressed me was its handling of chords; you simply type in the component notes, one after the other, to give an exploded version of the chord (see figure 1). In some other music editors, you have to separate a tune containing chords into several parts and enter them individually; this is cumbersome, and small mistakes can make it very difficult to align the parts.
Other features include transposition, allowing you to enter notes beyond the range of the staves, ties or slurs between notes, triplets (three notes adding up to two normal ones) and duplets, dots and double dots, rests, changes of dynamics, time signatures and bar lines - which together check that you have entered the correct note lengths. The editor allows you to scroll backwards and forwards along the music, and the editing features include a block copy, allowing you to duplicate a sets of notes.
Once entered, the tune can be played back immediately, complete with chords, unlike some other programs which only allow you to play one part at a tme without transferring to a separate program. The only obvious limitation is that each bar is not displayed as it is being played, perhaps this is not surprising given the processing overheads it would cause.
As you enter and edit music in the Staff Editor, it is actually stored internally in Ample notation. The close relationship between the Staff Editor and Ample is highlighted by the facility allowing sections of Ample program to be written above the stave, between two sections of music, to alter the way that the music is played. For example, in the penultimate bar of the example of figure 1, the pre-defined word 'Len' is used to set a gap between notes to give them a staccato quality. The Staff Editor 'Make' command displays the Ample equivalent of the piece, and makes it into a defined word.
The word definitions for 'part1' made from the Staff Editor tune of figure 1 is shown in figure 3, loaded into the Notepad. This then gives the Ample equivalent of the entered tune.
One feature contributing to the compactness of Ample notation is the fact that the characteristics of the music, such as the tempo, amplitude, playing style, instrument, or note length, are stored not as attributes of every note as in some systems, but as changes only when they occur within the music. This makes the notation easy to read, and it should be clear from the following how figure 3 corresponds to the first few bars in figure 1.
The symbol '|' separates bars, and the letters A to G correspond to the notes of the scale, capitals give ascending notes, lower-case descending notes. Brackets enclose subsequent notes of a chord, thus the first chord of the second bar is written 'A(aec)'. Rests denoted by the arrow up symbol give a unit of silence, whereas the '/' symbol leaves a note playing for a further unit of time. The values '6' and '12' set the lengths of subsequent notes, and an instruction such as '0:' sets the octave.
Finally, a complete tune is created by defining a word 'Run' which lists all the parts to be combined. For example, we could add a percussion part called 'part2' which would be played by a different player concurrenctly with the piano part.
The music can then be loaded into the Mixing Desk, as shown in figure 4. This is an ingenious and intriguing program, rather like a studio desk. Once you have set an Ample program running, playing a piece of music, you can run the Mixing Desk as a concurrent task to alter the parameters of the music, as it is playing.
As on a studio desk, you can alter the level of each voice, its stereo position, the tempo, and you can fast-forward through the music. You can also do something that no studio can do; while the piece is playing you can alter the instrument that a particular voice is using, or that all voices assigned to one player are using; in the example they are all 'Upright', the piano sound. A library of pre-defined instruments is supplied with the system, and these can be edited, or new ones defined, using the Notepad section.
As with the Staff Editor, the Mixing Desk settings can be converted to a standard Ample word definition - in this case 'mix' - and embedded permanently in the definition of the piece of music you are creating. To examine and edit the mix definition it can alternatively be loaded into the Notepad, see figure 5.
Several sample pieces are supplied with the Music 5000 software, and so before you even come to terms with writing music you can have a fascinating time playing with the Mixing Desk using these.
Whereas the Staff Editor provides a convenient way of entering existing music, for composing music Ample's superiority soon becomes apparent. Music often contains structures and patterns that are obscured by staff notation. For example, the structure might be the repetition of the same sequence of notes in different parts. In conventional notation, the repeated phrase would usually have to be written out each time. If a piece consists of essentially the same theme transposed, or inverted, as in a fugue, then it requires quite advanced decoding skills to extract the structure that was originally in the composer's mind, from the transcription of the music into a written score.
The structure can be preserved in an Ample program, which as a result is a comprehensive and compact representation of the piece of music, even if it is not what we are used to seeing.
The fact that underneath the niceties of the Staff Ediitor, and Mixing Desk is a fully-fledged programming language means that you can call on the programming facilities in a piece of music, should you have to. As a simple exercise, you could specify that one part in a piece of music consisted of four chords, played randomly. Unfortunately, only the words needed for musical composition are defined in the User Guide, but a Programmer's Guide will be available separately and will be essential for experiment.
Anyone who has tried writing multi-part music in BBC Basic will soon have realised that a full music system needs to be able to execute several programs concurrently. Ample's whole design is based on concurrency, and several new worlds included in the ROM version of Ample supplied with the Music 5000 steamline the playing of multi-part music. For example, the Play word allows you to play several parts simultaneously, with optional repetitions. Suppose you have defined the three separate parts of a piece of music, which might correspond to piano, flute and percussion, as 'part1', 'part2' and 'part3' respectively; then typing:
"123" PLAY
gets all three programs running simultaneously. Ample calls the tasks that run each program 'players', by analogy with the members of a band or orchestra. In this example, the player of the piano part would be assigned four voices so that chords of up to four notes could be played. The other players would need one voice each. The words defining each part, 'part1', 'part2' and 'part3', could have been written separately using the Staff Editor.
Another area that is substantially improved over the earlier version of Ample used on the Music 500 is the design of instruments, and the assignment of channels to them. Now instruments can be mixed quite freely, each claiming channels automatically as it needs them.
The problems of programming directly in Ample made me hesitate before recommending Hybrid's previous product, the Music 500, to anyone without a fair amount of previous programming experience. The additional software provided in the new Music 5000 package has overcome this criticism, without reducing the power and flexibility of the system, and I would recommend it to anyone who is interested in composing music, or experimenting with the construction of existing music, either with or without prior musical training. The whole system costs £161 including VAT through Peartree and existing owners of the Music 500 are catered for by an upgrade pack, available from Hybrid for £69 including VAT.
Perhaps the most exciting possibilities for the use of the system are in education. The Ample language certainly places fewer constraints on creativity than conventional musical notation, and I hope that children are give the opportunity to use Ample as part of the process of learning about music.
Music 5000
Peartree Computers Ltd, St George's House, 14 George Street, Huntingdon, Cambridgeshire PE18 6DB. Tel: (0480) 50595. BBC B, B+, Master 128, £161.
Other Reviews Of Music 5000 Synthesiser For The BBC/Electron
Music 5000
Ian Waugh examines the Hybrid Music System, once only available for the BBC Micro but now adapted for the Electron
Music 5000
A review by Will Watts (EUG PD)
Music 5000 & Update Pack (Hybrid Technology Ltd)
At last Hybrid Technology has released its successor to the acclaimed Music 500. It is called the Music 5000, but is it ten times as good? Ian Waugh, author of books and articles on the subject of music and micros, conducts his own review.
Music 4000/Music 5000 (Hybrid Technology)
A review by David Johnston-Davies (Acorn User)
Music 5000 Synthesiser (Hybrid)
Ringing the changes with Hybrid's Music 5000 Synthesiser