Magazine Archive

Home -> Magazines -> Issues -> Articles in this issue -> View

Intelligent Music

Software for Apple Macintosh

Article from Music Technology, March 1987

After the Jam Factory comes "M", an advanced music composition and manipulation system for the Mac. Jim Burgess investigates a variation on the theme of MIDI recording.

After Jam Factory comes a music processor that permits real-time manipulation of a performance by controlling a wide range of variables.

LAST MONTH, WE took a look at the Jam Factory software for the Apple Mac, and if you thought that that program was a trend-setter, just wait until you get your hands on this one... Seriously though, M (also written exclusively for the Mac) is totally without precedent: never before have composers had a tool like this.


M IS DESCRIBED in its promotional material as "an intelligent instrument" and an "automatic composer". These terms succeed in at least indicating the direction of the program. Describing it accurately in a review is a challenge, but here goes.

M uses four independent Patterns to record basic musical material such as notes, chords and rhythms. The content of each Pattern can be determined by a variety of musical input options including Real and Step Time Recording, as well as M's unique Pitch Distribution feature, described in full detail later. Each Pattern may be assigned to play out to any combination of MIDI channels with a comprehensive and versatile software routing system.

Once you've loaded M's four Patterns with the basic musical material you desire, you can manipulate the performance of your composition with a wide variety of interactive real-time controls - it's like an electronic conductor of sorts.

The sequential order in which notes are played back may be altered with a variety of options, tempo dividers are available to offset the relative timebase of one Pattern to another, and Patterns may be transposed independently. The MIDI channel routing and sound programs used by each Pattern may be changed instantly, and dynamic ranges and note densities for each Pattern may be altered at will. Furthermore, a unique "Cyclic Editor" can be employed to alter the duration, phrasing and accents of each Pattern with a powerful graphics-based grid system.

Pattern Groups A to F are available to select different sets of patterns, permitting the user to switch between different sets of musical phrases at will.

And if all that wasn't enough, a "Snapshot" may be taken of the entire screen at any time to store the desired performance parameters as a screen icon, and let you change an entire set of parameters instantly.

Finally, an electronic conducting grid is available that lets you use the Mac's mouse to change just about any combination of these parameters using a two-dimensional X-Y system. The possibilities are mind-boggling.

