KEMBAR78
M2TM Midi Tools Manual v4.70 | PDF | Scale (Music) | Interval (Music)
0% found this document useful (0 votes)
1K views130 pages

M2TM Midi Tools Manual v4.70

Uploaded by

Dan Wheatley
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views130 pages

M2TM Midi Tools Manual v4.70

Uploaded by

Dan Wheatley
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 130

M2TM Steps

M2TM Chords
M2TM Progressions
M2TM Fugue Maker
M2TM Riffs
M2TM Notes
M2TM Scores
The M2TM Midi Tools Collection

M2TM Midi Tools is a growing collection of MIDI Transformers and MIDI Generators for Ableton Live Suite
Edition version 12 or Ableton Live 12 Standard with support for Max-for-Live devices. These tools do NOT
work in previous Live versions or in Live editions without Max-for-Live support. As of this writing, the
collection contains seven components:

 the M2TM Steps and M2TM Scores transformers


 the M2TM Chords, M2TM Progressions, M2TM Fugue Maker, M2TM Riffs and M2M Notes
generators.

More tools are being developed and will be added in the future, as part of the collection or as individual
downloads. You can find the various M2TM Midi Tools here: http://www.gumroad.com/midi2themax

Regardless of what individual components you downloaded or purchased, this manual encompasses all the
tools in the collection.

In the case of M2TM Notes, this document includes only its Quick Start manual. The other two
manuals for this specific tool – the Code Recipes and the Reference Manual – are available as
separate PDFs. See the product page at https://midi2themax.gumroad.com/l/m2tm-notes for
instructions about downloading them.

Standard Live Devices


A few tools in the M2TM Collection are also available as standard Live devices, i.e. MIDI effects that you
drop on tracks much like you do with Live’s own Chord or Arpeggiator. M2TM devices are recognized by the
DV suffix to their name, for example the M2TM Chords DV is the standard device corresponding to the
M2TM Chords MIDI tool, whereas M2TM Progressions DV is the standard device corresponding to the
M2TM Progressions MIDI tool.

While MIDI tools are one of the best and most exciting new features of Ableton Live 12, standard devices
can be advantageous in some scenarios:

 they work also in Ableton Live 11


 their fields can be mapped and are automatable, thus you can use these devices in live
performances
 their configuration can be saved in presets and inside Live sets
 multiple instances of a standard Live devices can coexist in the current Live project, in the same or
in different track, each one with its own settings. (The same instance of a MIDI Tool is used for all
MIDI clips in all tracks.)

The only important limitation of MIDI tools provided as standard devices is that they only work in Session
view, and cannot generate or transform clips in Arrangement view.

As of this writing, M2TM Chords and M2TM Progressions are available also as standard Live devices, but
we plan to add more devices in the future. If you are interested, see the list available at
https://midi2themax.gumroad.com.

M2TM devices are virtually identical to their MIDI tool counterpart, both in features and in how their fields
work. For example, below you see the M2TM Chords tool (left) and the M2TM Chords DV device (right):
The only relevant difference is in the controls near the bottom edge of the device window.

In standard Live 12 MIDI tools the target clip – that is, the clip where notes are created or modified,
respectively if the tool is a MIDI generator or transformer – is the currently selected one; in fact, you see its
notes to the right of the MIDI tool (see figure above left).

In standard Live devices, conversely, you need to select the target clip using the menu near the bottom-left
corner of the window. Interestingly, this menu is automatically updated when you move the input focus
again to the device after creating or deleting a clip:

Even if they have different names, the auto and go! buttons are functionally similar to the Generate and
Apply buttons that Ableton Live 12 displays under all MIDI Tools.

NOTE: Because you cannot see the target clip’s note editor at the same time as the
standard devices, enabling the Auto button is less useful than it is when working with
MIDI tools. However, this feature is invaluable if you map a field to a control or an
external MIDI controller, or to a Live internal modulator.

Installation of M2TM standard MIDI devices is simpler then the setup procedure required by Live 12 MIDI
Tools: just store the AMXD file somewhere on your hard disk and ensure that the containing folder is listed
in the Live’s Places sidebar; if it isn’t, add the folder to the sidebar.
Setup and Troubleshooting
If you do not know how to install MIDI Tools under Live 12, please read the Setup and Troubleshooting PDF
file, which contains many tips and solutions to most common problems you may encounter during or after
installation. (Notice that this file is not provided with the “device” versions of M2TM MIDI tools, as
explained in previous section.)

You can download the PDF from inside the Gumroad product page, i.e. the same webpage from where you
downloaded the MIDI Tool itself. If necessary, log in Gumroad with the credentials you provided at
purchase time and go to the Library section.

We often update our documentation with new tips and solution, thus please ensure that you download the
most recent version.

Support
If you are new to Live MIDI tools, we recommend that you read the documentation available on Ableton
website: https://www.ableton.com/en/live-manual/12/midi-tools/

Before contacting us, ensure that you carefully read this manual and the Setup and Troubleshooting PDF
mentioned in previous section. We update our documentation often, thus please check that you have the
most recent version of both documents.

To report problems (other than those described in the Setup and Troubleshooting PDF), propose ideas for
new M2TM components, or suggest how to improve them, please contact us at midi2themax@gmail.com.

IMPORTANT: when reporting a problem, please specify which operating system (Windows or MacOS) you
are using and its version, the Ableton Live version, and any other information that can help us in diagnosing
and fixing the problem. If possible, include one or more screenshots.
M2TM Steps v.2

M2TM Steps is a MIDI Transformer that lets you change the main attributes of clip notes in a cyclic fashion.
A “cycle” can contain from 2 to 64 steps and can be applied to pitch, velocity, start time, duration,
probability and mute attributes. Unlike most Live MIDI transformers, M2TM Steps can also generate new
notes and add to those already in the clip.

NOTE: M2TM Steps works on notes that are selected in the piano roll; if no note is
currently selected, transformation is applied to all notes in the clip.

For example, the figure above shows what happens if you apply a 6-step cycle to increment or decrement
the pitch attribute of a series of C3 notes. In this specific case, the first and second notes in the clip are
transposed up by 7 and 4 semitones, respectively; the third and fourth notes are not modified; the fifth and
sixth notes are transposed down by 2 and 4 semitones, respectively. The clip contains more than six notes,
therefore the cycle is applied again, therefore the 7th and 8th notes are transposed up, the 9th and 10th notes
are not modified, etc.

Being a MIDI transformation tool, M2TM Steps is found in the Transform tab of the clip’s property window.
Depending on this window’s width, it can appear in either of these views:

The User Interface


M2TM Steps has a simple user interface, whose functioning becomes clear one you grasp the principles
behind it.
The workflow inside M2TM Steps is simple:

1) in the piano roll: select the notes that you want to transform – if no note is selected, M2TM Steps
applies its transformation to all notes in the clip
2) in the action menu (top-left): select the transformation or generation action you want to apply
3) in the number of steps field (top-center): select the number of visible steps; the transformation
action is applied cyclically, this value also affects the length of the cycle
4) in the scope menu (top-right): select how many notes each step will be applied to; by default, each
step is applied to a single note, but you can also apply a step value to all the notes in a given time
interval; see this section for more information.
5) set step values using your mouse, and to see how note pitches and attributes change immediately
(if the Auto button is enabled).

The action menu


The top-left menu allows you to select which action will be perform on the selected notes. The first group
of commands can transpose notes:

pitch: transpose up or down by the specified number of semitones (range from -12 to +12)
pitch quant.: as above, but the resulting note is quantized to current scale.
scale steps: transpose up or down by the specified number of scale steps (range from -12 to 12)
octave: transpose up or down by the specified number of octaves (range from -3 to 3)
The second group of commands lets you change other note attributes, either by increasing or decreasing
them or by assigning them a specified value:
velocity: increase or decrease the note’s velocity by the specified value (range from -126 to +126)
velocity (set): assign note’s velocity (range from 1 to 127, default is 100)
start: anticipate or delay notes’ starting time; the lowest step value (-128) moves the note one grid
position to the left, whereas the highest value (+128) moves it one grid position to the right.
duration: change notes’ duration; the lowest step value (-128) decreases the duration by one grid
interval, the highest step value (+128) increases the duration by one grid interval
chance: increase or decrease the note’s chance percentage by the specified step value (rage from -
100 to +100)
chance (set): assign notes’ chance percentage (range from 0 to 100, default is 100)
mute: step values can only be 0 (not muted) or 1 (muted).
vel deviate: assign notes’ velocity deviation (range from -126 to 126)
release vel: assign notes’ release velocity (range from 0 to 127, default is 65)

The third group of menu commands can rotate attributes among notes that belong to the same step scope;
they are easily recognized because of the leading >> characters in their name. In all cases, step values range
from -8 to +8:
>> rotate pitch: rotate the pitch of notes in each step scope
>> rotate velocity: rotate velocity, release velocity, and velocity deviation attributes
>> rotate chance: rotate notes’ chance percentage
>> rotate mute: rotate notes’ mute attribute
>> rotate all: rotate all notes’ attributes (pitch, velocity, chance, mute, velocity deviation, and release
velocity)
The fourth group of commands can create notes that are related to those that are currently selected in the
piano roll; most of them are similar to commands in first group and have the same range:
+ pitch: creates a note a given number of semitones above or below the original note
+ pitch quant.: as previous one, except new notes are quantized to current scale.
+ scale steps: creates a note a given number of scale steps above or below the original note
+ octave: creates a note a given number of octaves above or below the original note
+ two intervals: creates two notes above or below existing note
+ chord: create two or three notes above or below existing note; it is similar to previous command,
except that added notes are part of a “well-formed” chord (e.g. major triads or dominant 7th chords).
split/delete: if step value is greater than 1, the note is split in up to 8 notes of same duration; if step
value is zero, the note is deleted from the piano roll.

The following sections illustrates each command group in more details.


Note transposition
Here are a few examples of how M2TM Steps can transpose notes in the piano roll. Let’s start with a series
of identical notes and apply a cycle of pitch transpositions in semitones:

+ =

If the pitch quantized option is selected, the result is slightly different, because resulting notes
automatically fit the current scale. Assuming that the C Major scale is selected, this is the result:

+ =

If the scale steps action is used, step values are interpreted as diatonic intervals rather than semitones. For
example, the value +2 transposes notes up by a third; the value -3 transposes the note down by a fourth. In
all cases, transposed notes belong to current scale.

In comparison with previous two options, the resulting interval is usually wider, especially for scales with
fewer than 7 notes (e.g. pentatonic scales). The actual transposition interval (in semitones) depends on the
current scale and the original note’s pitch. For example, assuming that current scale is C Major and you are
transposing one third up, C notes are transposed to E (four semitones up), whereas D notes are transposed
to F (three semitones up).

+ =

The examples so far were applied to a series of identical notes. Of course, you get more interesting and less
predictable results if you start with a melody rather than a group or repeated notes, or if you apply cycles
of longer lengths. For example, you can start with a simple melody of four repeated notes, and apply a 5-
steps cycle:

+ =

Notice that the pitch, pitch quant. and scale step actions share the same configuration of step values; for
example, you can quickly see what happens when switching from unquantized to quantized to diatonic
intervals.
Note attributes
The second action group allows you to cyclically modify note attributes other than pitch. When working
with velocity and chance attributes, cycle steps can be applied either as deltas of current values or as
absolute values. To use deltas, you select the velocity or the chance action:

+ =

To use absolute values, you select the velocity set or the chance set action; in this case, current attribute
values are ignored:

+ =

The default value for velocity set is 100, the same value that Live uses by default when you create a note in
the piano roll. Likewise, the default value for chance set is 100 (the note is never dropped).

The start action lets you “humanize” melodies by slightly moving notes horizontally in the piano roll. Step
values go from -128 to +128, where largest values correspond to the current grid interval:

The duration action is similar to start action, except it moves the right edge of the note:
In the case of mute action, step values can only be 0 (not muted) or 1 (muted); the default value is zero, in
which case the note plays regularly:

The vel deviate action sets the note’s velocity deviation, which is the range used by Live to randomize MIDI
velocity during playback. M2TM Steps allows you set it to an absolute value, which can be in the range from
-126 to +126.

The release vel action sets the note’s release velocity, which can be in the range from 0 to 127. Its default
value is 64, the same as the release velocity that Live assigns to new notes in the piano roll.

The figure below shows the piano roll when the lanes for velocity, release velocity, and chance are all
visible:

In case you don’t see the velocity, release velocity, and chance lanes, click the button near the bottom-left
corner:
Rotate actions
The third series of actions – those with the >> prefix – allow you to rotate one or more attributes among all
notes in the step scope menu (top-right). For these actions to work correctly, it is crucial that the scope
menu be set to a time interval that contains at least two notes (… you cannot “rotate” a single note!). In
most cases, you get interesting results with step scope equal to one quarter note, or larger.

All the actions in this group share the same series of steps, thus you can easily apply the same rotation to
two or more attributes by just selecting a different action from the menu. In all cases, step values go from -
8 to +8; if the step has a negative value, attributes are rotated left, else they are rotated right; the default
value is zero, which means “no rotation”.

The >> rotate pitch action rotates the pitch of notes in each group whose size is established by the scope
menu. You can use this command to vary the melody while preserving velocity (i.e. volume, accents and
timbre), chance probability, duration, etc.

Note: for simplicity’s sake, following examples show a 2-bar clip and assume that you
selected the 1/2 (half note) option in the scope menu. This combination creates only four
note groups. For more details, see later in this manual.

The >> rotate velocity action rotates velocity, release velocity, and velocity deviation attributes. You can
use this command to change the dynamics and accents of an existing melody, without affecting the pitch of
individual notes. The image below shows what happens when rotating the melody used for in previous
example.
The >> rotate chance and >> rotate mute actions in the same way, except they apply to change and mute
attributes.

Finally, the >> rotate all action rotates all note attributes, including pitch. The only unmodified attributes
are the horizontal position on the piano roll and the note’s duration.

Note creation
The remaining command in the action menu generate new notes in the piano roll; they are easily
recognized because of the leading “+” character in their name.

The first four options – namely + pitch, + pitch quant., + scale step, and + octave – are similar to actions
seen in a previous section, except they add notes at a given interval from existing notes instead of
transposing those notes.

These four options share their step sequence with the corresponding transposing commands, thus it is easy
checking how the result varies if notes are added or just transposed.
Here is an example of the + pitch action applied to an existing melody:
The next two menu options generate two (or more) notes above or below existing notes. The + two
intervals always add two notes, using larger intervals for larger step values.

There is no direct relationship between the step value and pair of intervals used for the added notes,
except that positive step values add notes above the original note, whereas negative values add notes
below the original note. The new notes belong to current scale and, therefore, never sound out-of-key;
however, this action sometimes generates intervals of one or two semitones, which might sound dissonant
in some music genre. As always, the final judge is your musical ear.

Here is an example of the + intervals action:

The + chord action is similar to + intervals, except it never generates intervals smaller than a major or
minor third. As a result, the + chord action always generates “well-formed” triads and 4-note chords. As for
the previous command, step values have no direct relationship with the chord being added, except that
positive step values create chords above the original note, and negative values create a chord below the
original note.
The last action is split/remove and can split selected notes in two or more shorter notes; the number of
created notes is equal to the step value, which is in the range from 0 to 16. The default value is 1, and you
can use the value 0 to delete the note:
Step scope
By default, steps are applied to notes in the order in which these notes appear in the piano roll (from left to
right); however, you can apply a given individual step to more than just one note. These options are
available in the top-right scope menu:

note: steps are applied to individual notes; if two or more notes have the same start time (i.e. they
are aligned vertically), they are processed from the highest to the lowest note.
chord: if two or more notes play in the same moment, they are processed using the same step value.
1/32, 1/16, 1/4, 1/2: the piano roll is subdivided in time intervals of this size (32nd-notes, 16th-notes,
eight notes, quarter notes, and half notes) and notes in each time interval are affected by the same
step value; if a step corresponds to a grid portion that contains no notes, that step is produces no
transformation.
1, 3/2, 2: like above, except these scopes correspond to number of whole notes (or bars, if current
time is 4/4); the value 3/2 corresponds to one “dotted” whole note.
grid: like above, except the current grid interval is used.

1/2 bar, 1 bar, 2 bars: in this case, the time interval is expressed in bars rather than whole notes.

NOTE: a tolerance equal to 1/128th note is applied when assigning a note to a time
interval. This approach is used so that notes that are slightly anticipated or delayed
– for example, “strummed” chords or notes that have been “humanized” by means
of the start option – are correctly grouped together.

All the examples seen so far used the note option. However, when the clip contains chords, the note option
often delivers undesired results, because it destroys the relationship between chord notes. For example,
see what happens if you use a pitch action and the clip contains triads:

+ =

In such cases, the chord option is usually more appropriate, because all the notes in any given chord are
transposed by the same number of semitones:

+ =

There is a problem, though: the first chord (C-E-G, or C major) has been transposed into G-B-D (G major);
however, the second chord (D-F-A, or D minor) has been transposed into F-G-C, a chord that contains no
thirds. This happened because of the quantize quantization applied after transposing the pitch. To avoid
this minor issue and preserve the intervals in the original chord, the scale step option is more appropriate:

+ =

At times, you might want to apply the same transformation to all the notes in a given time interval. For
example, you might want to generate a variation of existing melody or harmony by transposing one
semitone up only the notes at the beginning of each quarter note interval. In this scenario, you select the
1/16 option, set 4 as the cycle period, and select a non-zero value only for the first step in the cycle:

+ =

In most cases, the 1/2 bar, 1 bar and 2 bars options are equivalent to 1/2, 1 and 2 options, but you see a
difference for tempo signatures other than 4/4. For example, if current tempo is 3/4, then the 1/2 bar
option is equal to 3/8 (a dotted quarter note), the 1 bar option corresponds to a dotted half note, and the 2
bars option corresponds to a dotted whole note.

Step values
The buttons and fields near the bottom edge let you apply simple transformations to step values.

The first four buttons rotate, increase or decrease all step values. The set value field in the center allows
you to assign the same value to all steps: you can either click and drag the mouse up or down, or click and
then type a numeric value.

TIP: By double-clicking this field, you reset all steps to their default value; it is an easy
and quick way to undo all changes done so far for the currently selected action.

The S (for scramble) button randomly shuffles all current steps; it provides a quick way to try different
combinations of the same step values.

