Max Magic Microtuner
Excerpts from the Max Magic Microtuner 1.5.4 MIDI
Tutorial file (valid for versions up to 1.6.0) - © 2006-2008 Victor Cerullo –
All rights reserved
Contents
Please make
sure that your MIDI setup contains at least one source (your MIDI interface)
and that at least one MIDI controller (a keyboard or any other
Max Magic
Microtuner will also accept virtual MIDI sources as input sources and it will
automatically create a virtual source called “Microtuner THRU” and a virtual
destination called “Microtuner IN” once the program is run, allowing for other
MIDI programs (notation software, sequencers, etc.) to send data to the
Microtuner windows. The incoming MIDI data will be routed to the Microtuner
windows if the “Microtuner THRU” virtual source is selected as MIDI source in
the MIDI Settings window (see next paragraph).
The MIDI Settings
window and the channels status matrix
The MIDI
Settings window contains all the controls you need to operate Max Magic
Microtuner with external MIDI devices connected to your Mac and with other
By clicking
on the instrument name fields appearing on the MIDI Settings window you can
open the Instrument Selection window (fig. 2 right), that allows for a faster
selection of the QuickTime synth instrument to assign to each Microtuner
window.
If you want
to route the MIDI Note-In data to a different Microtuner window depending on
the MIDI input channel, you will need to set up a
Fig. 3 –
Sending Midi
Tuning Standard system exclusive messages
The tool
shown in fig. 4 allows you to send MIDI system exclusive tuning messages to a
specified
Fig. 4 –
These
messages make it possible to transfer 128-note microtonal keymaps to a
Blank
intonation table cells will be converted into a "no change" condition
in the SysEx message (hex
The
Key-Based Tuning Dump is nothing more than an improved version of the Bulk
Tuning Dump message as originally conceived by Robert Rich and Carter Scholz
and implemented in 1992. The different naming convention was adopted in 1999 by
the Midi Manufacturers Association (MMA) in order to avoid any confusion with the
octave-based messages also introduced the same year. Following this
decision the name “Bulk Tuning Dump” became a rather generic definition; the
two message types are both called “Key-Based Tuning Dump” in the MTS Settings
window displayed in Max Magic Microtuner: you have an option for selecting
which message type to use, i.e. with or without the tuning bank byte.
Receiving Midi Tuning Standard system exclusive
messages
Max Magic
Microtuner is capable of receiving and interpreting both the MTS Bulk Tuning
Dump and Key-Based Tuning Dump system exclusive messages described in the
previous paragraph. In order to prevent unwanted overwriting of intonation
tables you may be working on, this function must be enabled first by ticking
the checkbox placed in the upper right corner of the Microtuner window, as
shown in fig. 5.
Fig. 5 – Enabling a Microtuner window to
receive MTS SysEx messages
Sending MTS messages to other Microtuner windows via internal routing
You may need
to test your MIDI Tuning Standard keymaps “on the fly” within Max Magic Microtuner before sending
them to an external device (e.g. to verify the effects of the dump on the receiving MIDI device or any other testing purposes): thanks to the virtual source and the virtual
destination described in the first paragraph you can do that by setting up an internal
routing for the SysEx messages. More in detail, if you want to send an MTS Tuning Dump SysEx message from a certain Microtuner window to another Microtuner window via internal routing, just follow
these simple steps:
MIDI Tuning Standard system exclusive messages
implementation
A bulk tuning dump comprises
frequency data in a 3-byte format for all 128
F0 7E <device ID> 08 01 tt <tuning name> [xx yy zz] ...
chksum F7
F0 7E Universal Non-Real Time SysEx header
<device ID> ID of target device (7F=all devices)
08 sub-ID#1 = "MIDI tuning standard"
01 sub-ID#2 = "BULK TUNING DUMP"
tt tuning preset number: 0-127
<tuning name> 16 characters (ASCII 32-127)
[xx yy zz] frequency data for one note (repeated 128 times)
checksum see "Checksum calculation", below
F7 EOX
2. MTS KEY-BASED TUNING DUMP (409 bytes, sub-ID
08-04, introduced in 1999)
This
message is identical to the Bulk Tuning Dump except for the addition of the
tuning bank select byte (bb). The message was renamed Key-Based Tuning Dump to
differentiate it from the new scale/octave tuning messages also introduced in
1999.
F0 7E <device ID> 08 04 bb tt <tuning name> [xx yy zz] ... chksum F7
F0 7E Universal Non-Real Time SysEx header
<device ID> ID of target device (7F=all devices)
08 sub-ID#1 = "MIDI tuning standard"
04 sub-ID#2 = "KEY-BASED TUNING DUMP"
bb tuning bank: 0-127
tt tuning preset number: 0-127
<tuning name> 16 characters (ASCII 32-127)
[xx yy zz] frequency data for one note (repeated 128 times)
checksum see "Checksum calculation", below
F7 EOX
Frequency
data format
xx = MIDI note number to retune to (semitone = 100 cents)
yy = MSB of fractional part (1/128 semitone = 100/128 cents = 0.78125 cents)
zz = LSB of fractional part (1/16384 semitone = 100/16384 cents = 0.006104 cents)
hex 7F 7F 7F is reserved for no change to the existing note tuning
Tuning
Name
Valid
tuning names should only contain ASCII characters within the 32-127 range.
Names shorter than 16 characters will be automatically padded with spaces when
sending SysEx messages with Max Magic Microtuner.
Checksum
calculation
Checksum
calculation for both the message types is performed as a XOR on all data bytes
excluding F0, F7 and the checksum itself. This means the checksum is calculated
as a XOR on 405 data bytes in the case of the Bulk Tuning Dump and on 406 data
bytes in the case of the Key-Based Tuning Dump with the tuning bank byte. The
result is then AND’ed with
Important: MTS checksum calculation in Max Magic
Microtuner versions older than 1.5.4
The online documentation on the
original Bulk Tuning Dump message currently available through the
Credits
Thanks to Robert Rich, Carter Scholz
and Jim Heintz for their technical advice.