When you load the program, you are confronted with a dazzling display of unusual-looking Mac graphics. Like Jam Factory, M has a single master "page"; however, it uses a variety of windows that can be moved around the screen at will. Additional windows "pop out" when you call up the appropriate functions (users of Mark of the Unicorn's Performer sequencer program will be familiar with this type of display).

Although this can make for a somewhat cluttered screen at times, it offers simultaneous, instant access to literally every control M offers. This is especially important because so many of M's features are real-time controls that you need to get at while the program is playing.

M has five main windows. The Input window is used to determine the effect that one or several MIDI controllers has on the program, while the Patterns window is used to select the various parameters that are associated with M's four musical Patterns.

Most of M's powerful music-processing functions are contained in the Variables window. Any combination of M's performance parameters may be altered in real time by the Conducting Grid window on the upper left of the screen. Finally, the window on the right of the screen is used to take screen "snapshots" of M's performance parameters that can be assembled into completed "photo albums".


THERE ARE SEVERAL different ways of loading M's four Patterns with music. Now, real-time recording is similar to playing in parts to a regular sequencer, but M's handy Step Time mode is also available, complete with a host of graphic icons to edit with. And you can move backwards and forwards through a phrase while you're working on it.

Another way to input music into M is the Pitch Distribution feature mentioned above. Here, notes are entered from a MIDI controller, or directly on the Mac screen using a window called the Skyline Keyboard. The number of times a given note is recorded into a Pattern can be easily adjusted with the mouse.

A variation of this method called Cyclic Pitch Distribution is also available to create Patterns which repeat after a certain length, to facilitate drum machine-style Pattern programming.

You can create up to six separate Groups of four Patterns each. Groups A-F can be selected instantly as M plays, and the Patterns can have a different Input type for each Group. You can switch any combination of Patterns in and out of Record and Mute modes while M plays, and entering Record mode at any point allows additional musical information to be added to a Pattern, or you can Clear a Pattern to start from scratch.

Each Pattern may be assigned a Tempo Divide value (1-4) to change its timebase in relation to other Patterns. Changing the timebase from 1 to 2, for example, causes that Pattern to play in half-time. Another option available here is Step Advance, which lets you step through the playback of a Pattern manually from your MIDI controller. This way, you can control the rhythm and dynamics of a Pattern by hand while M decides which note or chord to play.

M offers precise control over the order in which the notes of each Pattern are played back. Using the Note Order window, you can determine whether a Pattern will play back exactly as you played into it, vary the note order in a repeating cycle, or continually change the order of the notes it plays.

"The Variables section is where the real power of M lies: it offers the ability to alter musical nuances of a performance in ways that are both unique and revolutionary."

Furthermore, you can mix the percentage of these three Note Order types for each Pattern. As with many of M's parameters, there are six separate setups available for different Note Order arrangements, and you can switch between any of them while M plays.

Musical Variables

THIS IS WHERE the real power of M lies. This part of the program offers the composer the ability to alter the musical nuances of a performance in ways that I can only describe as both unique and revolutionary.

To begin with, Sound Choice lets you store up to 16 master sound programs, each of which is capable of sending out a complete set of program changes over all 16 MIDI channels. By selecting a new Sound Choice, you can reconfigure the sound programs of an entire MIDI system instantly. Orchestration "maps" are used as a kind of software-based MIDI patchbay, allowing you to route the output of each Pattern to any combination of 16 MIDI channels. Again, six separate setups are available, each independent and capable of being switched while M plays.

The Transposition variable is used to define different transpositions for each of the Patterns. In this way, switching between the six setups can create complex transpositions amongst the players.

Precise control over the dynamic range of each Pattern is available with the Intensity Range variable, where the velocity range of each Pattern can be adjusted with the mouse. A helpful display of the high and low velocity values of the range (0-127) is provided. Switching between these six setups allows exceptionally complex dynamic arrangements to be created.

The amount of notes being played can also be adjusted for each of the Patterns. The Note Density variable can be adjusted over a 100% range, with 0 representing silence and 100% constant playing. Switching setups here can cause certain Patterns to play less in relation to others, for instance.

The remaining variables are all controlled with a unique graphic creation known as the Cyclic Editor. Note Durations, Legato/Staccato phrasing and Accents are all edited in a similar manner, with a 16x5 grid for each of the Patterns. A cycle is made up of 1-16 steps, each of which may have a specific value or range of values assigned to it. For example, a cyclic Accent variable could be set up so that a particular Pattern has five steps which create a specific and repeating cycle of rhythmic accents. Yet again, each of these have six independent setups available to permit instant switching from one set of values to another.


WITH SO MANY possibilities available on this program, its inventors have wisely included a way to store some of the complex combinations of variables available. Predictably, the method of doing this is beautifully simple in concept yet powerful in practice: just take a snapshot of the screen, and that's it.

You'll even find a camera icon here, complete with a flashbulb. Here's how it works. You click on the specific variable setups you want to store, and any combination of any of the variables may be selected and stored as a snapshot. Selecting a new snapshot while M is playing permits nothing short of a total re-configuration of the performance, with any combination of variables changing their setup instantly.

This simple method offers incredible (maybe unparalleled) flexibility. Remember, only certain parameters might be affected by a snapshot change while others stay the same. With 26 snapshots available, a little planning can yield results which are different every time you change snaps, depending on the previously selected snapshot's variables.

It would appear from the pre-release version of M that I used that Intelligent Music's plans include giving their program the ability to assemble snapshots into a collection, called - what else? - a Photo Album.

And in their quest to find new ways of controlling a musical performance, M's creators have come up with yet another unique idea: a conducting grid. The snapshot feature may let you change from one group of variable setups to another instantly, but what if you want to change combinations of variables continually in real time?

The solution lies in that infamous relic of high-school mathematics class, the X-Y graph. Moving an icon of a conductor's baton around this grid can change any of M's variables in real time.

Hence the little arrows which appear beside most of the variable parameters: they're used to assign which direction that parameter will respond to. For example, you could set it up so that moving the mouse from left to right increases M's tempo and changes the number of notes playing from two of the Patterns. At the same time, moving the mouse up might increase the dynamics of some of the Patterns, while also decreasing the length of note durations of others.

It's an over-used slogan, but "the possibilities are limited only by your imagination" could be used accurately to describe this area of M.


INTELLIGENT MUSIC have wisely incorporated some excellent real-time MIDI control capabilities into M's repertoire of features.

"I caused some interesting accidents by taking existing drum-type sequences and using their rhythm to step through M's patterns, utilising a rhythmic phrase in a new way."

The Input window is designed to assign a variety of M's functions to different MIDI channels. You can instruct M's patterns to record only from a specific channel, while the output of any Pattern may be echoed to a particular Orchestration Map. Playback-type echo facilities are also available to permit incoming MIDI data to echo to any combination of MIDI channels represented in a graphic Echo Map: perfect for playing along with M's four Patterns. Likewise, a specific channel may be assigned to transpose the performance of M's Patterns.

Perhaps most interesting of all is the Key Controls feature that renders most of M's many functions accessible via MIDI note commands. Literally any MIDI source can be used as a performance controller for M, and playing a MIDI controller assigned to this function is a unique way of interacting with your composition. You can select different variables, call up new snapshots, change the timebase of Patterns, and even control tempo as a function of velocity - all without ever leaving the keyboard.

The advantage of assigning these various functions to respond only to certain incoming MIDI channels is obvious.

If you're using the program on your own, all you have to do is change the MIDI channel of your controller instrument to whiz around M's various Record, Echo, Transpose and Control functions. You might choose to use several of the keyboards in your setup, each for a different function. Better still, get your friends in on the action so that each person can control one of M's functions simultaneously.


M IS A new-generation musical idea processor. With it, you can enter basic musical phrases and generate complex compositions. The degree of real-time control it offers during performance is unrivalled by any other electronic instrument I've encountered.

Like Jam Factory, M offers compatibility with the new MIDI File format, and as such, M files can be sent to Jam Factory or Opcode's Sequencer 2.5 and vice versa. In this manner you can use M strictly as a "music manipulator", where M is a master controller for existing files that are imported into it, or you can generate M music from scratch and develop it into a structured composition with a sequencer.

M should develop its own niche with forward-thinking composers and experimentalists. Its power and flexibility as a compositional tool are especially far-reaching. But in addition to the obvious compositional and performance applications M is designed to meet, I discovered a few other applications for M that further increased its value in an automated MIDI production system.

For example, I found that using M's Sound Choice and Orchestration variables was a great way of trying out sound combinations with a large MIDI system. After all, the Orchestration feature of M is really like a software-based MIDI patchbay, capable of routing any input source to any combination of output sources.

With the Sound Choice variable, you can instantly select between specific sets of program changes for all MIDI channels. These two parameters used in conjunction with each other offer a great way of coming up with unusual combinations of sounds - fast. Find something you like? Save it with a snapshot.

And here's another way to make great use of M: use a MIDI sequencer to control M's functions via MIDI note commands. This way, M can perform with a sequencer and be cued in and out when desired. Furthermore, because M's variables can be changed via note commands, you can use your MIDI sequencer to alter M's performance variables as it plays. The results can be anywhere from somewhat predictable to totally bizarre, depending on what you're after.

I also caused some interesting accidents by taking existing drum-type sequences and using their rhythm to Step Advance M's Patterns. In other words, using a rhythmic phrase in a new way: to control the timing, but not the pitch, of a Pattern's playback. M will choose the notes based on what's been entered into that Pattern. It helps, though, if your sequencer has a Split Notes function (Mark of the Unicorn's Performer has one) to facilitate transposing an old drum part into the appropriate pitches corresponding to M's Control Keyboard Step Advance key assignments. Well, I knew I'd eventually come up with a reason to have two Macs in the studio...