The R (for randomize) button randomizes step values. If all steps have the same value – for example,
because you just selected the note attribute from the top-left menu or double-clicked the bottom-center
field – this button generates random values across the entire valid range, e.g. between 1 and 127 in the
case of velocity set, or between -12 and +12 in the case of pitch. However, if steps have different values,
the randomize command generates values in the range comprised between the current minimum and
maximum.

Here is a practical example. Say that you want to generate random velocities in the range between 45 and
110. Here is a quick way to do so:
TIP: to precisely assign a value to the step under you mouse, just check the number that
appears in the bottom-right corner of the window.

The randomize command preserves steps’ minimum and maximum, i.e. it generates at least one step
whose value is equal to the current minimum, and at least one step whose value is equal to the current
maximum. This mechanism lets you repeatedly click the R button to generate random values in the same
initial range.

Presets
Clicking the P button (bottom-right) displays the preset page, where you can save current settings to one of
the 56 available presets; you can also write all presets to a file and reload it later.

You save current settings to a preset by clicking one of the 56 little squares while you press the shift
button; you can then load a preset by clicking a non-empty square.

As soon as you load a preset, the action that was current when you saved the preset is immediately applied
to the notes in the piano roll. The presets in the page can be related to the same or different actions. For
example, some preset may change note pitches or their velocity, other preset may rotate existing attributes
or add new notes.

The W (write) button displays a dialog window that lets you assign a name to the JSON preset file about to
be written to disk:
You can later reload that file using the R (read) button.

You can delete a single preset by clicking a little square while pressing the shift+option (MacOS) or shift+alt
(Windows) keys. There is no command for deleting all presets in one operation; however, you can reload
the empty_steps_presets.json file, which contains 56 empty presets.

By default, if you exit Ableton Live without writing existing presets to disk, those presets are lost. However,
you can enable the A (autosave) option, in which case M2TM Steps tries to save presets to file without any
user intervention.
M2TM Chords

M2TM Chords is a MIDI tool generator that allows you to generate a complex chord progression by simply
typing the names of its chords. It offers many advanced features that make it suitable for expert musicians,
yet it can be used by those with little or no music theory knowledge, provided that they have a chord
progression to try out.

MT2M Chords is very similar to M2TM Progresssions, another plugin in the M2TM Midi Tools collection, in
that both plugins allow you to generate chord progressions quickly and easily. In fact, many features and
user-interface elements are in common between the two generators. The main difference is, M2TM
Progression is more useful to discover new and unusual progressions and/or rhythmic combinations,
whereas M2TM Chords is the best choice when you already know what your progressions should look and
sound like, and need a tool to eliminate the tedious job of inserting notes one by one.

Being a MIDI generator, you find M2TM Chords in the Generate tab of the clip’s property window.
Depending on this window’s width, it can appear in either of these views:

Notice that this tool also exists as a “standard” device, under the name M2TM Chords DV. This device
works exactly as the MIDI tools described in this section. For more information, please read the Standard
Live Devices section, earlier in this document.
Feature List
Here is the complete list of features and options:

 support for virtually any chord type, from simple triads to 6- and 7-note chords, including quartal,
