M 2.8 is a Mac OS X version of a program first published by Intelligent Music in 1987. In the 1980s, M ran on four different computer platforms (Mac, Windows, Atari, and Amiga), and had many fans all over the world.
M was quite different from any other music software when it first appeared, but many musicians and composers were attracted to its powerful implementation of the idea of interactive composition, where you shape the music as you hear it unfold. M 2.8 features compatibility with OS X Core MIDI so you can use it to power the software synthesizers that sound great but are always in need of better material.
Composing music with M is radically different from writing music on paper or recording into a tape recorder or MIDI sequencer.
Instead of merely playing back what you've already composed, M becomes a part of the actual process of composition. You enter your basic musical ideas and materials as melodies, chords, and rhythms, and then work with M to transform those ideas into finished compositions.
M's powerful tools and musical controls let you work so quickly and interactively that the line between composing and performing becomes blurred. You're composing and performing at the same time, and with a vast array of controls. You can control your music by clicking and dragging the mouse on the computer screen, by "conducting" in a Conducting Grid, by pressing keys on your computer keyboard, or by playing specific notes on your MIDI keyboard.
When working with M, you hear the musical results of everything you do while you're doing it, so you can try new things and explore musical ideas without the computer getting in your way.
M's main screen is designed to be a musical control panel that lets you do many things simultaneously while giving you a visual overview of all of the program's operations.
There are six windows in the main screen. Each window contains a particular grouping of controls, and the controls in all of the windows are interrelated as different parts of the same musical process. All of M's main screen windows are always active so that you can use any control whenever you like.
The Patterns Window contains four rows of controls for creating and managing Patterns. A Pattern, in M, is a collection of notes that can be transformed in a variety of ways. The Patterns Window also contains some controls for managing Voices. A Voice in M is a "path" through the program that begins with a Pattern.
The Conducting Window (Untitled in the picture above) contains controls that allow you to affect the operations of the whole program. You can change certain aspects of the program's operation in the Conducting Grid; you can start and stop the music, change the tempo, and do lots of other things that we'll describe later in this manual.
The Variables Window contains controls that allow you to transform M's Voices. A Variable in M is a category of transformation. In the Variables Window, you can change note ordering, transposition, texture, and density; you can introduce rhythmic "feel"; and you can set MIDI velocity ranges. You can also choose between different groups of Patterns that you've created.
The Cyclic Variables Window contains controls that allow you to establish cyclic variation for note durations, legato-staccato articulations, and accents.
The Midi Window contains controls that allow you to direct your Voices' outputs to different MIDI channels and to send program (patch) change numbers to your synthesizers.
The Snapshot Window (with the Camera icon) contains controls that allow you to store and recall groups of other screen controls. You can also record and play back sequences of Snapshots, which we call Slideshows.
Each of the Variable Positions is associated with an Edit Window. In the Edit Windows, you determine what the contents of the Variable Positions are.
The Edit Windows are accessed either through menu commands or by double-clicking on a Variable Position. One example of an Edit Window, although there are many different Edit Windows in M, is the Transposition Edit Window, in which you can set a transposition independently for each of the Voices.
Two of the more powerful Edit Windows are the Pattern Editor and the Cyclic Editor. The Pattern Editor is a quick and effective interface for entering patterns either with the mouse or using a MIDI keyboard. M lets you have six sets of patterns for each of its four voices.
The Cyclic Editor lets you enter accent, legato, and duration cycles. Cycles include the ability to set a random range of values at a step so that rhythms and accent patterns continually vary within limits you specify.
M features an Input Control System that assigns MIDI notes to specific functions that control the program. You can step through the notes of a voice combining the expressive nuances of your playing with M's note generating algorithm. Or change the setting of an M variable, transpose one or more voices, conduct the tempo, and of course, stop and start the music, all from the comfort of your MIDI controller. Other live performance features include:
M can help you come up with new material that you later import into your favorite sequencer. Once you have something you like in M, you can turn on the "Movie" feature and perform onscreen or with MIDI, capturing all the notes you play to a standard MIDI file. M was one of the first programs to support standard MIDI files in the 1980s. It also can import MIDI files and transform them in unusual ways.
Each of M 2.8's 16 "channels" may be assigned to any Core MIDI device and MIDI channel. You get two "virtual" devices that can be used for sending MIDI to other applications. You set all of this up using the Midi Assignment window shown below. In the example, you can see that M channel 1 is actually assigned to SynthTest (a free OS X synthesister that hosts Audio Unit synths, such as Pluggo) on MIDI channel 6. Similarly, the 16 M input channels can be assigned to any Core MIDI input device (software application, MIDI keyboard or controller) and either a specific MIDI channel or all channels from that device.
With M's ability to act as a virtual source of MIDI for other applications, you can easily use M to control other software such as Ableton Live.
Or use other software to control M, to take advantage of its Input Control System that maps MIDI notes to performance gestures such as muting voices, changing presets, and assigning variables.