WITH M AND Jam Factory, Intelligent Music have succeeded in moving the MIDI revolution forward by leaps and bounds. For the first time, MIDI users can now interact with the computer on a completely new level.

As with Jam Factory, using M is pure fun. Neither creates "good" music automatically, because each is capable only of manipulating the music you provide it with - so some people will create masterpieces, while others will generate nothing more than cacophonous disasters.

It's true that these programs make it easier than ever for non-players to create music. But what's wrong with that? Should the ability to make music be the exclusive domain of those that have spent years practising their instruments? No, it should not.

The best way to approach M and Jam Factory is to accept them for what they are: powerful musical tools capable of providing inspiration to musicians willing to venture into new avenues of music-making - whatever their background and experience.

Price $150

(Contact Details)

Also featuring gear in this article

Previous Article in this issue

Radio Active

Next article in this issue

Barcus-Berry 402 Sonic Maximizer

Publisher: Music Technology - Music Maker Publications (UK), Future Publishing.

The current copyright owner/s of this content may differ from the originally published copyright notice.
More details on copyright ownership...


Music Technology - Mar 1987

Review by Jim Burgess

Previous article in this issue:

> Radio Active

Next article in this issue:

> Barcus-Berry 402 Sonic Maxim...

Help Support The Things You Love

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!

Donations for June 2024
Issues donated this month: 0

New issues that have been donated or scanned for us this month.

Funds donated this month: £0.00

All donations and support are gratefully appreciated - thank you.

Magazines Needed - Can You Help?

Do you have any of these magazine issues?

> See all issues we need

If so, and you can donate, lend or scan them to help complete our archive, please get in touch via the Contribute page - thanks!

Please Contribute to mu:zines by supplying magazines, scanning or donating funds. Thanks!

Monetary donations go towards site running costs, and the occasional coffee for me if there's anything left over!

Small Print

Terms of usePrivacy