quintal and other non-standard chords;
 support for Roman notation: chords can be typed as Roman numerals (e.g. II or #iv)
 chord synonyms: recognizes countless name variations – for example, Dmin7, Dm7, Dmi7 and D-7
all refer to the same combination of notes (D F A C);
 smart parsing of altered chords: you can type alterations in any order, and separate them with or
without the slash character; for example, Csus7b9, Csus7/b9, Csus4/7/b9, C7sus/b9, Csus4/7b9 all
refer to the same chords (C F G Bb Db)
 rootless chords: optionally drop the root note from the chord; useful if you plan to assign the root
note to another instrument
 drop chords: in addition to rootless chords, a special extension to the standard syntax allows you to
“drop” the 3rd, 4th, 5th and 7th from any chord; for example, Cmaj7drop5 or Cmaj7^5 generate a C
major 7th chord without the 5th (or C E B notes)
 inversions: you decide whether the lowest note is the root, the 3rd, the 5th or the 7th of the chord
 auto-inversions: M2TM Chords can automatically select the inversion that minimize the distance
from notes in previous chord, just like skilled keyboard players do
 slash chords: enter chords such as Cmaj7/G to indicate the lowest note of the chord – it is another
way to specify the inversion, on a chord-by-chord basis
 transposition: transpose the typed progression up or down to any of the 12 keys; chord names in
the edit window are immediately updated to reflect the new key
 octave: select the octave for all chords in the progressions
 closed/open voicings: you decide whether chords are played in “closed” position (chord notes are
as close as possible, as in the C-E-G triad) or in “open” position (as in the C-G-E triad)
 automatic legato: notes in common between consecutive chords can be played in legato mode, as
a single, longer note – great for pads and string sections!
 extra base note: an additional root note can be added one or two octaves below (or above), for a
thicker sound; this option is especially effective for simpler triads
 default or custom chord duration(s): decide the default duration of chords in the progression,
while retaining the ability to specify a different duration for some of the chords
 repetitions: the progression can be inserted just one time (default behavior) or be repeated up to
64 times, a feature that is very handy when creating long clips in Arrangement view
 custom insertion point: unlike most MIDI Generators for Live, M2TM Chords lets you decide where
in the clip the notes are added; this feature allows you to quickly create entire songs by appending
individual progressions
o you can specify the insertion point in terms of bars.beats.16th (as you do with Live’s
punch-in and punch-out positions) or – quite opportunely - you can just click a button to
move the insertion point immediately after the last progression you inserted
 add or replace clip notes: most MIDI generators for Live add generated notes to those already in
the clip, which is convenient – for example – when you are building a drum pattern one sound at a
time; when working with chords, however, you typically want to replace existing notes and chords
with a new progression, and this option is available in M2TM Chords
 set or extend loop: you can set the clip’s loop position to match the progression just added, a
feature that saves you time when trying out progressions of different length, or when you assign
custom durations to each chord
o you can also extend the loop so that it includes the progression just added; this feature is
very handy when building a longer progression made of shorter, simpler ones.

The User Interface


M2TM Chords offers many features, thus its window is crowded with controls of all sorts. However, these
controls are logically grouped in areas, each with a different purpose:

Let’s examine each area in more details.

The Chord Progression


The upper half of the window is where you type the chords that make up your progression:

You can type chord names as you would write them down with pen and paper, you just need to leave one
spaces (or more) between chords and ensure that no space is left inside the chord name. For example, here
a 4-chord progression in C major:

Cmaj7 Dm7 Am7 G7

Just press the ENTER or TAB key to commit the chords to Live’s note editor:

M2TM Chords recognizes virtually all chord types – from triads to chords with added 9th, 11th and 13th
extensions, in natural or altered (lowered or raised) form, plus non-standard chords consisting of stacked
fourths or fifths. Just as important, many syntax forms are accepted, up to several thousand syntax
variations. For example, the progression above could be rewritten as:

Cma7 Dmi7 Ami7 G7


or
CM7 D-7 A-7 Gdom7

If a chord name consists of a single note, it is assumed to be a major triad, so for example the C chord is
resolved into the C E G notes. For more clarity, you can use the M, maj or ma suffixes (eg C CM Cmaj Cma
all indicate the C major triad). You can use min, mi, m or – for minor chords (eg Cmin Cmi Cm C- are all
resolved as the C minor triad). The + symbol can be used for augment triads (eg C+ stands for C E G# notes),
the o symbol can be used for diminished triads (eg Co stands for C E Gb notes); the sus suffix indicates a
suspended fourth (eg Csus stands for C F G notes).

By appending the 6 or 7 digit you can create a 4-note chord. C6 Cmaj6 CM6 are equivalent spellings for the
major 6th chord (C E G A notes); Cmaj7 CM7 Cma7 stand the major 7th chord (C E G B); Cmin7 Cm7 Cmi7 C-7
indicate the minor 7th chord (C Eb G Bb); Cmin6 Cm6 Cm6 C-6 all resolve to the minor 6th chord (C Eb G A).
C7 is the dominant chord (C E G Bb).

You can create many more chords by appending other suffixes. The following table shows a small subset of
all supported chord symbols:
symbol triad notes C7/b5 C7b5 dominant dim 5th C E Gb Ab
C Cmaj CM Cma major triad CEG C7sus4 Csus7 suspended 7th C F G Bb
Cmin Cm Cmi C- minor triad C Eb G Cadd9 major triad + 9th CEGD
C+ Caug augmented triad C E G# symbol 5-note chord notes
Co Cdim diminished triad C Eb Gb Cmaj9 CM9 major 9th CEGBD
Csus Csus4 Cadd4 suspended triad CFG Cmin9 Cm9 minor 9th C Eb G Bb 9
symbol 4-note chord notes C9 dominant 9th C E G Bb D
Cmaj7 CM7 Cma7 major 7th CEGB Cmin/maj9 minor + 7th + 9th C Eb G B D
Cmaj6 C6 CM6 Cma6 major 6th CEGA Cmaj11 CM11 major + 9th + 11th CEGBD
Cmin7 Cm7 C-7 Cmi7 minor 7th C Eb G Bb C7/#11 C7#11 dominant + #11th C E G Bb F#
Cmin6 Cm6 C-6 Cmi6 minor 6th C Eb G A non-standard symbols chord notes
C7 Cdom7 dominant 7th C E G Bb Cq Cq3 3 stacked 4ths C F Bb
Cm7b5 Cm7/b5 half-diminished C Eb Gb Bb Cq4 4 stacked 4ths C F Bb Eb
C-7b5 Cq5 5 stacked 4ths C F Bb Eb Ab
Cdim7 Co7 diminished 7th C Eb Gb A CQ CQ3 3 stacked 5ths CGD
Cmin/maj7 Cmi/ma7 minor triad + 7th C Eb G B CQ4 CQ4 4 stacked 5ths CGDA
C7/#5 C7#5 dominant aug 5th C E G# Bb

M2TM Chords also recognizes the so-called slash chords, i.e. chord names followed by a slash and the
note that works as the bass note. For example, the standard Cm7 is resolved to C Eb G Bb notes,
whereas its slash variation Cm7/Bb generates the same notes but in a different sequence Bb C Eb G.

The slash note may or may not belong to the chord. In the former case, the slash notation specifies an
inversion of the chord, so in previous example, Cm7/Bb is the 3rd inversion of the Cm7 chord: in this
case the Bb note is moved from the top to the bottom of the chord. However, if the slash note does not
belong to the chord, it is added to regular chord notes, so for example Cm7/Ab symbol generates the Ab
C Eb G Bb chord.

If the slash not does not belong to the chord, the resulting note sequence may or may not correspond to
an existing chord: for example, Cm7/Ab is equivalent to Ab7/9, and Dm/B can be also written as Bm7b5
(half-diminished chord). However, the C7/B chord generates the B C E G Bb notes, a rather dissonant
sequence that does not correspond to any standard chord.
A special syntax – based on the drop suffix or the ^ symbol – lets you enter drop chords, i.e. chords that
do not contain a note that should be there. Drop chords are more useful with very complex chords. For
example, the C7b9#11b13 chord consists of 7 notes – namely C E G Bb Db F# Ab – thus you might want
to simplify it while preserving notes that work as upper extensions.

The usual candidate for dropping is the 5th, thus for example C7b9#11b13drop5 or C7b9#11b13^5
generate the following 6-note chord: C E Bb Db F# Ab. You can apply the drop or ^ suffix multiple times
and you can use the 0 or 1 digit to drop the root note, thus for example C7b9#11b13^5^0 generates this
5-note chord: E Bb Db F# Ab.

Don’t be afraid to experiment with chord symbols: if M2TM Chords fails to recognize one of the chords
you type, it displays an error message that explains what symbol didn’t pass the parsing:

M2TM Chords lets you transpose your progressions up or down by semitones using the + and – buttons
to the right of the editing pane, and you can quickly delete the current progression by clicking the C
button. The text in the editing pane always reflect the updated progressions and chord durations are
preserved:
Please be aware that up/down buttons do not commit the current progression to the note editor;
instead, they translate the last progression that was processed (and found correct). This implies that you
should always type the ENTER or TAB key before clicking the up/down buttons, else the result might not
be the one you expect.

Chord Duration
By default, the duration of all chords is equal to one bar, or 4 quarter notes in the usual 4/4 time
signature. You can set a different duration by changing the dur field immediately under the editing
pane:

You can also specify a different duration for each chord, by appending a colon “:” symbol and then one
of the variables summarized in the following table:

variable duration meaning (and official name) dotted triplet


values values
w 1 whole note (semibreve) wd 3/2 wt 2/3
h 1/2 half note (minim) hd 3/4 ht 1/3
q 1/4 quarter note (crochet) qd 3/8 qt 1/6
e 1/8 8th-note (quaver) ed 3/16 et 1/12
s 1/16 16th-note (semiquaver) sd 3/32 st 1/24
t 1/32 32nd-note (demisemiquaver) td 3/64 tt 1/48
d (depends) the default value indicated by
the dur field

For example, the sequence C Dm:h Em:qd F:q generates a C major chord for 4 quarter notes (or
whatever the default duration indicated by the dur field is), a D minor chord for 2 quarter notes, an E
minor chord for 1.5 quarter notes, and an F major chord for 1 quarter note:
You can even use expressions that build on these variables. For example, the sequence C:w+q Dm:3.5*q
Em:h+e generates a C major chord for a whole note plus a quarter note, a D minor chord for 3 and ½
quarter notes, and an E minor chord for 2.5 quarter notes (the same as a half note plus an 8th-note):

Roman notation
M2TM Chords supports progressions that use chords expressed as Roman numbers e.g. II or #iv7. There
are a few details and limitations to keep in mind when using Roman notation:

 Roman numbers indicate a major triad if all uppercase, or a minor triad if all lowercase; thus, the
I chord is the major triad and the i chord is the minor triad
 You can make the triad more expressive by adding 7, 6, 9 and so forth. For example, I7 is the
dominant 7th chord, whereas i7 is the minor 7th chord
 Chords in Roman notation can be followed by a colon “:” and a duration symbol, as explained in
an earlier section

 Roman numbers are always resolved as if current key is C, therefore I stand for C major triad, I7
is C dominant 7th chord, II is D major triad, etc.
o use the + and – buttons near the right border to transpose the progression to a different
key; the actual chord names are showed in the bottom area, as usual
o as you click these buttons, the Roman progression is replaced by the corresponding
chord progression that uses standard chord names
 All chord types are supported, with only exceptions: drop notes (the ^ symbol) and slash chords
(the / symbol); when these symbols are used, the following error message is displayed:

Chord Attributes
The next two horizontal sections let you define the octave, duration, velocity and other characteristics
that affect how the chord “sounds”:

The oct field is the base octave for the chord: the default value of 3 means that chords will extend from
C3 (middle C) upward.

The root option lets you generate rootless chords, i.e. chords that lack their root note. For example, a
rootless Cmaj7 chord would contain the following notes: E G B. While omitting the root note might
sound weird or useless, you might have good reasons to do so, for example when you want to assign the
root to another instrument (in a different Live track).

Rootless chords are quite popular among jazz musicians, and it often
happens that the piano player omits the root because the bass player will be
playing it.
The root option is useful when all the chords in the progression should be played as rootless chords; if
only a few chords should be played without the root, you can use the drop or ^ suffixes in the chord
symbol, as explained in previous section

You can create a “thicker” sound by doubling the lowest chord note one or two octaves below or above,
using the bass field. (The lowest note is usually the chord root, but it can be a different note if you
selected a different inversion.)

As explained in a previous section, the dur field affects the duration of all chords whose duration is not
specified by means of dots, colons, and semicolon suffixes. You can double-click this field to reset it to
the numerator digit in current time signature, for example 4 in the canonical 4/4 tempo, or 7 in the less
common 7/8 time signature.

As its name suggests, the vel field is the MIDI velocity of all notes in the chord, including the bass note if
there. (Its default value is 100.) In real-world scenarios, you might want to “humanize” the result by
randomly changing this value using the Live’s Velocity Shaper built-in MIDI tool or our M2TM Steps.

Inversions and Voicings


A single chord symbol actually corresponds to dozens chords that have the same “nature” and yet a
different “sound”. In fact, in addition to playing the chord in different octaves, you can also choose
between different inversions and voicings.

While beginners usually play chords in the so-called root position (i.e. C-E-G-Bb for C7), more expert
musicians may opt for the 1st inversion (lowest note is the third, or E-G-Bb-C in previous example), the
2nd inversion (lowest note is the fifth, or G-Bb-C-E) or even the 3rd inversion (lowest note is the seventh,
or Bb-C-E-G). Here are a couple examples:
As you surely noticed, in all examples seen so far, chords move in parallel, and the same inversion is
used for all chords in the progression. This is rarely what a seasoned keyboard player would do.

A unique – and very powerful – feature of M2TM Chords is the ability to automatically select the
optimal inversion for each chord after the first one. In this context, the optimal inversion is the one that
preserves the pitch of notes that are in common between consecutive chords or that, at least, minimize
the distance between them. You enable this option by turning the fixed field into auto:

Interestingly, the auto feature works correctly even if the progression is repeated two or more times,
using the reps field:

In addition to inversions, you can vary the sound of chord by opting for an open voicing that uses larger
intervals between chord notes. You achieve this result by means of the voicing option, optionally
combining it with the inversion field and the auto feature.
As you see in the figure above, when using the auto feature you may get different
inversions for the same progression, depending on whether you select close or open
voicing.

If two consecutive chords have one or more notes in common, a keyboard player might decide not to re-
trigger the note on the latter chord. This is especially effective when creating background pads, or
mimicking a string section. You enable this behavior using the leg (for legato) option:

The legato option works as expected even when the progression is repeated two or more times:

Insertion Point and Loop Handling


The fields near the bottom of the window allow you to define where chords are added and how many
progressions are created, and to perform a few useful actions related to the loop area:
By default, M2TM Chords creates notes at the very beginning of the clip, corresponding to position 1.1.1
when expressed in the bars.beats.16ths format. Unlike most other MIDI Generators, however, you can
change this insertion point by means of the first three fields in this area.

While it is possible to manually edit the numbers in these fields, you will typically change the insertion
point by means of the two buttons to their rights: the |< button resets the insertion point to 1.1.1,
whereas the > button moves the insertion point immediately after the chords you have just inserted.
This feature allows you to create complex progressions that consists of two or more simpler
progressions, or maybe the same progression with different root, voicings, etc.

Notice that for these buttons to work correctly you need to confirm the insertion of the current
progression, according to the rules of all MIDI Generators for Ableton Live. In practice, you should follow
this workflow to combine two or more progressions:

First, type the first progression, as


you would do normally. If the
insertion point is other than
1.1.1, click on the |< button to
reset to the beginning of the clip.

Next, confirm your decision to


generate current chords, by using
one of the methods Ableton Live
offers; for example, use the
mouse to select some notes in
the MIDI editor.

Click on the > button to move the


insertion point after the chord
you just inserted and enter the
second progression (or just
transpose the current one).
Enable the L option and ensure
that the button to its right shows
the = (equal) symbol, so that the
loop area moves to match the
progression you just added.

If you are satisfied with the new


progression, you can click on the
= button to turn it into the +
(plus) symbol, which extends the
loop area to include the new
progression. You can now hear
how the two progressions sound
together.

NOTE: changing the insertion point, either directly or by means of the |< and >
buttons may not have immediate effect, because the new point is used for the next
progression you define. If you want to apply them immediately, just force M2TM
Chords to re-generate the current progression, for example by clicking twice the
auto button.

When experimenting with chord progressions you can often change your mind and need to restart the
entire process, or just change a sub-progression somewhere in the clip. As you may already know, by
default MIDI Generators for Ableton Live always add notes to those already in the clip, which makes
sense in most scenarios, for example, when you create a drum loop and need to define the pattern for
the hi-hat without deleting the patterns you already created for the kick and snare.

When working with chords, however, the chords you generate somewhere in the clip are typically
meant to replace the notes in that area, and you would be forced to temporarily switch from M2TM
Chords to the clip editor. Unfortunately, this very operation has the effect to commit the chords you are
currently working on, which is rarely what you would do.

In this scenario, the X option is very useful, as it automatically deletes all the notes that are currently in
the area where the progression is about to be inserted.
M2TM Progressions

M2TM Progressions is a MIDI tool generator that allows you to generate complex chord progressions
with a few clicks of the mouse. It comes with 230+ distinct chord progressions that you can easily
transpose to any key and octave, insert using different inversions (i.e. decide whether the lowest note is
the root, the 3rd, etc.), using “closed” or “open” voicings, and you can create “thicker” chords by adding
upper extensions even if they are not indicated in the original progression. Each progression can be
rotated and/or reversed, to generate different progressions, and you can apply one of the 200+
rhythmic patterns to each chord or chord group.

MT2M Progressions is very similar to M2TM Chords, another plugin in the M2TM Midi Tools collection,
in that both plugins allow you to generate chord progressions quickly and easily. In fact, many features
and user-interface elements are in common between the two generators. The main difference is, M2TM
Progression is more useful to discover new and unusual progressions and/or rhythmic combinations,
whereas M2TM Chords is the best choice when you already know what your progressions should look
and sound like, and are looking for a tool to eliminate the tedious job of inserting notes one by one.

Being a MIDI generator, you find M2TM Progressions in the Generate tab of the clip’s property window.
Depending on this window’s width, it can appear in either of these views:

Notice that this tool also exists as a “standard” device, under the name M2TM Progressions DV. This
device works exactly as the MIDI tools described in this section. For more information, please read the
Standard Live Devices section, earlier in this document.
Feature List
Here is the complete list of features and options:

 230+ distinct progressions: each with four chords or more, grouped in four categories
 browsing: quickly browse progressions in the current category or select a random one to get
instant inspiration
 transposition: progressions can be transposed to any octave and to any of the 12 keys
 transformations: progressions can be rotated left and right, or reversed, to generate less
common and often inspiring progressions
 chord complexity: you can decide to insert simpler chords that contain fewer notes than
indicated or, conversely, to extend chords by adding upper extensions (i.e. the 9th, 11th and 13th
of the chord) even if they aren’t indicated in the chord symbol
 chord inversions: you decide whether the lowest note is the root, the 3rd, the 5th or the 7th of
the chord
 auto-inversions: M2TM Progressions can automatically select the inversion that minimize the
distance from notes in previous chord, just like skilled keyboard players do
 closed/open voicings: you decide whether chords are played in “closed” position (chord notes
are as close as possible, as in the C-E-G triad) or in “open” position (as in the C-G-E triad)
 automatic legato: notes in common between consecutive chords can be played in legato mode,
as a single, longer note – great for string sections!
 extra base note: an additional root note can be added one or two octaves below (or above), for
a thicker sound; this option is especially effective for simpler triads
 custom chord duration(s): you decide the duration of chords, in the range between half quarter
note to 16 quarter notes; this feature is crucial if the song has a time signature other than 4/4
o you can even assign a different duration to each of the four chords in the progression;
for progressions of 5+ chords, the pattern is cyclically applied to all the chords in the
progression
o an intelligent randomization feature automatically selects chord durations that fit the
current time signature and nonetheless provides unexpected and inspiring results
 150+ rhythm patterns: in addition to playing long notes, you can choose among many rhythmic
patterns, with or without rests, or click a button to randomly select one;
 repetitions: the progression can be inserted just one time (default behavior) or be automatically
repeated up to 64 times, a feature that is very handy when creating clips in Arrangement view
 custom insertion point: unlike most MIDI Generators for Live, M2TM Progressions lets you
decide where in the clip the notes are added; this feature allows you to quickly create entire
songs by appending individual progressions
o you can specify the insertion point in terms of bars.beats.16th (as you do with Live’s
punch-in and punch-out positions) or – quite opportunely - you can just click a button to
move the insertion point immediately after the progression you inserted most recently
 add or replace clip notes: most MIDI generators for Live add generated notes to those already
in the clip, which is convenient – for example – when you are building a drum pattern one sound
at a time; when working with chords, however, you typically want to replace existing notes and
chords with a new progression, and this option is available in M2TM Progression
 set or extend loop: you can easily set the clip’s loop position to match the progression just
added, a feature that saves you time when trying out progressions of different length, or when
you assign custom durations to each chord
o you can also extend the loop so that it includes the progression just added; this feature
is precious when building a longer progression made of shorter, simpler ones.
 immediate visual feedback: any time you select a new progression, change its root, rotate or
invert it, the resulting set of chords is displayed, so that you can immediately see the names of
the chords you are working with.

Some Math
Where all these options lead us? Let’s do some math.

The current version of M2TM Progressions offers 231 “main” progressions, in all 12 keys, which results
in 231 * 12 = 2,772 distinct progressions, i.e. progressions that have a unique set of chords.

Each progression can be rotated: if we consider 4-chord progressions – but some predefined
progressions are longer – this means that any sequence can generate 4 variations; progressions can be
reversed too, which means a total of 8 variations for each set of chords, therefore 2,772 x 8 = 22,176
distinct chord progressions in total.

M2TM Progressions provides several ways to change the sound of the chords in the progression,
without altering the name or the nature of those chords. You can play simpler chords (e.g. triads) or
richer chords with 4 or more notes (at least four variations in total); chords can use one of the four
available inversions; you can enable the auto-inversion feature, the ability to play either close or open
voicings, and the option to add one extra note one or two octaves above or below the root. These five
features can change the sound of each progression in 4 x 4 x 2 x 2 x 2 = 128 different ways. (We are not
counting chords in different octaves as different.)

Next, let’s consider the rhythmic variety that M2TM Progressions offers. Each individual chord in the
progression can have a duration ranging from half quarter note to four bars, with 20 options in total.
This means that you for each progression can create 20 x 20 x 20 x 20 = 160,000 variations, where each
variation is a unique combination of chord durations. This number is overestimated when the sequence
contains chords shorter than four bars, though; under the (more realistic) assumption that chords have
a duration of only one bar, the actual number of variations is “only” 4,096.

Finally, M2TM Progressions offers 157 rhythmic patterns, where each pattern is a way to subdivide the
chord duration in shorter notes and rests. By combining this number with the variations mentioned
above, we have 4,096 x 157 = 643,072 unique rhythmic combinations. (The actual number might be
lower for chords with short duration, because in such case two or more patterns may deliver the same
result.)

To recap, we have 22,176 distinct chord progressions, 128 sound variations and 643,072 rhythmic
variations for each progression, which corresponds to 22,176 x 128 x 643,072 = 1,825,377,878,016
progressions. Said differently, you can generate over ONE TRILLION different chord progressions with a
few mouse clicks!
The User Interface
M2TM Progressions offers many features, thus its window is crowded with controls of all sorts.
However, these controls are logically grouped in areas, each with a different purpose:

Let’s examine each area in more details.

Select the progression


The first thing to do when creating a chord progression is selecting its category. Current version offers
the following four categories: major, minor, miscellaneous and long (progressions with more than 4
chords). Each time you select a new category, the menu at the top center is populated with all the
progressions in that category; you can move to a different progression also using the < and > buttons, or
randomly select one with the R button.

For your convenience, these three buttons select progressions only in the current
category.

As you noticed, all progressions are described using the so-called Roman notation, where all-uppercase
Roman numbers correspond to major chords, and all-lowercase digits correspond to minor chords. You
may also find other suffixes, such as “7” for dominant chords, “o” for diminished chords, and so forth.

Let’s move to the second group of fields:


Inside M2TM Progressions, chords implied by the Roman notation are 4-note chords by default: major
chords are actually rendered as major 7th chords (e.g. C-E-G-B for C major), whereas minor chords are
rendered as minor 7th chords (C-Eb-G-Bb for C minor). You can change this default behavior using the
complexity menu, as explained shortly.

Notice that the bottom area of the window displays the current chord progressions.

The most-obvious advantage of the Roman notation is that the progression name does not depend on
the actual progression root. For example, the I iii IV vi progression corresponds to the Cmaj7-Em7-
Fmaj7-Am7 sequence if the root is the C note (see figure above), or Dmaj7-F#m7-Gmaj7-Bm7 sequence
if the root is D, and so forth.

Likewise, the Roman notation says nothing about the octave where those chords should be played;
therefore, you usually need to set the root and octave appropriately, by clicking and dragging the two
leftmost fields in the second area.
The following two fields allow you to change the chord sequence; click the >> button to reverse the
order, or click-drag the rotate field to rotate the sequence left (for negative values) or right (for positive
values). If you do not like what you hear, just double-click this field to reset it to zero (no rotation).

The figure below shows what happens when you reverse the previous progression:

Here is the effect of rotating the (non-reversed) progression one position to the right:

Of course, you can combine the two effects: the following figure shows the result of reversing the
current progression and then rotate the result one position to the left:

Notice the both the >> button and the rotate field are reset to their default any time you select a
different progressions from the menu, whereas most other fields preserve their previous value.

As mentioned previously, complexity menu lets you decide how many notes the chord actually contains:
3 notes (triads), 4 notes, etc. The as-is option doesn’t change the number of notes in the chord, but its
effect becomes apparent only if the chord symbol contains an upper extension (e.g. the 9th); else, as
already explained, all chords contain 4 notes even if the 7th of the chord isn’t explicitly included in the
chord name.

The special tri+dom option renders all chords as triads, except dominant chords (e.g. C7 but also
C7/#11, etc.) that are rendered with four notes. Here is an example of this special option in action:
A great feature of M2TM Progressions is the ability to extend chords by adding upper extensions that
aren’t explicitly indicated in the chord symbol. If you select the 5 notes option, the 9th is automatically
added to the chord if missing; if you select the 6 notes option, both the 9th and 11th are added; finally,
the 7 notes option adds the 9th, 11th and 13th to the chord.

Inversions and Voicings


The next section allows you to change how chords sound like

A single symbol actually corresponds to dozens chords that have the same “nature” and yet a different
“sound”. In fact, in addition to playing the chord in different octaves, you can also choose between
different inversions and voicings.

While beginners usually play chords in the so-called root position (i.e. C-E-G-Bb for C7), more expert
musicians may opt for the 1st inversion (lowest note is the third, or E-G-Bb-C in previous example), the
2nd inversion (lowest note is the fifth, or G-Bb-C-E) or even the 3rd inversion (lowest note is the seventh,
or Bb-C-E-G). Here are a couple examples:
As you surely noticed, in all examples so far, all chords move in parallel, and the same inversion is
preserved for all chords in the progression. This is rarely what a seasoned keyboard player would do.

A unique – and very powerful – feature of M2TM Progressions is the ability to automatically select the
optimal inversion for each chord after the first one. In this context, the optimal inversion is the one that
preserves the pitch of notes that are in common between consecutive chords or that, at least, minimize
the distance between them. You enable this option by clicking the fixed field to turn it into auto:

Interestingly, the auto feature works correctly even if the progression is repeated two or more times,
using the reps field:

In addition to inversions, you can vary the sound of chord by opting for an open voicing that uses larger
intervals between chord notes. You achieve this result by means of the voicing option, optionally
combining it with the inversion field and the auto feature.
As you see in the figure above, when using the auto feature you may get different
inversions for the same progression, depending on whether you select close or open
voicing.

If two consecutive chords have one or more notes in common, a keyboard player might decide not to re-
trigger the note on the latter chord. This is especially effective when creating background pads, or
mimicking a string section. You enable this behavior using the leg (for legato) option:

The legato option works as expected even when the progression is repeated two or more times:

You can create a “thicker” sound by doubling the lowest chord note one or two octaves below or above,
using the bass field. (The lowest note is usually the chord root, but it can be a different note if you
selected a different inversion.)
Durations and Rhythmic Patterns
The next section allows you to control chord duration and rhythmic patterns:

In all examples so far, all chords in the progression had the same duration, which is equal to the bar
length (which in turns depends on the current time signature), yet M2TM Progressions lets you specify
different durations.

In the simplest scenario, you click on the leftmost field and drag the mouse up or down to select a
different duration for all the chords in the progression. Durations are expressed in quarter notes, thus
you select the value 2 to have two chords fit a 4/4 bar:

You can create more interesting progressions by specifying a non-blank value for the other three fields.
For example, the following example shows a progression whose first chord takes 4/4 (a full bar), the
second chord takes 2/4 (half note), and the remaining two chords take 1/4 (quarter note) each:
You can double-click on a field to restore its default “blank” value. If the duration sequence is shorter
than four items, then it is applied to chords in a cyclic fashion. This feature allows you to repeat the
progression each time with a different duration for its chords:

You can quickly test different and unusual combinations of chord durations by clicking the R button; to
restore the default durations, just double click each of the four fields.

The duration of each chord is not the only way you have to add variety. M2TM Progressions comes with
over 150 rhythmic patterns, which you select with the pattern field. For example, pattern #13 plays
three notes for each chord, using a 3+3+2 pattern:

Patterns can define rests as well. For example, here is pattern #14:
Many patterns use different subdivisions for each chord in the progression, as is the case of pattern #6:

If you looking for rhythmic inspiration, just click the R button to randomly select one of the 150+
patterns built in M2TM Progressions.

Insertion Point and Loop Handling


The fields near the bottom of the window allow you to define where chords are added and how many
progressions are created, and to perform a few useful actions related to the loop area:

By default, M2TM Progressions creates notes at the very beginning of the clip, corresponding to
position 1.1.1 when expressed in the bars.beats.16ths format. Unlike most other MIDI Generators,
however, you can change this insertion point by means of the first three fields in this area.

While it is possible to edit manually the numbers in these fields, you will typically change the insertion
point by means of the two buttons to their rights: the |< button resets the insertion point to 1.1.1,
whereas the > button moves the insertion point immediately after the chords you have just inserted.
This feature allows you to create complex progressions that consists of two or more different
progressions, or maybe the same progression with different root, rhythmic pattern, etc.

Notice that for these buttons to work correctly you need to confirm the insertion of the current
progression, according to the rules of all MIDI Generators for Ableton Live. In practice, you should follow
this workflow to combine two or more progressions:
First, select the first progression
from the top-center menu. If the
insertion point is other than 1.1.1,
click on the |< button to reset to the
beginning of the clip.

Next, confirm your decision to


generate current chords, by using
one of the methods Ableton Live
offers; for example, use the mouse
to select some notes in the MIDI
editor.

Click on the > button to move the


insertion point after the chord you
just inserted, then select the second
progression (or change the
attributes of the current one).

Enable the L option and ensure that


the button to its right shows the =
(equal) symbol, so that the loop
area
moves to match the progression you
just added.

If you are satisfied with the new


progression, you can click on the =
button to turn it into the + (plus)
symbol, which extends the loop area
to include the new progression. You
can now hear how the two
progressions sound together.

NOTE: changing the insertion point, either directly or by means of the |< and >
buttons may not have immediate effect, because the new point is used for the next
progression you define. If you want to apply them immediately, just force M2TM
Progressions to re-generate the current progression, for example by clicking twice the
>> (reverse) button.

When experimenting with chord progressions you can often change your mind and need to restart the
entire process, or just change a sub-progression somewhere in the clip. As you may already know, by
default MIDI Generators for Ableton Live always add notes to those already in the clip, which makes
sense in most scenarios, for example, when you create a drum loop and need to define the pattern for
the hi-hat without deleting the patterns you already created for the kick and snare.

When working with chords, however, the chords you generate somewhere in the clip are typically
meant to replace the notes in that area, and you would be forced to temporarily switch from M2TM
Progressions to the clip editor. Unfortunately, this very operation has the effect to commit the chords
you are currently working on, which is rarely what you would do.

In this scenario, the X option is very useful, as it automatically deletes all the notes that are currently in
the area where the progression is about to be inserted.
M2TM Fugue Maker

M2TM Fugue Maker is a powerful, and quite unusual, MIDI generator for Ableton Live 12. As its name
suggests, this tool can generate fugues, the kind of classical music composition born in 17th century and
based on the concept of polyphonic, imitative counterpoint. (Read about fugues on Wikipedia.) The
most famous composer of fugues is undoubtedly J.S.Bach, yet the same compositional criteria have
been used in modern contexts, such as Shoenberg’s serialism.

IMPORTANT: unlike most other MIDI tools, M2TM Fugue Maker works only in
Session view; when Live is in Arrangement view no error message is displayed,
yet the device does not generate any clip.

Admittedly, fugues may appear far from the interests of a modern, electronic musician. The truth,
however, is that many of the concepts behind a well-crafted fugue can be applied to any music style and
genre. All depends on the melodic idea you start with, the transformations you apply, and the
instruments that you assign to each of the generated voices. Not surprisingly, many of the concepts
have been widely adopted by contemporary composers such as Steve Reich and Philip Glass.

Composing a fugue from start to finish is an overly complex task, though, and requires deep knowledge
of music theory, harmony, polyphony, contrapuntal experience, and way too many rules. M2TM Fugue
Maker does not have that ambition. More simply, it allows you to generate up to five voices (or tracks,
in Live parlance) by applying a set of transformations to notes stored in a clip.

In this document, we refer to this original melody using the term seed melody, whereas the clip that
contains this melody is called seed clip. Likewise, the tracks where new clips are created are called
target tracks, and the generated clips are called target clips.

Being a MIDI generator, you find M2TM Fugue Maker in the Generate tab of the clip’s property
window. Depending on this window’s width, it can appear in either of these views:
Introduction
As you’ll see in a moment, M2TM Fugue Maker allows you to generate multiple MIDI clips at each
iteration. The generation of each clip is a complex and time-consuming task. For this reason, it is highly
recommended that you disable the Generate button, so that Live does not regenerate all clips each
time you change one single parameter.

Instead, we suggest that set parameters for the various voices and click the Apply button only when you
are ready. Failing to do so will slow down Live, often to an unacceptable degree. In the best cases, Live
freezes for several seconds; in the worst cases, Live might even crash! Therefore, do yourself a favor and
disable the Generate button!

Unfortunately, button names have changed under Live 12.1; if you own this (or newer) Live version, the
rectangular button on the left is now labeled Auto, and the rounded button on the right is labeled
Generate.

NOTE: To reduce confusion, in the reminder of this document, the term Apply is
used to indicate the button on the right, regardless of the Live version you are
working with.

One of the most peculiar features of M2TM Fugue Maker is that, even if it appears in the Generate tab
of clip properties, it does not generate or transform notes of the current clip. Instead, it creates clips in
different MIDI tracks. At each iteration – i.e. each time you click the Apply button (in Live 12.0) or
Generate button (in Live 12.1) – the current clip is copied to the other tracks and then its notes are
transformed according to the rules you established for that voice (direction, octave, interval, speed,
etc.).

You can generate five clips at each iteration, or fewer. (For example, the figure below shows four
voices.) Being a MIDI tool, target clips must reside in MIDI tracks; you select the target track from a
drop-down list, thus you cannot be wrong. Target tracks can be to the right or to the left of the seed
clip, do not have to be contiguous, and there can be other MIDI or audio tracks in between.
IMPORTANT: creating the “perfect” fugue – or whatever musical composition you
have in mind – is an iterative process that requires fine-tuning of all parameters. Keep
in mind that M2TM Fugue Maker always processes the currently selected clip – i.e.
the clip whose notes are displayed in the note editor, near the bottom of Live’s
window. If you click the Apply button while Live is displaying a clip other than the seed
clip, a different set of clips is generated and you might accidentally overwrite clips
that have nothing to do with the “fugue” under construction. If that happens, you
must undo multiple times until you restore the original Live set.

Bottom line: It is crucial that you always double-check that the seed clip is the one
displayed in the note editor, before you click the Apply button.

For each of the five voices, you select the target track from the drop-down track list. The track list
contains all the MIDI tracks in the Live Set except the current one, i.e. the one containing the seed clip. It
is important considering that the track menu is not automatically updated when the Live Set is
modified. For this reason, never add, delete or move tracks between iterations, because results might
not be those expected and you might overwrite clips in other tracks. The code behind M2TM Fugue
Maker tries to catch these user errors, but it is not bulletproof.

If for any reason you need to add, delete or move tracks, it is essential that you click the R button to
refresh the track list. This action resets all target tracks to ---- (none), but preserves all other
parameters, thus restoring the correct target track for each voice is a matter of seconds. Until you select
a track name (other than ----), that voice is disabled and does not generate anything.
Another feature that makes M2TM Fugue Maker peculiar is that it can process multiple seed clips.
More precisely, it can process up to 11 source clips below the “main” seed clip (i.e. the clip that is
currently selected). The key to this feature is the scenes field, near the bottom-right corner of the MIDI
tool window.

M2TM Fugue Maker can process up to 5 voices and 12 seed clips, for a grand total of 60 clips at each
iteration. Depending on the parameters you set for each voice and how fast you CPU is, this task can
keep Live busy for a few seconds. Remember to disable the Generate button – named Auto in Live 12.1
and later versions – and trigger the generation by clicking the Apply button, as explained above.

Regardless of the value of the scenes field, M2TM Fugue Maker generates a row of clips only if that row
contains a seed clip in the source track. The scenes value is ignored if it is higher than the number of
existing scenes below the seed clip, as shown in this screenshot:

Feature List
Here is the list of M2TM Fugue Maker’s main features.

 generates up to five voices in one operation


 processes up to 12 seed clips, for a total of max 60 generated clips at each iteration
 parameters of each voice can be selected independently of other voices
 direction: each voice can have direct motion, retrograde motion, or the combination of direct-
retrograde and retrograde-direct motion
 speed: the perceived speed of each voice can be a fraction or a multiple of the seed melody’s
speed; this effect is obtained by dividing or multiplying the duration of each note
 start: each voice can start from an arbitrary point of the seed memory; this makes it simple to
create canons (e.g. the popular Frère Jacques song, read more here)
 note duration: the duration of notes in each voice can shorter or longer than it should, to easily
create staccato or legato effects
 octave: each voice can use a different octave
 interval: you can set a fixed interval between the notes in each voice and the corresponding
note in the seed melody; intervals are diatonic, and the resulting notes automatically fit the
current scale
 interval inversion: intervals can be inverted, on a voice-by-voice basis; for example, if the seed
melody is ascending, the generated melody is descending, and vice versa
 velocity: the MIDI velocity of notes in each voice can be a multiple or a fraction of the original
velocity, thus accents in the seed melody are preserved; moreover, you can set notes’ velocity
deviation and let Live apply subtle variations to humanize the result
 harmony: you can add one, two or three harmony notes, to transform the original note into a
chord; this is especially effective for voices that have been “slowed down”
 auto-inversion: when generating harmonies, M2TM Fugue Maker can select the best chord
inversion, exactly like a “real” keyboard player would do
 legato option: if two consecutive chords have a note in common, those two note can be merged
in a single, longer note; this feature is especially effective when using pads or string instruments.
 merge: if this option is enabled, M2TM Fugue Maker selects only one note in each time interval;
for example, if you select the 1/4 merge interval, only one note in each quarter note interval is
played, and that note is held for entire quarter note; this option is useful when you speed up a
melody but don’t want to play many short notes.

The User Interface


M2TM Fugue Maker offers many options and therefore its window is stuffed with fields and menus.
However, all the options are laid out in a logical manner and it takes only a few minutes to get familiar
with them.

The first thing to remember is that all the visible options (but one) are related to the voice that is
highlighted at the top of the window. The only exception is the scenes field, near the bottom-right
corner.
The typical workflow is as follows:

1) Ensure that the Generate button is disabled (for


more information, read the Introduction section,
earlier in this document). This button is labeled
Auto in Live 12.1 and later versions.

2) OPTIONAL: if you created, moved or deleted


tracks since last time you used the tool, click the R
(for Refresh) button to ensure that the track menu
is up-to-date; this action resets the menu to ----
and disables the current voice

3) Select the first voice, using the buttons near the


