Twelve Tone Systems Sound Globs
Software for the IBM PC
Somewhere between human composers and sci-fi music systems of the future are the algorithmic composition programs of the present. One of the few such programs for the IBM PC finds favour with Ian Waugh.
Sound Globs is a new PC composition program that's already been used to compose a horror movie score - is it really frighteningly powerful?
LIKE THE NAME; Sound Globs has a certain ring to it, don't you think? But what is it? Well, if you were to go from the blurb on the back of the manual I think you'd be hard pressed to tell: "Move beyond the world of sequencers and melody to the world of interactive textures... freeform exploration... create a Performance Recording of your improvisations... develop your ear for sound textures as you work and play with Spund Globs... '
What Twelve Tone are actually trying to say is that Sound Globs is an algorithmic composition program - one of the very few for the PC.
Sound Globs requires an IBM PC or compatible, a MPU401 MIDI interface (or compatible) and 560K of free RAM (it can't use extended or expanded memory). It supports Hercules, EGA, VGA and CGA graphic cards, although not with the low resolution of 320 x 200. A hard disk is an advantage, as with most things PC.
There are two main screens - the Edit Page in which you create Textures - the music - and the Performance Page in which you control the music in real time. Operation is with the mouse and parameters are changed by clicking on an area and typing in a new value. Easy. As with most sequencer-type programs, a multitimbral sound source is best although not essential.
TEXTURES ARE CREATED in the Edit Page from a range of parameters which control various aspects of the music. You can create up to 24 different Textures which are selected by clicking on one of the 24 boxes in the Texture panel.
The twiddly bits are on the left of the screen. On the bottom left is the Parameter Ranges box which controls the basic functions of pitch, duration, loudness and polyphony.
Begin by clicking on Play. With the default values (those on booting up), the program will repeat a single pitch (A above Middle C) at average loudness (MIDI value 64) at a speed of, er, we'll come to that in a moment.
To change the range of pitches, we alter the values in the Pitch minimum and maximum boxes. Leaving the minimum at 0 and setting the maximum to 1 will cause the pitch to vary between the base pitch (A) and a semitone above (B flat). Setting it to 12 will produce notes over an octave range.
A helpful feature is the Sample Graph in the upper middle of the screen. Click in this area and you get a statistically representative sample of the selected pitches. Each line in the graph represents a note and you can alter the time period over which the sample is taken.
Below the Pitch is Horizontal Density. This determines how often the notes sound in relation to the program's pulse or Time Quanta (coming up soon). With both minimum and maximum set to 1, a note occurs on every pulse. Set both to 2 and the notes sound on every other pulse. With minimum at 1 and maximum at 2, the occurrence of notes will vary randomly between one and two pulses, as a click in the Sample Graph will confirm.
Note, however, that this is not the same as Duration. Duration is set in the next box down and, as you would expect, determines the length of the notes. If notes are occurring on every pulse and the duration is longer than one pulse, notes will overlap - providing your sound source is polyphonic. Again, you can see the overlaps in the Sample Graph.
Vertical Density determines how many notes sound at once - the polyphony of the piece - and if you need Loudness explaining you're going to find the rest of this review pretty hard going.
Textures can be copied from one to another so it's easy to make progressive changes to a piece.
ABOVE THE PARAMETER Ranges box is the Constants area which sets the base values of various music parameters. We'll look at the top one, Pitch Quantum, in a moment (because it's a little more complex than your average parameter).
Next is the Time Quantum which determines the length of the "pulse" which is measured in 1/1000ths of a second. It defaults to 250, which will play four notes per second (1000/250 = 4). Halving this to 125 will double the speed (1000/125 = 8 notes per second). This, effectively, is the tempo control although you can see it bears a more mathematical relationship to the music than traditional bpm.
If you play a Texture with a Time Quantum of 125 and want to create a triplet feel you have to do some sums. You need a Time Quantum which is two-thirds of the current one, that is: 125 x 3/2 = 187.5. To help with calculations such as these there's a calculator at the bottom of the screen. If nothing is highlighted elsewhere, any figures entered on the keyboard go into the calculator.
BELOW THE TIME Quantum are the Pitch, Loudness, Pitch Bend and Modulation Anchors. These simply set the base values of the relative parameters. Altering Pitch to 60, for example, will change the base note from A to Middle C (MIDI note number 60). The Sample Graph shows the position of the Pitch Anchor so you can see the range of notes above and below it which are likely to be selected.
WHAT WE'VE GOT so far will probably sound like a couple of cats chasing a drunken frog over a keyboard. With a minimum Pitch value of 0 and a Maximum Pitch value of 24, the pitches fall into a two-octave range. It's not particularly tuneful but we can refine it. To do this we use the Probability Distribution graph in the lower middle of the screen. This can contain up to 50 rectangles known as breakpoints (similar to the breakpoints on envelopes).
"With Sound Globs I managed to conjure up ethnic drum patterns, meandering pentatonic, oriental gamelan music, atmospheric mood music as well as a manic out-of-tune orchestra."
Separate Probability Distribution graphs can be selected for each of the parameters in the Parameter Ranges box by clicking on a little square to the right of the parameter. The left of the Probability chart represents the minimum value of the parameter and the right side represents the maximum value. The breakpoints determine the probability of an event occurring across the range of parameter values. With me?
For example, to make the program select only high and low notes and none in the middle range, you raise the breakpoints on the left and right sides of the graph and lower those in the middle. The breakpoints are altered by clicking and dragging - a fairly simple procedure. The Sample Graph shows all.
Now, is there a way to use the Probability graph to produce only selected pitches, say a major scale? Yes, but it's a little involved. The obvious solution would seem to be to set the maximum Pitch range to 12, set the number of breakpoints to 13 (to include the top note of the scale), raise the breakpoints of the pitches we require and lower those of the ones we don't.
This almost works but the thing is, the program bases the probability of selection on the ratio of the area under the breakpoint lines (don't you wish you'd studied calculus?) and using 13 breakpoints leaves a small area below unwanted pitches so they are occasionally selected.
To completely overcome this we must use 25 breakpoints per octave and allocate two per note, setting them both to 0 on unwanted notes so there is no area under the graph at these points. It's explained quite well in the manual along with several diagrams and although the principle is easy to follow you can see that a considerable amount of work has to be done if you want to work within a particular harmonic framework.
And this is a good time to look at Pitch Quantum. This value is used to divide the octave into a number of intervals. It defaults to 100, the number of cents in a semitone. From this you can deduce that there are 1200 cents in an octave.
Setting the Pitch Quantum to 150, for example, will divide the octave into eight equal intervals (1200/150 = 8). Set it to 200 and it skips every other pitch - the semitones - resulting in a whole tone scale. Set it to a value such as 110 and you get a decidedly out-of-tune selection of notes. The program makes use of pitchbend to produce these changes so your gear must respond to this in order for it to work.
THAT COVERS THE basic operation of the program but not its full potential by any means. The Channels box selects the MIDI channels the notes are transmitted on. If more than one channel is selected, the notes cycle through them. This can be very effective texturally when using instrumental sounds and it can produce very interesting patterns if linked to a drum kit.
If you can assign each drum to a different MIDI channel, you can control the order in which the drums play. Many multitimbral instruments have a dedicated drum channel (Roland instruments use channel 10) and assign drums to individual notes. In this case the drums you hear will depend on the notes the program selects and you may need to tackle the Probability Distribution graph with a firm hand.
THE BEND AND Mod(ulation) areas on the bottom right of the Edit Page are used to determine the amount and type of pitchbend and modulation which is applied to a Texture. Collectively they are known as Functions and five types of pitchbend and modulation are supplied on disk.
The Functions are displayed graphically and you can draw your own in the Function Edit screen. Each Function can use up to 100 points, although the manual is kind enough to point out that if the processing gets heavy the program could lock you out. In practice this should never be a problem, as you should be able to create most effects using 30-50 points.
SELECTING THE PERFORMANCE Page calls up a new screen. When you access it, a copy of the Textures are transferred to it from the Edit Page. This allows you to work with them without destroying the originals. When leaving the Page you can overwrite the settings if you wish.
This is where things start to get interesting because the Performance Page is poly-textural - it lets you play more than one Texture at once. If this sounds like a recipe for cacophony - you're right. But the secret is to use it with care and restraint.
The lower half of the Performance Page contains faders which can change parameter values in real time. They work really well. If you position the pointer in the slider and move it, a new value is shown at the top but it only comes into effect if you click the mouse. Clicking and dragging will continuously alter the value and you can type a number directly into the slider's box as usual. The sliders can be divided into up to four groups, in which case altering one will alter all the sliders in that group.
There are nine Ignore buttons in the top right of the screen. Highlighting these will make any Texture ignore its own values and use those of the current Texture instead.
You can create up to 20 Program Sets which can send a different program change number on each of the 16 MIDI channels. This is fine until you come across something like Yamaha's new SY77 which, under certain circumstances, requires two program change messages to select a voice (the first is used to select one of its four banks). Yamaha's approach may generally be regarded as a "good thing" but it is decidedly non-standard, and while most dedicated sequencers are flexible enough to handle it, programs such as Sound Globs aren't.
"Sound Globs is an incredibly powerful program which gives you a rare amount of control over the musical building blocks, along with an incredibly high degree of user-interaction."
In this instance I can't lay any blame at all at Sound Globs' door but if Yamaha (and possibly the other big musical instrument manufacturers) are going to take liberties with the interpretation of the MIDI spec, it means software developers may have to build extra flexibility into their software.
From the Edit Parameter Limits menu you can stipulate the range of values the various parameters can take - for each Texture. In practice, I reckon the defaults will suffice for even the most bizarre application but the facility is there. Parameters such as the Anchors are restricted to values between 0 and 127, the recognised range of MIDI values.
THE MIDI CONTROL menu lets you map external MIDI controller input onto various functions. For example, you can use a key press on a MIDI keyboard to change the Pitch Anchor, the velocity to change the Loudness Anchor and so on. Program changes can be used to select new Textures, MIDI channels and Program Sets. MIDI controllers can be used to change the Anchors, the Pitch and Time Quantum values and the parameters in the Parameter Ranges box.
It's nothing if not comprehensive. However, putting all this together to produce meaningful results is another matter. A general rule of thumb I've discovered when working with algorithmic composers is that little and fine is best, especially if you don't want to stray too far away from some semblance of tonality.
THE SESSION RECORDER will save to disk details of the parameters in the Edit Page. You can view and print the record with a word processor. It can be a useful way of backtracking if you lose some incredible setting but you may find you have a lot of data to wade through.
You can save a Performance in standard MIDI File format for loading into a more conventional sequencer. It works on a "what you hear is what you get" basis and records all mode functions and program changes.
AS IF THIS were not enough, Sound Globs also boasts a Performance Language. At a low level it can be used "in command mode" to select a new Texture or alter the value of one of the parameters. It can also be used to "hold" any changes in order to execute them all at once - you can't do this with a mouse.
You can enter Performance instructions in the Performance Score, rather like writing a mini computer program. You can enter delays in order to make carefully timed changes to the piece. This is probably the smoothest and most controlled way to create a score.
You can overdub events onto a Performance Score by starting the score running and making further adjustment as it plays. Changes will be incorporated on subsequent playbacks.
AS WITH ALL music programs, you get out of it what you put in. Nowhere is this more true than when working with an algorithmic composition program. This is confirmed by a recent Digital Music press release which reveals that Sound Globs was instrumental (my abysmal choice of words, not theirs) in the production of the music for the new Wes Craven (Nightmare on Elm Street) film, Shocker. I haven't seen the film so I can't comment on the music, but I do know there are several musicians/composers/producers who find nothing of value in algorithmic composition programs so it's reassuring to all (those who write 'em and those, like me, who enjoy using 'em) to learn that they do have a place in the commercial world of music out there.
The Manual is particularly good with an excellent tutorial section which works you through the basic procedures in some detail.
Included in the package is a Cakewalk utility which converts the MIDI files created by Sound Globs into Cakewalk workfiles. You also get a Sound Globs Librarian program which helps swap Textures and Functions between banks.
I MUST ADMIT that on first acquaintance with Sound Globs I was a little less than enthusiastic about its mathematical - as opposed to musical - approach to composition. The main thing to bear in mind, however, is that it is not, I believe, primarily intended to produce stylised melodic output. Although this can be achieved by judicious twiddling of the Probability Distribution graph, it could have been made even more accessible by the inclusion of a "tonally biased" graph. Given that the vast majority of musicians will be primarily interested in creating music with some sort of tonal centre, it would have widened the program's appeal.
However, during my time with Sound Globs I managed to conjure up some effective ethnic drum patterns (great fun, this!); some meandering pentatonic, oriental gamelan music; some slow, heavy, atmospheric mood music (lots of strings); as well as something sounding like a manic out-of-tune orchestra but with just enough order in it to make the piece sound composed - if you allow for a little artistic licence. Sound Globs' forte is, as the blurb says, the creation of textures, and I can well imagine its atonal output being used for a horror movie score.
The program is incredibly powerful. It gives you a rare amount of control over the musical building blocks along with an incredibly high degree of user-interaction. But I do wish that some textures has been included on the disk so you could see what the developers can do with their own program.
Finally, although pricing, to an extent, is subjective, PC owners have always had to pay rather more for their software than owners of other "lesser" computers. The most well-known algorithmic composition program, M, has recently seen a price hike to £150 (although it'll cost you £185 if you have a Mac), so Globs' asking price isn't extortionate. You pays your money...
If you like what you've read so far - or if you're wondering what I've been rabbitting on about for the last three pages - I can strongly recommend you send for the Sound Globs demonstration disk (fully functioning except for save) which includes a 45-page manual. Yours for £8, refundable against a purchase of the full program.
Price £175 including VAT.
Gear in this article:
Review by Ian Waugh
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!