top border

4) OPTIONAL: if you had already used the tool, you


might want to reset parameters to their default
value by clicking the I (for Initialize) button to the
right of voice buttons

This action affects the parameters of the currently


selected voice; the other four voices are
unmodified

5) Select the target track where the currently


selected voice will be generated; if you leave the
track menu set to ---- the current voice is disabled
and generates no clips

6) Ensure that the scenes field is set to its default


value (1); when looking for the perfect
combination of parameters you usually start with
one seed clip and want to generate one row of
target clips

7) Set the various parameters for the currently


selected voice to your liking, as explained later in
this document – if you just initialized the voice,
parameters are such that the voice in the target
track is a perfect copy of the original seed melody here we slow down speed, transpose it one octave
down, and set 75% of the original note velocity

8) After selecting the parameters for the current


voice, click the Apply button near the bottom-right Live 12.0
corner of the window to generate a clip in the
target track. (This button is labeled Generate in
Live 12.1 or later version.) Live 12.1

9) Listen to the generate clip; you may decide to solo


the target track or play it together with the seed
melody to hear the final result.
IMPORTANT: you are surely curious to see what has
been generated in the target clip; if you do, remember
to select the seed clip before re-generating voices, for
the reasons explained in the Introduction section.

10) Odds are that the generated voice needs


refinements; if so, just repeat steps 7-9 until you
find the desired combination of all parameters.

11) When the first voice sounds exactly how you wish,
you may select another voice and start again the
workflow from step 3.

12) You can generate up to five distinct voices, but do


not have to; in fact, in most cases you can obtain
intriguing results with just two or three voices
(plus the original seed clip).

In many cases, your job ends here. However, M2TM Fugue Maker is capable to do more: generate
multiple scenes, for a maximum of 60 clips in one operation! To do so, you need a few additional steps.

13) Create additional secondary seed clips below the


main seed clip; these additional clips may contain
their own melodies, whose length, scale, and other
properties is different from the seed clip.

14) Set the scenes field to match the total number of


seed clips.

IMPORTANT; before proceeding, ensure that the original


seed clip is selected (i.e. you see the original seed
melody in Live’s note editor).

15) click the Apply button (or Generate button in Live


12.1 and later) and let M2TM Fugue Maker
generate the voices for all the seed clips.

Direction and speed


The first fields below the track menu affect direction and speed of the current voice:
The dir (for direction) field t can be >> (forward), << (backward, or retrograde motion), >< (forward and
then backward), or <> (backward and then forward). The following figures clarify what these terms
mean:

>> forward
(same as original melody)

<< backward
(retrograde motion)

>< forward then backward

<> backward then forward


As you see, the last two modes double the duration of the seed clip.

Notice that the retrograde motion has the same effect you obtain by clicking the Reverse button in clip
property window. Likewise, you can obtain the “forward than backward” and “backward then forward”
effect by duplicating the clip, selecting half of the notes, and click the Reverse button:

The speed field sets the “perceived speed” of the generated melody. Speed values smaller than 1 slow
down the melody, and this effect is obtained by increasing notes’ duration. Speed values greater than 1
accelerate the melody, in which case notes’ duration is decreased by the same factor.

For example, if the speed field is set to 1/2, then the duration of all notes is doubled: a sixteenth note
becomes an eight note; an eight note becomes a quarter note, and so forth. Likewise, if the speed field
is set to 4, then note duration is divided by four: a quarter note becomes a sixteenth note, a half note
becomes an eight note, etc.

The relation between the speed value and note duration is perhaps less clear for values that are not
powers of 2. For example, if speed is set to 2/3, the result is as if all notes were “dotted”.

If speed is set to 3, then the duration of all notes is divided by three: for example, three quarter notes in
the generated melody must take the same time as one quarter note in the original melody, which in
turn means that they must be rendered as a triplet of eight notes.

The table below shows how a melody containing an assortment of quarter notes, 8th notes, 16th notes
and 32nd notes is slowed down for speed values smaller than 1. Some speed values correspond to
“dotted” values and tend to introduce syncopations, other add a “triplet” feeling. Generating voices that
mix these speeds adds much variety to your compositions.
origina
l
(speed=1)
3/4
(triplet)
2/3
(dotted)
1/2

3/8
(triplet)

1/3
(dotted)
1/4

3/16
(triplet)

1/6
(dotted)
1/8
3/32
(triplet)

1/12
(dotted)
1/16

3/64
(triplet)

1/24
(dotted)

1/32

For speed values greater than 1, note durations quickly becomes too short for staff notation, unless
the original melody consists only of long notes:

original
(speed=1)
4/3
(dotted)
3/2
(triplet)

3
(dotted)
4

6
(dotted)
8

Because the speed parameter affects notes’ duration, its effect is similar to using Live’s Stretch
command in the clip property window. The main difference is that the speed value is the reciprocal of
the value you would set with the Stretch command. For example, speed = 1/2 is equivalent to Stretch =
2:

The start field allows you to establish a time interval between the first note of the generated relative to
the first note of the seed melody. In practice, the two voices play together, but the start value “rotates”
notes in the target track by the specified number of quarter notes. If this value is positive, notes in the
target clip are rotated right; if negative, they are rotated left.

Notice that the start parameter is applied before direction and speed parameters. In other words, the
original melody is first rotated (if start is nonzero), then direction is accounted for, and finally note
durations’ are changed if speed is not 1.

The gate parameter also affects the duration of generated notes; it is a percentage of the original
duration – more precisely, of the duration resulting after applying the speed parameter - and can go
from 5% (for staccatissimo effect) to 200% (to double the original duration).
Intervals and velocity
The fields in the next row affect the pitch and MIDI velocity of generated notes.

The oct field allows you to offset the generated voice up to three octaves above or below the seed
melody.

The intv field lets you transpose notes up or down, and is expressed as diatonic (scale) steps. For
example, the value +3 means that generated notes are one fourth above the original note, whereas the
value -3 means that they are one forth below. Likewise, the values +2 and -2 generate notes one third
above or below the original note, and so forth.

The actual offset in semitones depends on the scale set for the original clip and the pitch of the original
note. For example, assuming that current scale is C Major and the original note is B3, then one fourth
above generates the E4 note (a perfect fourth, or 5 semitones), whereas one fourth below corresponds
to the F3 note (an augmented fourth, a.k.a. a tritone, or 6 semitones). One third above B3 generates the
D4 note (a minor third, or 3 semitones), whereas one third below corresponds to the G3 note (a major
third, or 4 semitones).

NOTE: if intv is nonzero, then the generated note is always quantized to the current scale,
even if the original note does not belong to the scale. If intv is zero, notes’ pitch is not
affected: if the original note does not belong to the current scale, then the generated note
does not, either.

The inv option, if enabled, inverts the direction of all intervals in the melody: ascending melodies
become descending, and vice versa. Generated note are always quantized to the current scale, even if
the original notes were not.
The effect of the inv option is similar to Live’s Invert button
(in clip property window), except the latter preserves the
overall note range, whereas the former preserves the starting
note’s pitch. (TIP: if the generated melody goes too high or
too low, compensate with the oct parameter.)

The vel field sets the velocity of generated notes as a fraction or a multiple of the original velocity. This
field can be effective for voices that should stand out more (or less) than other voices.

The dev field allows you to leverage Live’s velocity deviation


feature, which can humanize the playback by using random
velocities in a range that extends below (if deviation is
negative) or above (if deviation is positive) the original
velocity.

Chords
The fields in next row allow you to generate chords even if the seed melody was monophonic.
The harmony fields allow you to add one, two or three notes above or below generated notes; the
values you enter are interpreted as diatonic steps, for example use 2 to add notes one third above each
generated note, or use -3 to add notes one fourth below each generated note. Leave these fields to zero
if you do not want to generate chords.

A common combination is 2, 4, 6, which creates a four-note chord for each generated note:

The auto-inversion option is useful only when generating additional chord notes; if enabled, it
automatically selects the “best” chord inversion, i.e. the inversion that uses notes in common between
consecutive chords, or that at least minimizes the distance of notes of consecutive chords:

If enabled, the legato feature merges notes in common between consecutive chords, and is especially
useful when applied to pads or string sections. In most cases, you will use it together with the auto-
inversion feature:

If you select a time-interval (other than off) from the merge menu, M2TM Fugue Maker generates only
one note for each interval of that duration. Such note is usually the first note in each time interval:

The merge feature is applied before the harmony fields, therefore you can create chords based on the
first note in the time interval, and you can apply the auto-inversion and legato features if you wish:
Techniques and Tips
You can learn the basics of M2TM Fugue Maker in a few minutes, yet it take a while to become familiar
with its huge potential. Here are a few tips you may find useful in your explorations.

Seed melody
Not surprisingly, the seed melody is the factor that affects the result more than anything else does. We
suggest that the seed melody should be neither too short nor too long: a seed melody shorter than 8
notes generates repetitive voices, regardless of the transformations you apply to it. Repetitive melodies
can produce interesting minimalistic compositions – in the style of Steve Reich or Philip Glass – but can
be too predictable (and overly boring) in other contexts.

On the other hand, “pleasant” music needs to be predictable to a certain degree, else listeners have no
reference points or balance. For this reason, seed melody should not be longer than, say, 20 notes; if the
melody isn’t too long, you can slow down it with speed values of 1/4 or below, and still it will repeat
after a reasonably short period, so that listener can recognize the pattern behind it. This suggested
range – from 8 to 20 notes – is just a rule of thumb, so feel free to break it any time.

A simple way to generate a voice that is distinct from the seed melody
is using retrograde (<<), direct-then-retrograde (><) or retrograde-then-
direct (<>) value for the dir field. Another simple method is the invert
intervals option (the inv field).

Generated melodies
Two melodies that consist of the same notes can be rendered with a completely different timbre,
depending on the (physical or virtual) instrument that plays them. With all the sonic possibilities that
Live offers, you have no problem in finding the right timbre for each generated voice.

In addition to selecting the “right” instrument, you can differentiate voices by implementing a
staccato/legato effect, which you do with the gate field. Here are the most common values:

gate effect notes


>100% overlapping notes continue to play when the next
note has started – most effective if
coupled with sound decay
100% legato default: same duration as seed melody
75-90% normal most musicians interpret written
notes with this gate duration
50% staccato duration is half of the original
25% molto staccato this is the most common way to
interpret the “staccato” style
5-10% staccatissimo notes are so short that they are barely
audible

The vel field allows you to set the MIDI velocity of generated voice, as a fraction or a multiple of the
original notes. Set this field to match the nature of the instrument used for the generated voice. Notice
that generate melodies always preserve the accents – that is, variations of MIDI velocity – in the original
melody. If you want to change these accents, or if you want to create crescendos and diminuendos that
aren’t in the seed melody, you must manually edit the generated voice in Live’s note editor.

Ableton Live 12 allows you to set the velocity deviation of each note, i.e. the range inside which Live
selects a random velocity for each note. This is a simple, effective, and controllable way to “humanize”
the melody’s playback. M2TM Fugue Maker allows you to control this feature with the dev field.

Alternatively, you can manually randomize velocities and apply velocity deviation after generating each
voice, using Live’s own command. Such manual approach provides greater control on these parameters,
but has to be performed every time after you re-generate the voice.

Octaves and intervals


The optimal value of the oct field depends on the instrument assigned to that voice. If you generate
more than two voices, you should span voices over different octaves, to make voices stand out.

A nonzero value for the intv field lets you emit a different set of notes for a voice, and still preserve the
“sense” of the seed melody. Good values for this field are usually -2/+2 (one third below or above the
original melody) and -4/+4 (one fifth below or above).

In general, you can generate the same interval with different values of intv, provided that also set the
oct field properly. For example, setting intv = -2 (3rd down) is the same as setting intv = +5 (6th up) if you
also set oct = -1.

Two different intv values can be considered functionally equivalent if they produce the same scale note,
regardless of the octave. The following table lists functionally equivalent intervals:
intv interval equivalent intv if intv interval equivalent intv if
oct = -1 oct=1
-1 2nd down +6 7th up +1 2nd up -6 7th down
-2 3rd down +5 6th up +2 3rd up -5 6th down
-3 4th down +4 5th up +3 4th up -4 5th down
-4 5th down +3 4th up +4 5th up -3 4th down
-5 6th down +2 3rd up +5 6th up -2 3rd down
-6 7th down +1 2nd up +6 7th up -1 2nd down

Common values for intv field are 2 and 4 (3rd and 5th up) or their functionally equivalent -5 and -3 (6th
and 4th down); these values are commonly used because notes in different voices tend to create triads.
For example, if the seed melody plays C3, then intv=2 produces E3 and intv=-3 produces G2: taken
together, the notes C3, E3 and G2 form a C major chord. These harmonies are clearer if the voice has
the same speed as the seed melody (i.e. speed = 1).

Setting intv to +3 or -4 often produce good results. However, melodies one fourth apart tend to deliver
a very peculiar sound, which might not be appropriate for your composition. You can mitigate this effect
by selecting a different speed value for the voice.

Setting intv equal to 1, -1, 6, or -6 is acceptable, but in some cases the generated voice happens to be
only 1 or 2 semitones away from the seed melody, and such small intervals might sound as dissonant.
These intv values work best if the voice is one or two octaves apart from the seed melody, or if speed is
such that the seed melody and the voice are again in-sync after many cycles (see next section).

Speed and clip duration


The speed value is perhaps the most important parameters of the voice. The higher the speed, the
shorter the voice clip. To evaluate the duration of the generated voice clip, you divide the seed clip’s
duration by the value of the speed field. If speed is 2, the voice clip’s duration is half of the seed clip; if
speed is 1/3, the generated clip’s duration is three times the seed clip’s duration, and so forth.

The speed value also affects the number of loops that the seed melody and the generated voice must
complete to get in-sync again. For example, if speed is 3, then the voice’s is repeated three times while
the seed memory plays only once.

Things become interesting when speed is a fraction whose numerator is other than one. For example, if
speed is 3/8, then the generated melody plays three times in the same time required by the seed
melody to play eight times. Ratios of this kind create very interesting polyrhythms and introduce
syncopations, as explained in next section.

Rhythm and syncopations


For added variety, the seed melody should contain different durations. For example, consider using an
assortment of 8th notes (quivers) and quarter notes. Even better, include dotted notes, e.g. dotted 16th
or dotted 8th notes. Dotted notes are especially effective if the voice and the seed melody have different
speed, because they create unexpected syncopations.

Instead of – or in addition to – using dotted notes in the seed melody, consider setting a speed value
that implies the “dotted” feeling to create syncopations. Good candidates are speed values of 1/3, 2/3
or 4/3. For more examples, see the table in the Direction and speed section.

Some speed values infer a “triplet” feeling, for example 3/2, 3/4 and 3/8. Having two voices that both
use the “triplet” feeling is usually ok, especially if one voice has a speed that is 2 or 4 times higher than
the other one. Mixing voices with “dotted” feeling and voices with “triplet” feeling often doesn’t sound
right, unless their pitches and speed values are very far apart, for example speed = 1/12 (triplet) with
oct = -2 for a base line and speed = 4/3 (dotted) and oct = 0 for the lead voice.

Harmonies
One of the most intriguing features of M2M Fugue Maker is the ability to generate one chord for each
note in the seed melody, as explained in the Chords section earlier in this manual. Here are a few
suggestions for effectively using this feature.

 You can create chords of two, three or four notes (including the original note in the seed
melody); typical values for the harmony fields are +2 (or -5), +4 (or -3) and +6. See the table in
the Octaves and intervals section to learn about functionally equivalent intervals.
 In most cases, the harmony voice should have a speed value < 1, because chords usually moves
slower than melody.
 Unless you have a good reason for moving chords in parallel, you should enable the auto-
inversion feature (the auto switch) and let M2TM Fugue Maker select the optimal inversion for
each chord.
 When the track is associated with an instrument that is capable of long notes – e.g. pads, strings
– consider enabling the legato option (the leg switch).
 To create a pad-like effect, select an appropriate timbre and leave gate to its default 100%
value; you can also try higher values for chords that partially overlap in time.
 Decrease the volume of the target track, or set the vel field to a value < 100%, else chords would
stand out too much.
 If the seed melody consists of many short notes, consider using the merge field to reduce the
number of notes in the generated voice and therefore the number of generated chords.
 The merge field can be useful to slow down harmonies if the generated voice runs too fast, i.e.
contains many short notes or the speed parameter is 1 or greater.

Follow Action attributes


When creating a voice, M2TM Fugue Maker first copies the seed clip to the target track, and then
modifies the notes inside the clip that has just been created. All clip properties are copied, and this fact
has interesting implications.

Among the many properties copied to the target clip are time
signature, groove, key and scale, launch mode, launch
quantization, velocity amount (i.e. how note velocity affects
volume), MIDI bank select, and Follow Action.

The Follow Action property is especially interesting when you


are creating multiple rows using the scenes field.

For example, consider what happens when you set Follow


Action to Other: after the specified number of repetitions and
with the specified probability, the current clip is stopped and
another clip in the same track is triggered.

Let’s see how to leverage this feature in practice. Set up your seed clips and the transformation rules for
each voice, as you would normally do, then follow this simple workflow.
After step 2 you can check that Follow Action has been set for all seed clips:

Finally, select the top-most seed clip and click Apply button. After all voices have been generated, click
on the first scene to launch all voices in the top-most row:

After a few seconds, Live will be randomly playing clips from any scene!

Warning: for this technique to work fine, it is essential that all seed clips share the same scale and key;
else, when clips from different scenes are selected, the result might be less pleasant than you expect.
M2TM Riffs

M2TM Riffs is a MIDI tool that can generate semi-random monophonic phrases. While phrase
generators abound in the Ableton Live ecosystem, M2TM Riffs has several features that set it apart from
other, similar devices.

In fact, most riff generators typically allow you to set only a few basic parameters – for example, the
pitch range and the duration of random notes, and little else – and you are expected to click their
“Generate” button and hope for the best. Some products in this category use algorithms that can
produce pleasant and “musical” results; the majority of them, however, can only emit random and
meaningless notes. The odds that the outcome is stylistically interesting are very low.

In addition to often emitting “dull” phrases, this simplistic approach has other flaws. First, a “beautiful”
phrase for one music genre can be unusable in others. Second, each instruments call for melodies with
given characteristics: for example, a melody containing intervals of one octave of larger may sound good
if played on a synth, but not when played by a wind instrument.

The main goal we had in mind was providing more control on the “randomness” of the phrase being
generated, while keeping usage as simple as possible. We believe that M2TM Riffs gives you the
advantages of both approaches: you can create unexpected and “fully random” melodies but you can
also be more specific about what you are looking for.

Feature List
This is the list of M2TM Riffs’ main features:

 Generates monophonic musical phrases right in Live’s piano roll


o works both in Session and Arrangement you
o you specify the duration of the generated phrase
o decide whether the new phrase replaces the clip’s current content, is added to notes
already in the piano roll, or is appended to the end of the clip
o the loop area can match the last added phrase or all phrases generated so far
 You decide the valid range for pitch and velocity of notes in the random phrase
o can include accented notes whose velocity is outside the default range (see below)
 Scale-aware: generated melodies automatically fit the current scale
o exceptions are possible, though : foreign (non-scale) notes, chromatic neighbor notes,
and fragments of chromatic scale (see below)
 Create a new melody or modify only intervals, durations, and accents of the last generated
melody
 Easily clear and randomize pitch, duration, and accent probabilities – plus other attributes – for
generating always-surprising melodies.
You are in full controls of many attributes of generated melodies. These attributes can be subdivided in
three groups: attributes related to pitch and intervals, those related to note durations, and those
affecting velocity and accents.

Pitch and interval attributes:

 pitch range – the lowest and highest note of generated melodies


 relative probability of intervals between notes in generated melodies
 how often the melody inverts its direction (from ascending to descending, or vice versa)
 how often the melody contains scale or arpeggio fragments
 probability that the melody contains foreign notes, i.e. notes not belonging to current scale
 probability to include chromatic neighbor notes, i.e. short notes one semitone above or below
the main melody note that follow
 probability to connect notes using short notes in the chromatic scale
 probability to repeat the first 1, 2, e 3 notes in the sequence in ostinato style

Duration attributes:

 relative probability that a given duration is selected for notes in the random phrase – supported
durations include whole notes, half notes, quarter notes, 8th-notes, 16th-notes, and 32nd-notes
o works fine also for tempo signatures other than 4/4
 probability of using dotted notes
 probability of using triplets
 probability of generating tied notes, i.e. merging two consecutive notes into a single note
 probability of repeating rhythmic patterns inside the generated phrase – a higher probability
often delivers phrases that sound more consistent and meaningful
 gate attribute, to generate shorter notes and implement the “staccato” style
 probability that a rest be inserted in the result phrase.

Velocity and accent attributes:

 velocity range – the MIDI velocity of all notes in the phrase is randomly selected between this
minimum and maximum values
 the MIDI velocity to be used for accented notes
 the probability that an accented note be generated <N> notes after the last accented note
o use this feature to create polyrhythmic patterns with little effort.

The User Interface


M2TM Riffs allows you to finely control many characteristics of randomly generated melodies, thus its
user interface can be confusing at first. However, all controls are laid out in a logical manner and
grouped in according to their function. In practice, you can set multiple attributes with a few mouse
movements.
Each area of the user interface allows you to control attributes related to specific characteristic of the
random phrase. Attributes are subdivided into three groups attributes related to intervals (or pitch),
attributes related to note durations, and those that affect accented notes. Before diving into these
attributes, we need to introduce an important feature.

Partial randomization
A unique feature of M2TM Riffs is the ability to modify attributes in these groups and affect only some
characteristics of the random phrase generated so far. We call this feature partial randomization.

For example, say that your experiments led to the following phrase:

You like the melody, but would like to change the rhythmic pattern to have fewer short notes. You can
do so by decreasing the probability associated with 16th-notes:
Alternatively, you can change intervals but preserve durations and accents, or you can change the way
accents are distributed in the phrase without changing notes’ pitch and duration:

Partial re-generation
Previous examples showed that changing the attributes related to a given phrase characteristic (say,
note durations) creates a new random phrase that preserves other attributes (e.g. pitches and accents).
However, you can also re-randomize an attribute subset without changing probabilities in that group.

This workflow is made possible by the four round buttons near the top-right corner:

For example, see what happens to the phrase in previous example when the “I” button is pressed:
Let’s now try the “D” button:

If you like the phrase but wish to try a different way of accenting notes, click the “A” button:

Finally, you can generate a completely different random phrase – but without changing probability
distributions – by clicking the red button (labeled “@” for “All”):
These four buttons can perform other actions on the corresponding subgroup of attributes, and the
actual action is indicated by the field below them. By default, this field is set to regen (as in Regenerate).
Another section of this manual explore other available actions.

Note Attributes
As already explained, the internal randomization engine honors three groups of settings: the settings
that affect the pitch of generated notes, the setting that affect note durations, and those that drive the
generation of accented notes. The following sections describe these three groups in more details.

Pitch and intervals


When generating random phrases, the first decision to make is the pitch range of generated notes. You
should know in advance whether you are looking for a bass line or a lead melody. You select the output
range using the two fields near the top-left corner.

The two fields work correctly even if you invert the min-max order:

Consider that the randomization algorithm requires that the pitch range is at least one octave wide. If
you specify a narrower range, one octave is assumed anyway, even if two fields do not reflect this
implied range.

The yellow series of indicator below the pitch range fields are the probabilities that a given diatonic
interval be used when generating the random melody:
Two details are worth noticing:

 Intervals are diatonic, not chromatic –they represent the distance between notes measured in
scale steps, not in semitones; assuming that current scale has 7 notes (say, Major or Dorian
scale), the value 2 corresponds to the interval of a third (e.g. from C to E, or G to B). Likewise,
the value 3 corresponds to the interval of a fourth, and so on.
 Probabilities are relative, not absolute – if two sliders have same height, the corresponding
intervals have the same probability of being selected; if they are the only sliders with a nonzero
value, their probability is 50%, regardless of high tall or short the corresponding indicator is.

For example, in the image above, intervals of 5 and 8 (or more) steps will be selected an equal
number of times (on the average), and they will be chosen about two times more frequently
than intervals of 1 or 2 steps, which in turn are selected twice as often as the interval of 3 steps.

The colored histograms to the right of interval probabilities allow you to set other important, pitch-
related characteristics of the random phrase.

Notice that – unlike relative interval probabilities – the values in this section are absolute probabilities:
the tallest histogram corresponds to probability equal to 100%. Let’s see how each value affects the
random phrase.

The change direction value (slider “D”) is the probability that the melody changes its direction, and
switches from ascending to descending, or vice versa. Here are a few examples.

A melody whose probability of changing direction is zero (or very low) contains mostly consecutive
ascending and descending notes, because its direction changes rarely or never. Notice that when the
melody reaches the lowest or highest allowed pitch, it changes direction anyway:
This is how a random melody looks like if it has a high probability of changing direction:

The probability of generating scale fragments (slider “S”) works as follows: when an interval of one scale
steps – regardless of whether it is ascending or descending – is randomly selected, the engine uses this
probability to decide whether to continue going in that direction; if it does, it creates a scale fragment of
four notes or longer.

In a sense, this probability works against the probability of changing direction, and allows inserting
ascending or descending scale fragments in phrases that would otherwise “jump” up and down. Notice
that if probability for interval = 1 is zero, the engine never generates notes so close in the scale, and
therefore scale fragments are never initiated.

Say that you have generated the random phrase below; notice how the high value for change direction
probability produces an “edgy” melody:

See what happens if you set the probability of creating scale fragments to around 50%: two scale
fragments appears.
The arpeggio probability (slider “A”) is similar to the scale fragment probability, but applies to larger
intervals. When the randomization engine generates an interval of 2 steps (i.e. a minor or major third), it
queries the arpeggio probability to decide whether an arpeggio of at least 3 notes be generated.
Arpeggios can be generated only if the interval = 2 has nonzero probability; the arpeggio can also
include intervals of fourths (provided that intervals of 3 steps are allowed), because these intervals
appear when you “invert” the chord.

The figure below shows a phrase produced by setting attribute to nonzero value. As you see, arpeggios
can be either ascending or descending, and can even invert their direction before being completed:

The foreign note value (slider “F”) is the probability that a note outside the current scale be generated.
A small value for this attribute allows you to “spice up” the melody by introducing minor dissonances:

In jazz improvisation, neighbor chromatic notes are very short notes whose pitch is one semitone above
or below the “target” note. These notes can make the melody less predictable and add a character to it.
They may not belong to the current scale, but are acceptable in all cases, because they quickly “resolve”
into the target note (which always belongs to current scale).

See what happens if you set a nonzero neighbor chromatic note probability (slider “N”):
The connect notes attribute (slider “C”) is the probability that two notes are connected with a very fast
fragment of a chromatic scale. It broadly correspond to a glissando between notes:

The two right-most sliders – labeled “1” and “2”, respectively – have a similar function: they allow you
to increase the probability that the first notes in the melody be played again later in the phrase, even if
they produce an interval that should not be generated. Three options are available:

1) If only the “1” slider has nonzero value, such value is the probability that the first note in the
melody be repeated later in the phrase
2) If only the “2” slider has nonzero value, such value is the probability that either the first or
second note in the melody be repeated later in the phrase
3) If both “1” and “2” sliders have nonzero value, the combined value is the probability that the
first, second, or third note in the melody be repeated later in the phrase.

These two values allow you to create “ostinato-like” phrases with one, two or three notes are repeated
with different durations and often surprising patterns. Here are a few examples:

The “2” slider affect how often the first two notes are played in the phrase:

If both sliders are nonzero, the first three notes appear more often than others do:
Note durations
It’s hard to build interesting phrases with notes of same duration. In fact, in some contexts and musical
genres, note rhythmic patterns is just as important – or even more important – that note pitches.

You control note durations using two groups of sliders, near the bottom edge. The group on the left
affects the probabilities that a certain note duration be used for the random phrase. You can assign a
(relative) probability to whole notes (column “W”), half note (“H”), quarter notes (“Q”), 8th-notes (“E”),
16th-notes (“S”), and 32nd-notes (“T”):

For example, the following random phrase mixes quarter notes and 16th-notes:

The “W” and “H” sliders are special, in that they honor the current tempo signatures. A more precise
definition for them is: the “W” slider is for notes one whole bar long, and the “H” slider corresponds to
notes that are half bar long. They correspond to 4 and 2 quarter notes only if current tempo is the
canonical 4/4:
You see the difference when the tempo signature is different, for example 5/4:

The second group of sliders control controls other aspects of note duration and rhythmic patterns:

The dotted note value (slider “d”) is the probability that “dotted” notes be produced, as in the following
example:

The triplet note value (slider “3”) is similar, except it affects the probability of generating note triplets:
Only quarter notes, 8th-notes and 16th-notes can be grouped in triplets.

You can generate phrases that contain only triplets by setting just one duration slider to a nonzero value
– for example, the “E” slider for 8th-notes – and then move the “3” slider all the way up:

The tied note value (slider “T”) is the probability that a note be “tied” to the note that would be
generated immediately after it: when this happens, the former note is stretched to take the duration of
the latter one, and the latter is not dropped from the melody. (You don’t see this stretching process
because it happens inside the randomization engine, but knowing this behind-the-scene detail helps to
understand why you see a given rhythmic pattern.)

In addition to create composite note durations, this parameter allows you to create interesting
syncopations in your musical phrases. Not all tied notes produce syncopation, as it depends on where in
the bar notes are tied, as the figure below illustrates.

Music composition theory recommends that – in general – music should be neither too predictable nor
too chaotic. People love to hear patterns in the music, but repeating the same pattern too many times
brings interest down. This applies to both melody and rhythm.

The “S” slider controls the same-pattern probability: this is the probability that a rhythmic pattern used
early in the phrase be reused again in the melody. To understand what this probability really means,
let’s explain how the inner randomization engine works.
At the beginning of the phrase, the engine uses relative duration probabilities (the blue-cyan columns)
plus the dotted/triplet/tie probabilities to create the initial rhythmic pattern. After emitting the first
notes, the engine checks the same-pattern probability to see whether it should apply the initial
rhythmic pattern again or create a new one.

The same-pattern probability is initially set to 25%, and this default value works fine in most scenarios.
If this probability is set to zero, the engine is driven only by individual note probabilities; if two or more
note durations have same probability, the engine distributes time slots between them in same quantity
(more precisely, tends to do so, being a random process):

However, if the same-pattern probability is higher, the initial note duration – whatever it is – is more
likely to be used again later in the phrase, even if it has same probability as other durations:

Finally, if the same-pattern probability is set to 100%, the initial note pattern is applied throughout the
entire phrase. This happens even for dotted and triplet notes configurations:
Unlike other values in this group, the gate slider (labeled “G”) is not a probability; instead, it affects the
actual duration of each note – more precisely, how much the note duration is “trimmed”.

The last parameter in this group is the rest probability (slider “R”): the higher this value, the more rests
appear in the generated phrase. Duration of rests are affected by the probability of individual note
durations (the sliders from “W” to “T”); in current version of M2TM Riffs, rests can neither appear in the
middle of a dotted or triplet.

MIDI velocity and Accented notes


M2TM Riffs generates notes whose MIDI velocity is randomly selected in the range set by the 3rd and 4th
fields near the top border; the 5th (rightmost) field indicates the velocity of accented notes:

You control the random generation of accented notes by means of the green sliders near the bottom-
right corner:
Each slider in this group controls the probability that an accented note be inserted N notes after the
previous accented note. For example, the configuration shown in the image above causes the
randomization engine to put an accent 2, 3, or 4 notes after the previous accented note. These
probabilities are relative, therefore the accent after 3 notes will be slightly more frequent than the
accent after 2 or 4notes:

If you do not want to accent any note, just bring all sliders to zero:

Randomized probabilities
In a previous section, you learned that you can re-generate the random phrase by means of the four
colored buttons; for example, you can modify all note attributes by clicking the “@” button or change
only one of the three attribute groups (pitch, duration, and accent):

The regen field allows you to perform other actions on phrase attributes. You can display other values
by dragging up/down (or using the four arrow keys) after clicking the field. These are available values:

Set all sliders to zero


(the field automatically goes back to the regen default value)
Initialize sliders to the state they had when M2TM Riffs was loaded
(the field automatically goes back to the regen default value)
Generate a new random phrase using current slider values
(double-click the field to restore this default value)
Randomly increase or decrease all sliders that have nonzero value
(nonzero sliders still have nonzero values, zero sliders are not affected)
Randomize all sliders that have nonzero value
(zero sliders are not affected)
Randomly increase or decrease all sliders
(nonzero sliders may become zero, and vice versa)
Randomize all sliders, regardless of their current value

Let’s see a practical example, from start to finish.

Say that you are looking for inspiration; therefore you have no idea whatsoever about what your phrase
should look like. It makes sense to select the rand+ option and click the @ button to randomize all
attributes. After some clicks, you get a phrase that looks promising:

You like the phrase contour but would like a different ratio between 8th-notes, 16th-notes, and dotted
notes. You can move their sliders manually, but here’s a different approach: select the chng option and
click the “D” button a few times, until notes in the random phrase have the durations you like. Sliders
related to intervals and accents have not changed, nor have the pitches and velocities in the piano roll:

Lastly, turn your attention to accents. You might follow the same approach or maybe you want to try
something different and yet preserve the “flavor” of the current phrase. If this is the case, select the
chng+ option and click the “A” button until you get an accent sequence that intrigues you. Again, sliders
for intervals and durations were not affected, nor are the pitches and durations in the piano roll:
Insertion Point and Loop Handling
The fields near the bottom of the window allow you to define where chords are added and how many
progressions are created, and to perform a few useful actions related to the loop area:

By default, M2TM Riffs creates notes at the very beginning of the clip, corresponding to position 1.1.1
when expressed in the bars.beats.16ths format. Unlike most other MIDI Generators, however, you can
change this insertion point by means of the first three fields in this area.

While it is possible to manually edit the numbers in these fields, you will typically change the insertion
point by means of the two buttons to their rights: the |< button resets the insertion point to 1.1.1,
whereas the > button moves the insertion point immediately after the chords you have just inserted.
This feature allows you to create complex melodies that consists of two or more simpler phrases.

Notice that for these buttons to work correctly you need to confirm the insertion of the current
progression, according to the rules of all MIDI Generators for Ableton Live. In practice, you should follow
this workflow to combine two or more progressions.

You can read more details about this feature in an earlier section, related to the M2TM Chords
generator.
M2TM Notes

M2TM Notes is an Ableton Live 12 MIDI tool generator that converts a text sequence into notes and chords
in Live’s piano roll. The conversion can occur in both directions, as it is possible to convert the notes that
are stored in the clip editor in the equivalent text sequence.

Three manuals are available to help you get the most out of M2TM Notes. We suggest that you read them
in this order:

 M2TM Notes Quick Start (this document) – This guide provides an introduction to M2TM Notes,
complete with examples and use cases. Its main goal is to spark your curiosity and showcase the
extensive potential of this tool.
 M2TM Notes Code Recipes – A concise collection of snippets that demonstrate interesting features,
complete with dozens of examples you can customize for your own projects. This document will be
updated regularly with new ideas, tips, and content inspired by user feedback and questions.
 M2TM Notes Reference Manual – A comprehensive, detailed guide to the M2TM Notes language
syntax. You can just skim through it to familiarize yourself with its capabilities, so you'll know where to
return for specific details when needed.

The Basics
While the idea of creating melodies by typing text might seem outdated and “very un-visual”, the textual
approach has many interesting applications, for example the ability to interact with ChatGPT and other AI
tools and to create your own arpeggiators and riff generators. You’ll discover see a few examples of these
capabilities in this document, and many more in Reference Manual and Code Recipes documents.

M2M Notes is a powerful and versatile tool, yet its user interface is simple and you can learn how to use it
in a few minutes. Once we cover these basics, we can turn to more interesting applications.

General rules
Before starting, it is crucial to establish a few syntax rules. If the examples in this document don’t work as
expected, double-check that you stood by these rules:

 Commands are delimited by spaces: a text sequence such as C2 D:w Emin7 consists of three
commands separated by spaces; it isn’t relevant how many spaces are between commands; you can
also separate commands using a newline character (i.e. typing the Enter key).
 Commands cannot contain spaces: as a corollary of previous rule, commands cannot contain spaces,
else M2TM Notes would interpret it as two distinct commands (and trigger errors in most cases)
 Commands are case-sensitive: all M2TM Notes commands are upper case and cannot be typed in
lower case or as a combination of upper and lower case; for example, the Ab2 note (the A flat note four
semitones below middle C) cannot be spelled AB2 (which means a different thing) or ab2 (which would
trigger an error). Similarly, function names (such as rnd or rit) are lower case and must be spelled
exactly as they appear in this document.
 Arguments are delimited by “:” (colon) characters: as a general rule, if a command takes two or more
arguments, they are delimited by a colon, as in C3:w:90:50; if you omit one or more arguments in the
middle of the command, ensure that you typed the correct number of colons (e.g. C3:::50 to omit
second and third argument).

Note pitches
To see M2TM Notes in action, just type the notes you want to generate – using the space as a separator - in
its editor area and press the Enter key. Start with the simple C D E G sequence:

Two things are worth noticing: by default, notes are placed in the 3rd octave and their duration is one
quarter note. You set a different octave by appending its number to the note name, for example C2 or D4;
sharp and flat accidentals require the # and b suffixes. For example, the G2 A Bb C3 D E F# G sequence
generates the G Harmonic Minor scale in the 2nd octave:

You don’t have to indicate the octave number for all notes: once you set the octave for one note, all
subsequent notes “inherit” that value and use it until you change it again. In fact, it is a particular case of a
rule that applies to all note attributes:

RULE: If you set an attribute (octave, duration, velocity, etc.) for a note, that
value is automatically used for all subsequence notes, until you specify another
note with a different value for that attribute.

The initial value for octave is 3, which is the octave assumed for the first note in the sequence if you omit
its octave. The notes you can include in the sequence go from C-2 to G9, a range that matches the 128
different pitches supported by MIDI.

Durations and Rests


You specify the length of notes by appending a “:” (colon) and then the duration, expressed as a fraction of
the whole note. For example, you can play the G Harmonic Scale as a mixture of quarter notes, 8th-notes
and 16th-notes:

G2 A:1/8 Bb C3:1/16 D E F# G:1/4


As it happens for the octave number, you can omit the duration for a note that has same duration as the
note before it.

Specifying durations using fractions is ok, but in most cases, you better use “mnemonic” characters that the
parser recognizes: q stands for quarter notes, e stands for 8-th (eighth) notes and s is for 16th (sixteenth)
notes:

G2 A:e Bb C3:s D E F# G:q

M2TM Notes recognizes other duration symbols: w stands for whole note, h stands for half note, t is a 32nd
(thirty-second) note and z is a 64th (sixty-fourth) note. You get “dotted” durations by appending a d
character (e.g. qd is a dotted quarter note) and triplet durations by appending a t character (e.g. et is an
8th-note that is part of a triplet).

If duration cannot be expressed using a symbol, you can use fractions or more complex math expressions.
Expressions are necessary for long notes that span over multiple bars, “tied” notes, and notes that belong
to irregular groups (e.g. quintuplets). The following sentence is a mixture of these three cases:

C:w*2 D:q+s E:s F G A:h/5 B C4 D E

You insert rests using the R character; rests “inherit” duration from previous note, but you can specify a
different duration as you do for notes (e.g. R:e), in which case the rest’s duration is inherited by subsequent
notes. Consider this sequence:
C:e R D R:s F

Chords
M2TM Notes allows you type chords as well. You can do so using two different methods. For starters, you
can just type the chord’s name, as in the following sequence:

Cmaj7:w Dm7:h Em7 Fmaj7:e G+7

The parser recognizes virtually all chord symbols, including complex ones such as D#maj7#5/b9 or
Gbaug7b5/#11/b13. Chord symbols use 3rd octave by default.

When inserting a chord using its name, you should be aware of a potential pitfall. Consider the following
sequence:

C Dm F G7

The result in the piano roll is probably different from what you expected:
This behavior is by design: C, F and G7 are ambiguous symbols that can be interpreted as either note names
or chord names, and M2TM Notes gives note names the precedence over chord symbols.

There are several solutions to this potential issue. The simplest one is enabling the CH option, near the
bottom edge of the window:

The CH option cannot be used if you need to mix notes and chords in the same sequence. In this case, you
must prefix ambiguous chord symbols with an asterisk, as in:

*C Dm *F *G7

Another solution is to use more descriptive symbols for ambiguous chords, for example the M suffix for
Major and dom for “dominant 7th :

CM Dm FM Gdom

The third method for inserting a chord – or more in general, two or more notes that must be played
simultaneously – is spelling out those note one after the other, with no spaces between them. For example,
here an alternative syntax for the previous chord progression:

CEGB:w DFAC:h EGBD FACE GBD#F


The parser assumes that you are defining a chord starting from the lowest note towards the highest note,
thus you can usually omit the octave number for chord notes after the first one. For example, the chord
GBD#F is equivalent to - but more concise and readable than - GBD#4F, because you can omit the octave
number in the point where the chord extends from B3 to D#4.

Spelling out note names instead chord symbols requires that you know harmony theory; on the other hand,
it allows you to have more control on what notes are played, their octave, etc.

MIDI velocity
By default, individual and chord notes have a MIDI velocity equal to 100, the same value assigned by Live
when you edit notes in the piano roll. You can change this value by appending a second “:” (colon)
separator and then a number between 1 and 127. As it happens for octave and duration, a new velocity
value is “inherited” by subsequent notes. You need two consecutive “:” symbols to specify velocity but omit
duration:

C:h D:q:90 E F::80 R GBD::120

There isn’t much else to know about sequence syntax, for now at least. It’s time to see M2TM Notes in
action.

One dozen things to start with


As Ableton Live users, you are accustomed to create music in a visual and interactive way: you click on the
piano roll to create notes and then adjust their duration, velocity, and other attributes. In this respect, the
textual, command-oriented approach of M2TM Notes may appear to be a step in the wrong direction.

The truth is, while the visual approach works best in most cases, for many tasks the command-oriented
approach is more agile, delivers faster, and provides more control. This chapter illustrates some scenarios
for which M2TM Notes has a clear edge.
Become a chord wizard
Using Live’s note editor to enter chords has always been a tedious task, and requires non-trivial knowledge
of music theory. Things have slightly improved in Live 12, with the introduction of the Stacks MIDI
generator tool. However, Stacks creates only up to four chords, offers a very limited selection of chords and
doesn’t display chord names. If you already know which chords to be inserted, Stacks doesn’t speed up
your workflow.

In a previous section, you saw that entering chord symbols is a breeze. M2TM Notes can digest
progressions of any complexity; you just type chord symbols (separated by spaces) and press Enter:

Cmaj7 A7b9 Dm6/A Db7#9#11 Am9 Ab9 Gm7/Bb Fmaj9

M2TM Notes can process very complex chords – see the Db7#9#11 chord above – and supports slash
notation to indicate the desired chord inversion (i.e. the lowest note), for example Dm6/A. The syntax rules
for chords are flexible and the parser accepts many variations. For example, Db7#9#11, Dbdom7/#9/#11
and Db7/#11/#9 all represent the same chord.

Quite opportunely, M2TM Notes ignores “spurious” separators between chords – for example, commas or
pipe (|) symbols. This detail allows you to paste progressions coming from other applications, including
ChatGPT and other AI tools:

Cmaj7 | A7b9 | Dm6/A | Db7#9#11

M2TM Notes can do a lot more. The AV command selects the best chord inversion for you, and the LE
command sustains notes in common between consecutive chords:

AV LE Cmaj7 A7b9 Dm6/A Db7#9#11 Am9 Ab9 Gm7/Bb Fmaj9

The result is more similar to what seasoned pianists would play:

M2TM Notes supports many other features, such as “dropped” chords (i.e. chords where one or note is
missing), explicit chord inversions, and bass lines. Read the Reference Manual for more details.
Transcribe music from scores
When looking for inspiration, random clicks on the piano roll are a great way to come up with new ideas.
However, when transferring notes from a music score to Ableton Live, the piano roll is inadequate.

For example, say that you wish to transcribe the first eight measures of this song into Live:

If you know a bit about M2TM Notes syntax, it takes one minute or less to write the equivalent sequence:

KEF#C#G# B2F:hd F3AC:q CEG:qd X:s X G3:e A G A F:hd C4:q G3:qd G:s G G:e A G E
F:hd C4:q G3:qd G:s G G:e A E G F:hd C4:q G3:h R:e A2:s X X:e X

The KE command establishes that all F, C, and G notes in the sequence are sharp. Except for this command,
the sequence is just a series of notes:durations pairs, and you can omit duration if it is the same as previous
note.

After little practice, writing text sequences like this becomes faster than entering notes in the piano roll.

Compose away from the computer


Many musicians have their best ideas when playing in jam sessions, during rehearsals, or hanging on their
keyboard or guitar. How do you enter these melodies, bass lines, or chord progressions in Live if there is no
computer around?

In these cases, either you write the idea on a music staff – if you have it and if you know how to write music
– or you record it on the fly on your phone. Regardless, you still need to spend some time when you finally
get home and need to move your idea into Live’s piano roll.

With M2TM Notes, you have a third option. Launch a memo app on your phone and just type note names.
If possible, include their duration; else, just names are ok. Later, run Live, create a MIDI clip, paste the
sequence inside M2TM Notes, and listen. If durations don’t sound correct, fix them on the piano roll or in
the text sequence.

Here is a practical example. Say that we wrote down the following sequence:

A#2:e R D#3 C R G2 R A# E G:s C3 R:e G:s D G:e C4 A#3 E C G D E R C R A#2 C3 G2 C3 A#2 R F:q

which produces the following notes in the clip editor:


The overall duration is less than four bars, thus one or more durations are probably wrong. Say that you
decide to stretch the melody by morphing two 16th-notes into 8th-notes:

In the “traditional”, mouse-oriented approach, you should select the two 16th-notes, double their duration,
and shift subsequent notes to the right. Conversely, fixing the mistake in the sequence requires deleting
the duration of one note (in red):

A#2:e R D#3 C R G2 R A# E G C3 R:e G:s D G:e C4 A#3 E C G D E R C R A#2 C3 G2 C3 A#2 R F:q

Interact with ChatGPT


One of the main goals we had in mind when designing M2TM Notes was the ability to interact with
ChatGPT and other AI tools. An entire chapter of the reference manual is devoted to that topic; here is a
condensed version that shows only a few examples. Of course, it assumes that you already set a ChatGPT
account.
NOTE: this section mentions files that are included in M2TM Notes aux file.zip; before
proceeding, ensure that you correctly uncompressed it to your hard drive.

The first thing to do is loading the M2TM Notes syntax.txt file into a text editor, copy its contents in the
clipboard, and paste it into ChaGPT prompt:

You need to perform this preliminary step only once. From now on, ChatGPT knows about the M2TM Notes
syntax and is ready to answer your questions. For example, you can ask for a hip-hop bass line:

Here is one possible reply from ChatGPT:

Click the Copy code button (top-right corner), paste it inside M2TM Notes, and press Enter to generate the
corresponding notes in the piano roll:

That’s it! You can learn more about the interaction with AI tools in the Reference Manual; in the meantime,
have fun testing the power of AI in music composition!
Generate random melodies
Melody generators abound in Ableton Live ecosystem and it is sometimes difficult to understand which one
is better for your specific needs. For example, you may check our M2TM Riffs at this address:
https://midi2themax.gumroad.com/l/m2tm-riffs.

If you want more control on how melodies are generated, M2TM Notes has a lot to offer.

You can build the simplest melody generator by emitting random notes in the pitch range of your choice.
The following sequence uses the rnd function to emit random 8th-notes in the range between C2 (MIDI note
48) and G3 (67), with velocities between 60 and 110. The QU command quantizes random notes to the
current scale, and the R16 command repeats the portion of the sequence enclosed by curly braces, for 16
times:

QU {R16 rnd(48,67):e:rnd(60,110) }

If you don’t like the result, click the R button again, until you get something that pleases you.

This simple algorithm is the basis on which most phrase generators – both free and commercial – are built.
M2TM Notes allows you to set up more sophisticated generators, though. For example, the following
sequence generates random durations, accented notes and random rests (a rest is a note with zero
velocity). It uses the rit function to randomly select a duration among four different values.

Because note durations may vary, it isn’t possible to determine in advance how many notes will be
generated, therefore it uses the {D … } block to ensure that generated notes fill exactly two measures:

QU {D=2 rnd(60,77):rit(e,sd,sd,s):rit(90,110,0) }

You can reason in terms of random intervals between consecutive notes, instead of random pitches. The
following sequence creates melodies with intervals not wider than a perfect fifth (4 scale steps) in either
direction, and that don’t repeat the same note twice. The Z command randomly sets the first note:

QU Zrnd(60,77) {D=2 $rnd(-4,4,0):rit(e,e,sd,sd,s):rit(90,90,110,0) }


One thing that most riff generators don’t support is randomizing only some notes in the melody. For
example, the following sequence repeats the C3 and D3 notes, followed by a 8th-note and a 16th-note with
random pitch:

QU Zrnd(60,77) {D=2 C3:e:80 D $rnd(1,5)::110 $rnd(-2,3):s }

As you see, the possibilities are virtually endless.

Riff creation with JavaScript


In an earlier section, you learned that you can use ChatGPT to generate sequences that you later paste into
M2TM Notes. However, you can get interesting results also with more traditional programming languages,
such as HTML and JavaScript (JS). This section explores a JS program that comes with M2TM Notes, and
that you can customize to your taste even if you know little or nothing about programming.

NOTE: this section mentions files that are included in M2TM Notes aux file.zip; before
proceeding, ensure that you correctly uncompressed it to your hard drive.

The process can be summarized in few steps:

1) Double-click the Markov_chains.html file to display it inside your web browser, and set the various
options as you see fit.
2) Click the Generate button to produce a note sequence and then the Copy to Clipboard button.

3) Switch to M2TM Notes, click the C button to clear the edit area, paste the copied sequence, and
finally press the Enter key to generate the notes in the piano roll.

Listen to the riff: if you don’t like it, go back to the HTML page and restart from step 2. If you want
completely different phrases, try out other values for the various parameters in the page.

Markov chains is an advanced stochastic approach to melody generation. The parameters in the HTML
page give you control of phrase duration, pitch range, key and scale. You can assign a different probability
to individual duration patterns, and you can select different ways to generate intervals and velocities. You
don’t need to know anything about Markov series or JS coding and still produce many surprisingly beautiful
melodies.

Scale quantization
M2TM Notes supports over 100 different musical scales, many more than those built in Live; unlike Live,
you can switch key and scale in the middle of a clip:
QU SCD:Ultralocrian {R8 rnd(60,77):e } SCEb:Lydian_#2 {R8 rnd(60,77) }

You can even define and enforce a scale for which no definition is provided. In this case, you use an array –
that is, a series of integers delimited by square brackets – containing the distance of each note from the
root, in semitones. For example, this sequence quantizes notes to Sho, a 6-note scale from Japan that is not
recognized by Live:

SC0:[0,2,3,5,7,9]

Individual array elements can be JavaScript expressions, which means that you can even create random
scales! More about this in the Reference Manual.

The human touch


Ableton Live provides several tools for making your music less “robotic”. So does M2TM Notes, in some
cases with better results. You can start by adding swing with the SW command:

SW20 C3:e D E F G A B C4

The HU command lets you slightly anticipate or delay the notes under its scope:

C3EG HUz D E F HU-z/2 G A B HU C4


Using the mouse to move a group of notes along the X-axis in the piano roll is a trivial operation, so M2TM
Notes doesn’t add anything to what you can do with Live’s own tool. However, M2TM Notes goes further
and allows you use randomized time offsets for each note or chord:

C3EG HU=z/2*rnd(-2,2) D E F G A B HU C4

For an even deeper humanization, you can also randomize velocity and gate attributes:

Z::=rnd(80,110):=rnd(80,100) C3EG HU=z/2*rnd(-2,2) D E F G A B HU C4

Flexible strumming
After entering multiple chords in the piano roll, a couple of MIDI transformation tools in Ableton Live 12 let
you modify them with relatively ease: Strum moves chord notes on the horizontal axis, whereas Arpeggiate
transforms existing chords into arpeggios. These tools are useful and effective, yet M2TM Notes can be
better in some scenarios.

The ST command is roughly equivalent to the Strum tool, in that it lets you offset chord notes’ attack time.
Its three styles let you decide whether the strumming begins, ends, or is centered “on the beat”: these
styles are named ST_AFTER, ST_BEFORE and ST_CENTER, respectively. The ST command provides
strumming patterns not available in Live’s Strum. For example, you can strum notes in any order:
ST1:[s,-t,s,t] Cmaj7 Dm7 Em7 Fmaj7

Even more interesting, you can randomize the strumming style and the note offset for each chord in the
progression:

ST=rnd(0,3):=z*rnd(1,8) Cmaj7 Dma7 Em7 Fmaj7

Drum patterns
M2TM Notes offers a simplified notation for drum patterns, based on the U command. This notation
vaguely resembles diagrams used to teach common drum patterns:

Before trying the examples that follow, you should create a drum track and a drum rack inside it. Please
ensure that instruments correspond to the MIDI pitches shown in red:
M2TM Notes drum sequences require one U command for each drum instrument. You can write one
pattern per line for added clarity; the Z command in the top line specifies that the duration unit is 16th-
note; “|” (pipe) symbols can be included to group notes and improve readability; they are optional and are
ignored by the parser:

Z:s
U37:O...|...O|..O.|...O;
U38:....|....|....|.OO.;
U41:.OO.|.O..|OO..|....;
U43:....|O...|....|O...;
U46:O..O|..O.|...O|.OO.;
U49:....|....|O...|....;
U50:O..O|....|....|....

The U command supports other symbols, to indicate alternate pitches in the same pattern – for example,
open and closed hi-hat – or different velocities; you can split notes and achieve pattern variations by
randomly dropping notes. A trailing % symbol repeats the notes produced up to that point.

In the following pattern, the O and X characters correspond to closed and open hi-hat, o and x (lowercase)
generate notes with lower velocity, and ? symbols decrease the probability that a note be emitted:

Z:s:110 U46:O2..X|x2?x3?O4??.|.x2?xO|.xo2??.

Clicking the R button delivers patterns that are always slightly different:
Powerful arpeggios
M2TM Notes can transform chords into arpeggios, a bit like the Arpeggiate MIDI tool from Ableton, but
with more options. Unlike Arpeggiate – which affects notes already in the piano roll – M2TM Notes lets you
both create a chord sequence and transform it into arpeggios, in one operation.

The AR command defines how chords must be arpeggiated and supports 40+ different arpeggio styles. By
comparison, the Arpeggiate tool only supports 18 styles:

AR_UPDN Cmaj7:w Dm7 Em7 Fmaj7

You can change the style in the middle of the progression:

AR_CONVERGE Cmaj7:w Dm7 AR_DIVERGE Em7 Fmaj7

You can also specify the duration of notes in the arpeggio:

AR_UPDN:s Cmaj7:w Dm7 AR_DNUP:et Em7 Fmaj7

M2TM Notes lets you extend the range of the arpeggio over multiple octaves and even supports non-
integer octave values, as in this example:

AR_CONV_DIV:s:2 Cmaj7:w Dm7 AR_DIV_CONV::1.5 Cmaj7 Dm7


Other arguments of the AR command let you “rotate” the pattern, skip or repeat notes in the arpeggio
pattern, and change the velocity of those notes. For added variety, you can randomize these three
arguments, so that each chord is rendered in a different way:

AR=rnd(0,40):=rit(t,s):=rnd(1,2) Cmaj7:w Dm7 Em7 Fmaj7

Simple drum machine


In a previous section, you learned how to define drum patterns using the U command; however, you can
enter notes in a drum clip using the more traditional, note-oriented syntax. This latter approach allows you
to be in control of how notes are randomized, and to create a simple but effective drum machine with very
little code.

Before trying the examples that follow, you should create a drum track and a drum rack inside it. Please
ensure that instruments correspond to the MIDI pitches shown in red:

Let’s start with the closed hi-hat (MIDI note 46). The following sequence leverages the fact that the rbo
function – used for the note’s gate attribute – returns 100 in 75% of the cases and zero in the remaining
cases (one out of three, on the average). Notes with gate attribute set to zero are rendered as rests, thus
you can create a hi-hat pattern with random velocity and patterns using this code:

{R16 46:s:rnd(50,100):rbo(75,100) }

You can randomly alternate hi-hat sounds with another rbo function for the pitch value; in this case, 80% of
notes are close hi-hat, the remaining 20% are open hi-hat;

{R16 rbo(80,46,47):s:rnd(50,100):rbo(75,100) }

You can repeat the same approach for all the notes in this simple drum machine; you need the P command
to bring back the “playing head” to first bar, so that each pattern is stacked over those defined before it;
use the “//” prefix to add remarks that clarify what each line does; the

// hi-hat, also sets random velocity for all other drum instruments
{R16 rbo(80,46,47)::=rnd(50,100):=rbo(75,100) }
// bass drum, same random velocity, different note/rest ratio
P {R16 37:::=rbo(33,100) }
// weird bongo inherits randomized velocity and note/rest ratio
P {R16 50 }
// snare rim has fixed velocity, different note/rest ratio
P {R16 41::80:=rbo(25,100) }
You are the end of the quick start document, and you know enough about the power of M2TM Notes, to
create your own note sequences and to find novel (and unexpected) ways to use its potential.

When you feel ready, continue with the Code Recipes manual.
M2TM Scores

M2TM Scores is a MIDI tool for Ableton Live 12 that allows you to convert the notes currently selected in
the piano roll into a music score, to print it and save it to a PDF file, play it at your selected BPM, and more.

The score is displayed in a floating window or inside the default web browser. In either case, it is possible to
edit the displayed score, add information (title, composer, etc.), display bar numbers, and more.

Important: download the file named M2TM Scores.zip and uncompress it in a folder
where Live can find it. This operation creates the M2TM Scores.amxd file and a
subfolder named M2TM Scores aux files. Do not delete the ZIP file, in case you need to
accidentally delete or modify the files in this subfolder.

If you aren’t sure about where the ZIP file should be uncompressed, please read the
Setup and Troubleshooting PDF file.

The challenge
Converting notes from Ableton Live's piano roll into a traditional music score might seem like a
straightforward task at first glance. However, the reality is far more complex. Designing an algorithm
capable of consistently and accurately performing this translation in all scenarios is not just challenging—it
borders on the impossible.

One significant obstacle is that Ableton Live provides tools to create note configurations that defy clear
representation in traditional music notation, making the process even more intricate. Consider this case:
The resulting notes have a duration equivalent to 65% of an eighth note, a value that lacks a precise
counterpart in standard music notation. Consequently, the algorithm must determine an approximate
representation to convey this duration:

This example highlights a fundamental distinction: in Live’s piano roll, the position, length, and velocity of
notes are designed to dictate precisely how those notes are played. In contrast, traditional music notation
conveys how those notes should be interpreted by the performer. In practice, most musicians would prefer
reading the following notation, as it provides them with greater interpretative flexibility.

Automatic translation from piano roll to music scores can be very difficult for other reasons. For example,
consider a clip containing two melodies that intersect each other; in the image below, a red line separates
the two:

Depending on what instruments should play these notes, a composer may opt for two separate clefs or a
single clef that contains two voices:

As you’ll see shortly, M2TM Scores supports all these variations; however, in these more complex
scenarios, it requires some manual labor from you.
Customization options

The main goal of M2TM Scores is allowing you to display and print even the
most complex scores and yet keeping things simple when extreme
customization isn’t necessary. For this reason, M2TM Scores can work in
several different modes, depending on the opotion selected in the clef
menu:

Automatic: this mode works fine if the clip contains a monophonic melody (or bass line) or a progression of
block chords. In this case, you just select all notes and M2TM Scores will use the most appropriate clef type.
By settings fields in the user interface, you can force the clef type (treble, bass, or both), quantize
durations, transpose notes, assign title and instrument name, and generate accents, slurs, and staccato
symbols.

Manual (or multi-clef): this mode gives you full control on how notes are arranged in multiple clefs. This
mode consists of several steps, and you have to select the notes that must be included in each clef. In this
mode, you can create orchestral scores by gathering notes from different clips.

Regardless of whether use automatic or manual mode, when you click the go! button M2TM Scores
generates and displays the score, either in an internal window or in a web browser’s tab. You can then
refine the score by clicking show editor to unveil additional options:

Basic options: check boxes in the score window allow you to display or hide score elements such as song
title, composer’s name, BPM value, and bar numbers.

Expert mode: for deeper customization, you can manually edit the ABC notation sequence that M2TM
Scores creates behind the scenes. By doing so, you can tailor the score to your exact needs: character fonts
and sizes, page margins, bar line style, etc. You can even merge two or more clefs, include lyrics and chord
names, and add everything you may need to print the “perfect” score.

Automatic mode
In automatic mode, M2TM Scores selects whether to display only the treble clef, only the bass clef, or both
clefs. Automatic mode works fine even if the clip contains both a melody and a chord progression:

Automatic mode still requires that you select appropriate settings in M2TM Scores; for example, when both
treble and bass clefs are displayed, you choose the pitch that works as a dividing line between the two
clefs. Other settings in the user interface let you select the key signature, whether notes should be
quantized or moved to a different octave, whether you are generating the score for a “transposing”
instrument such as trumpet or saxophone, etc. Finally, you can set the score title and assign a name to the
clef.

M2TM Scores can handle many common cases in automatic mode, including:
 monophonic melodies: they consist of a single note playing in any given time
 chord progressions: both block chords and arpeggiated chords are supported, provided all notes in a
chord have the same duration
 standard note durations: notes with durations corresponding to common music symbols, ranging from
whole notes to 32nd-notes, including triplets
 irregular groups, including quintuplets (5-note) and septuplets (7-note) groups; to handle such groups
you need to disable automatic quantization
 articulations: notes marked with accent, staccato, or legato (slur) symbols (refer to a later section for
more details.)

Automatic mode is unable to handle any possible combination of notes in the clip. You may need to switch
to manual mode (or multi-clef mode) in cases that are more complex:

 fully polyphonic clips: they contain notes that overlap in time but differ in start time and/or duration,
and are said to contain multiple voices
o if overlapping notes have same start time and duration, they are treated as block chords and
the clip can be processed in automatic mode
 orchestral scores: they contain multiple clefs, including mixtures of treble and bass clefs; each clef is
meant to be assigned to a different instrument and musician

When handling polyphonic clips in manual mode, you select which notes belong to each voice, and M2TM
Scores generates one clef for each voice:

When handling orchestral scores in manual mode, you can create orchestral scores containing notes from
multiple clips and assign them to different instruments (see next figure). Regardless of whether you are in
automatic or manual mode, M2TM Scores attempts to interpret the composer’s intention and can generate
symbols for accents, staccato, and slurs (legato). These features are explained later in this manual.

The ABC Notation


Behind the scenes, M2TM Scores translates the clip contents into ABC Notation, a syntax that lets you
create music scores from text sequences (see https://abcnotation.com). To display the music score, M2TM
Scores uses the ABCJS JavaScript library (see https://paulrosen.github.io/abcjs). Both ABC Notation and
ABCJS are open-source projects supported by a community of enthusiast and brilliant developers and
musicians.

In the vast majority of cases, you don’t need to be aware that ABC Notation is being used internally;
however, for most advanced scenarios, M2TM Scores allows you to edit the generated ABC sequence. You
do so by clicking the show editor checkbox to reveal the ABC editor.

Knowing the basics of ABC syntax allows you to refine the output from M2TM Scores, for details such as:

 composer’s name, rhythm, footer notes, etc.


 precise placement of accents, staccato, slurs, etc.
 dynamic symbols (piano, pianissimo, sforzando, etc.)
 note decorations, grace notes, trills, etc.
 lyrics and chord names
 character font and size
 page size and margins, and page breaks

Expert mode is explained later in this document.

The User Interface


M2TM Scores’ user interface includes several fields that let you specify how to build and precisely display
your score.
In most cases, the workflow for using M2TM Scores is a simple workflow.

First, enable the Auto option and select the notes to be included in the score. These conditions are
crucial: if no note is selected in the piano roll, M2TM Scores is disabled and doesn’t react to your actions.
(This is how MIDI transformer tools work under Ableton Live 12.1 and later versions.) If these conditions
are not met, M2TM Scores displays an error message:

If the clip contains a simple melody or a chord progression, just press Ctrl+A (Windows) or Cmd+A (MacOS)
to select all notes. Later in this document, you will learn when selecting only a subset of existing notes is a
better choice.

Next, select a key signature. This step is optional, but choosing the most suitable key signature for the
score is a good practice and generally improves the readability of your scores. The figure below
demonstrates how the key signature influences the rendering of notes, based on the clip shown in previous
image:
If desired, you can also fill the title field with the score’s title, and the instr field with the name of the
instrument.

Third, select the auto option in the clef menu and then click the go! button. If everything is correct, the
Score window appears.

If the Score window does not appear, check that you correctly unzipped M2TM Scores.zip and didn’t delete
any file in the M2TM Scores aux files subfolder. If these conditions aren’t met, M2TM Scores display an
error message:

Finally, go back to the Score window and click the Print button. This action displays a system popup
window that allows you to select the target printer or whether to export the score as a PDF. The image
below shows what appears on a Windows computer.
The generated PDF or the actual printout includes only the actual score. The image below shows the
resulting PDF as loaded in Adobe Acrobat:

Working with treble and bass clefs


The clef menu lets you select which kind of clef you want to see in the score: treble, bass, or both. In most
cases, you can leave this menu to auto and let M2TM Scores decide what clef is more appropriate, which it
does by implementing the following simple algorithm:

 if all notes in the clip are higher than G1 (included), then treble clef if used
 if all notes in the clip are lower than F2 (included), then bass clef is used
 in all remaining cases, both treble and bass clefs are used

If the piano roll contains a monophonic melody, this algorithm usually works well. In
some cases, however, M2TM Scores might select the wrong clef, or mistakenly
select the both option when a single clef would be preferable. In such cases, you can
force the desired behavior by selecting the appropriate option – treble, bass, or
both – in the clef menu.

NOTE: the multi option is discussed later in this document.

In some cases, you can help M2TM Scores make the correct choice by transposing notes to a different
octave. For instance, the baritone saxophone’s note range is one octave lower than the alto saxophone,
which is itself one octave lower than the sopranino saxophone. While scores for the baritone saxophone
should technically appear in the bass clef, it is a common convention to write saxophone music in the treble
clef, regardless of the specific sax type.
If needed, use the oct field to adjust the octave of all printed notes without altering their pitch in the piano
roll. This adjustment helps M2TM Scores select the most appropriate clef. Consider the following notes in
the piano roll:

If you leave the clef menu to auto, M2TM Scores (correctly) displays a score that uses the bass clef:

You can force M2TM Scores to use the treble clef, by selecting that option in the top-left menu; however
the result isn’t likely to be satisfying:

In this case, you can use the oct field to transpose all notes one octave higher. The transposition occurs
internally; notes in the piano roll are not affected, and the fix lets M2TM Scores select the treble clef even if
the clef menu is set to auto:

You can improve readability by setting oct field to +2 to further transpose notes up:

M2TM Scores displays both treble and bass clefs in two cases: (a) when you select the both option in the
clef menu, or (b) when you select the auto option and M2TM Scores finds that existing notes don’t fit in the
treble or bass clef alone.

When both clefs are used, M2TM Scores must decide how to split existing notes between them. In doing
so, it uses the value in the tr-low field as the lowest note that must be displayed in the treble clef. If you
believe that notes were subdivided incorrectly between the two clefs, adjust the value in that field.

NOTE: in some cases, splitting notes between treble and bass clefs requires that you set
the clef menu to multi and follow the workflow described later in this document.
Woodwinds (clarinet, sax) and brass instruments (trumpet, flugelhorn) are known as transposing
instruments: for historical reasons, when tenor/soprano sax or trumpet instrumentalists play a “C” note on
their instrument, the actual note being emitted is B flat; likewise, when a baritone/alto/sopranino sax
musician plays a “C” note, the emitted note is E flat. Read more about transposing instruments here.

This is quite confusing if you aren’t familiar with transposing instruments; however, all you need to know
for the purpose of creating the “right” score for these instruments is that you must select the Bb or Eb
option in the trans menu. The image below shows how the score is modified by these two options:

Note quantization
As explained earlier, creating a music score from the notes in a Live clip can be a complex task. The
complexity is often due to notes in the piano roll not being precisely aligned to the grid, either at their start
point, end point, or both. To address this issue, M2TM Scores automatically quantizes notes before
generating the score. This quantization happens internally and does not alter notes in the piano roll.

You can control the quantization process with the quantize menu. By default, notes are quantized to the
nearest 16th-note, producing the same result as if you had manually quantized the notes using Live’s
command before creating the score:

The option you select in the quantize menu is crucial, for two reasons:

 notes shorter than the quantization interval don’t appear in the score
 irregular groups, such as triplets, might not be rendered correctly

It is essential that you select the right quantization option. For example, select the 1/32 option if the clip
contains very short notes, or you select the 1/8T, 1/16T or 1/32T options if the clip contains triplets.

You disable quantization by selecting the off option in the quantize menu. This step is necessary in a few
cases: (a) the clip contains notes shorter than a 32nd-note, (b) notes are aligned to a time interval shorter
than a 32nd-note, or (c) the clip contains irregular groups other than triplets, most notably quintuplets or
septuplets.
In cases (a) or (b), it is strongly recommended that you use Live’s quantize MIDI tool, to ensure that notes’
start and end points are aligned to the same quantization selected for the output score:

In case (c), consider that Live does not support quantization to quintuplets or septuplets, therefore you
should quantize all notes in the clip except those irregular groups, else they will not be rendered correctly.

Current version of M2TM Scores has a few limitations when rendering irregular groups:

 triplets and other irregular groups must contain notes of equal length
 quintuplets and septuplets must be aligned to quarter notes.

Accents, slur, and staccato symbols


M2TM Scores interprets note attributes to decorate notes in the score with special symbols. Current
version supports the following decorations:

Accented notes: notes whose MIDI velocity is higher than the value of the v.acc field are rendered with an
accent (>) symbol

Staccato style: notes whose release velocity is equal to or higher than 80 are rendered with a staccato (.)
symbol

Slur groups: group of notes whose release velocity is equal to or lower than 48 and that are not separated
by rests are connected by a slur arc.

Marking a note with an accent requires that its MIDI velocity be strictly higher than the value in the v.acc
field; this field is set to 127 initially and therefore no note is accented by default (being velocity a number in
the range between 1 and 127). When you create a note in the piano roll, Live assigns 100 as its initial
velocity.

Staccato and slur symbols make use of notes’ release velocity, a note attribute that is used only for MPE-
aware instruments. To mark notes for these symbols you first need to make the release velocity lane
visible:

When you create notes in the piano roll, Live assigns a release velocity equal to 64 by default. Once the
release velocity editor is visible, you mark notes with the staccato symbol (.) by increasing their release
velocity to 80 (or higher); likewise, you connect notes with a slur arc by decreasing their release velocity to
48 (or lower). In addition, you must enable the S option to let M2M Scores know that you want to generate
these symbols.

Other options
The num option allows you to number every Nth bar in the score; by default this field is set to zero and bar
numbers are hidden.
M2TM Scores allows you to decide how “dense” the score is, by controlling how many bars per line should
be generated. You do so with the dens menu, which supports three options: comp (for compact), norm (for
normal) and large. Here is an example of how the same clip is rendered with these three settings.

By default, M2TM Scores always attempts to render all notes in the piano roll, even if they do not abide by
the “good formatting” rules that were stated earlier in this manual – for example, when the clip contains
overlapping notes of different durations.

This default behavior is ideal in most situations. However, there


may be times when you want M2TM Scores to apply stricter
rules, typically when the generated score doesn’t meet your
expectations and you want to understand why. In these cases,
enable the ER option so that rule violations are reported in the
editor area.

Manual (multi-clef) mode


As explained earlier, M2TM Scores can automatically handle clips that contain monophonic melodies and
block chords. If the clip contains overlapping notes of different durations or you want the score to display
notes from different clips, you need to switch to manual (multi-clef) mode.
You do so by selecting multi in the clef menu; this option reveals four additional fields near the bottom of
M2TM Scores’ window.

When in multi-clef mode, all the options illustrated earlier in this document are still working; the workflow,
is different, however. Consider the following clip:

M2TM Scores cannot process this clip in automatic mode, because there are groups (or voices) of
overlapping notes with different durations. For illustration’s sake, we will use melody, harmony, and bass
as names for these voices.

To correctly process this clip, perform these steps:


1) Select the multi option in the clef menu, to enter manual mode
2) Ensure that relevant fields are set correctly, including key, transposition, octave, quantize, density,
accent velocity, slur and staccato options. (The tr-low setting is ignored in multi-clef mode.)
3) In the piano roll, select all the notes in the upper voice
4) In M2TM Scores, type melody in the instr field
5) Click the T button, to create a treble clef for the selected notes

The counter near the bottom-right corner is updated to 1 vo, meaning that one clef has been stored in the
internal memory; this clef will become visible only at the end of the entire process.

When you click the T button, the instr field is cleared and M2TM Scores is ready to define another clef. You
can therefore repeat steps 3-4-5, with minor differences:

6) In the piano roll, select all notes in the middle voice


7) In M2TM Scores, type harmony in the instr field
8) Click the B button, to add selected notes to a bass clef

Finally, you repeat the process for lowest notes:

9) In the piano roll, select all notes in the lowest voice


10) In M2TM Scores, type bass in the instr field
11) Click the B button, to add selected notes to a bass clef

12) Finally, click the go! button and see your beautifully-formatted score:
Here are a few tips for getting the best from multi-clef mode:

 Select the most appropriate settings before clicking the T or B button for each voice – you cannot
modify a voice after adding it to a treble or bass clef.
 If you realize that you made a mistake – for example, you selected the wrong notes or used
incorrect settings – you can discard the voice added most recently by clicking the U (undo) button.
o as a visual feedback for the undo operation, the voice counter is decreased by one
o you can click the U button multiple times, until the voice counter reports 0 voices – when
this happens, the U button is disabled.
 Naming a voice is optional – if no voice has been named, clefs in the score are not labeled
o you can add or change a clef name even after clicking the go! button, by editing the ABC
sequence in expert mode.
 Each voice is displayed in a different clef – however, you can merge two or more voices in the same
clef by editing the ABC sequence.
 The workflow just described works also to create a score containing notes from different clips; in
this case, selecting the M2TM Scores tool in all clips before starting the process helps to avoid
mistakes.

The Score Window


In all examples so far, clicking the go! button shows the resulting score in a popup window. However, it is
also possible to display the score inside a web browser, by clicking the W (window) button to turn it into
the B (browser) option.

In browser mode, scores are displayed in a tabbed pane in the default web browser. We tested M2TM
Scores with Chrome (both on MacOS and Windows) and Safari (only on MacOS), but any modern browser
should work fine.
The W and B options display an identical window. The only relevant difference is that clicking the go!
button multiple times in Window mode generates scores that replace the score created previously;
conversely, each time you click go! in Browser mode, a new tabbed pane is added.

As a rule of thumb, select the B option if you want to generate and later print two or more scores; select
the W option if you work with a score at a time and prefer not to open too many windows in your browser.

NOTE: if you select the Browser option, do not reload the page, else the displayed score
would be overwritten by the most recent score created in M2TM Scores.

Basic operations
The purpose of most fields and buttons in the Score window is self-explanatory.

The Zoom menu allows resizing the score before printing it, if necessary. Keep in mind that
enlarged scores might be trimmed when printed.

The Print button works in a slightly different way, depending on whether you use the internal
window or the external browser; in both cases, however, it allows you to print to a physical
printer or to a PDF file.
The Show Editor option
Clicking the show editor check box reveals a few fields. Some of them might be already checked, depending
on the options you selected inside M2TM Scores:

The options in the top row allow you to include or exclude information in the generated score:
The BPM option reports the original tempo as set inside Live; other options use generic placeholders that
you must edit in the ABC editor. The editor is reactive and the score is immediately updated with the new
values.

The %%barnumbers 2 ABC directive is automatically included if you set a nonzero value in the num field;
you can manually change its argument to set a different frequency for bar numbers.

In addition to setting these options – BPM, title, composer, etc. – you can edit the ABC text to control every
major and minor aspect of the printed score. This step requires a deeper knowledge of the ABC Notation
syntax.

If you feel brave enough, click the ABC Notation help link for more information. If you are using the
external web browser, the full ABC documentation is loaded in a separate tab. If inside M2TM Scores’
internal window, the ABC documentation replaces the score; go back by right-clicking in the window to
display a command menu.

ABC Notation crash course


This section is a summary of the most important concepts of ABC Notation; it isn’t intended to replace its
official documentation.

An ABC sequence consists of a header section followed by the notes in the score. Keep in mind that ABC
sequences cannot contain empty lines; more precisely, all the text below an empty line is ignored. If you
see fewer or no clefs in the score, it’s probably because you accidentally inserted a blank line.

The Header
All ABC headers begin with an X: command, which identifies the subsequent text as an ABC sequence. The
ABC sequence continues with commands containing information about the score. Each command goes on a
separate line. Here is a very short score in ABC Notation that uses some common commands in the header
section:
X: 1
T: My song
C: midi-2-the-max
R: swing
N: automatically produced by M2TM Scores
Q: 1/4=120
%%barnumbers 2
% --- don't modify below this point
M:4/4
K:_B_E_A
L:1/8
V:TR clef=treble name="soprano sax" snm=sopr
=C/=D/^D/=F/ F/=E/D/^C/ =C/C/=B,/B,/ z2|
=C/C/=B,/B,/ z2 =C/=D/^D/=F/ F/=E/D/^C/ ||
You already learned about some of these commands:

T: is the score title; it can be set directly from inside M2TM Scores’ user interface.

C: is the score composer.

R: identifies rhythm style (can be used for other purposes).

N: are optional footer notes.

Q: is the tempo; it usually refers to quarter notes and uses this syntax Q: 1/4=nnn, but you can
change it to refer to other notes, for example Q: 1/8=nnn to set the duration of 8th-notes.

% is the prefix used for remarks; these lines are ignored by the ABC parser; however, the double
percentage prefix %% is used for directives (see below).

%%barnumbers marks bars with their number; for example, %%barnumbers 2 shows numbers on
every other bar; %%barnumbers 3 shows numbers on every third bar, and so forth; it can be set
directly from inside M2TM Scores’ user interface.

M: is the time signature, e.g. M: 4/4 or M: C for the canonical 4/4 tempo, M: 3/4 for waltz, etc.

L: 1/8 means that the default note duration is 8th-notes; M2TM Scores generates notes assuming this
default duration; do not change this line.

K: sets all the accidentals in the key signature, for example K: ^F^C indicates that all F’s and C’s are
sharp and therefore corresponds to the D major or B minor key signature; K:_B_E_A indicates that all
B’s, E’s and A’s are flat and corresponds to E flat major or C minor.

V: defines a voice; it can be the only voice in a given clef or can be combined with other voices. For
example, V:TR clef=treble defines an “unnamed” clef associated with the TR symbol; V:SO
clef=treble name=”soprano sax” snm=sopr defines a clef named soprano sax associated with the SO
symbol (symbols are arbitrary and used to refer to this clef later in the score). The soprano sax label
is used for the very first line of this clef, for all other lines, the shortened name sopr is used. Notice
that you need double quotes if the name attribute contains spaces.
The lines that follow a V: command contain the actual notes. If your score contains multiple clefs and/or
instruments, you must define multiple V: commands, each one followed by one or more lines containing
the notes for that clef. When repeating the V: command for a clef that was defined previously, you may
include only the associated symbol (for example, V:SO instead of V:SO clef=treble name=”soprano sax”).

Remember that lines in the ABC sequence correspond to lines of notes in the score. You can therefore
control how “dense” each score clef is by inserting fewer or more newline characters (i.e. the Enter key).

Notes and Rests


Notes in ABC Notation are indicated by their pitch, optionally followed by a duration. The pitch consists of
the note name, which can be upper case (for notes between C3 and B3) or lower case (for notes in the
range C4-B4):

The note name can be followed by one or more apostrophes (to move the note one or more octaves up) or
commas (to move the note one or more octaves down); in the latter case, you may need a bass clef:

Note accidentals are indicated with a prefix: use “_” (underscore) for flat or “^” (caret) for sharp; the “=”
(equal) prefix is for “natural” and is useful to cancel the effect of a flat/sharp in the same bar or the effect
of a K: command (key signature):

Default note duration is 8th-note, as set by the L:1/8 command in the header. You set a notes’ duration by
appending a multiplier (for quarter notes or longer durations) or a divider (for 16th-notes or shorter ones).
For example, the 4 multiplier generate a half note (because 1/8 * 4 = 1/2), and the /2 divisor generates a
16th-note and can be shortened as / (single slash):

The 3 multiplier can be used for a dotted quarter note (which in fact is equal to three 8th-notes), 3/2 stands
for a dotted 8th-note, 3/4 is a dotted 16th-notes, and so forth:

When working with 8th-notes (or shorter) you usually want to group them with a common beam; this is
obtained by suppressing the space between notes. Here is a better representation of previous sequence,
with shorter notes correctly grouped:
Rests are indicated by the z character, which must be followed by its duration (unless it is an 8th-note rest):

Triplets are indicated by a (3 prefix and followed by three notes of same duration:

The triplet can include notes of different duration, as in the example below; however, these compound
triplets are not automatically generated by M2TM Scores and can be obtained only by editing the ABC
sequence:

Line dividers between bars are indicated by “|” (pipe) characters; M2TM Scores inserts them in the right
position and terminates the sequence with a double line. If you edit the sequence to add or remove notes,
inserting the divider in the correct position is your responsibility:

Durations that cannot be expressed as simple fractions must be rendered as two (or more) notes that are
“tied” by means of a “-“ (minus) symbol; this symbol is necessary also when a note overlaps a bar divider,
as in:

Individual notes can be decorated by an accent (with the “L” prefix) or the staccato symbol (with the dot
prefix); enclosing two or more notes between round parentheses creates a “slur” arc for the legato effect:

Multiple notes that play at the same time must be enclosed in square brackets; these notes are assumed to
have the same duration, therefore you need to set the duration for only one of them:

You can also append the duration after the closing square bracket, as in [CG]2 [Ad]4.

Advanced features
The ABC commands illustrated so far are handled automatically by M2TM Scores, meaning that it can
generate all those commands without your intervention. (The only exceptions are triplets containing notes
of uneven duration.) In this section, you will learn how you can manually enhance the scores that M2TM
Scores creates automatically.

You can add chord symbols by enclosing them in double quotes inside the sequence:

You can add lyrics, by inserting a line of text that starts with the w: command after the line that contains
the notes; use hyphens to break words in syllables; see ABC documentation for more symbols that can be
useful with lyrics:

ABC Notation supports several bar lines variants; only the single (|) and double (||) pipe symbols are
automatically generated by M2TM Scores:

| bar line
|| thin-thin double bar line
|] thin-thick double bar line
[| thick-thin double bar line
|: start of repeated section
:| end of repeated section
:: start & end of two repeated sections
|1 start of first ending
:|2 start of second ending

When used in multi mode, M2TM Scores generates one distinct clef for each voice you define. You can use
the %%staves directive to join these clefs in various ways. For example, if you created one clef for a
pianist’s left hand and another clef for his/her right hand, you can connect these two clefs with a curly
brace, as follows:
%%staves {(RH) (LH)}
V:RH clef=treble
A2B2c2d2 | [ce]4 [ce]4 | [ce]8 | [df]4 [df]4 :|]
V:LH clef=bass
D,4 A,4 | A,2 G,2 F,2 E,2 | A,4 E,4 | A,4 E,4 :|]
You can also use the %%staves directive to merge two voices in the same clef, as in this example:
%%staves (TR1 TR2)
V:TR1 clef=treble name="voice I"
f6e2 | B2c2 d2g2 | d2c2 d2e2 | d4 z4 |
V:TR2 clef=treble name="voice II"
d6c2 | (G2A2 B2e2) | (B2A2 B2)c2 | B4 z4 |

The ABC Notation is much more flexible and expressive than what you read in these pages. It supports
dynamics symbols (e.g. pianissimo), trills, grace notes, page margins; it lets you expand or shrink the space
among notes to achieve a “beautiful” score, and a lot more. For more info, read its full documentation.

You might also like