On Windows, all MIDI devices which are installed correctly on your system and appear
in the Sounds and Audio Devices Properties (Start > Settings > Sounds and Audio Devices)
will be available to Max/MSP for MIDI I/O.
On Macintosh, the OS X application Audio MIDI Setup, located in the Utilities folder
inside the Applications folder, is used to set up and describe your MIDI setup.
In addition to the standard MIDI drivers or drivers (CoreMIDI on the Mac and
midi_mme on Windows ) or drivers you may have installed on your system,
there are additional MIDI drivers available for use:
Max allows you to have multiple active MIDI driver objects in operation and work with
multiple input and output MIDI sources. In addition to identifying MIDI inputs and
outputs by name, you can specify an input or output source by a letter (a-z), or by
using MIDI channel numbers above 16.
The MIDI Setup Window provides information on the availability and status of all
available MIDI inputs and outputs, and lets you perform mapping between MIDI devices
and names or numbers.
-
Choose MIDI Setup... from the File menu to show the MIDI Setup Window.
On shows whether the input or output device is enable (on) or disabled (off)
Name shows the name of any MIDI devices currently available. Note that MIDI
devices must be connected prior to starting the Max application in order to be available for use.
The Abbrev and Offset columns contain pop-up menus listing the current abbreviation and
channel offset associated with a MIDI input or output device.
Max uses an internal
DLS Synthesizer
supported by your Macintosh or Windows OS as its
default MIDI output device.
The MIDI Setup window lists the MIDI device names and lets you associate letter
abbreviations and ranges of MIDI channels with them.
-
Choose MIDI Setup... from the Edit menu to show the MIDI Setup window
-
To create a letter mapping for a MIDI input or output, click in the Abbrev
column for the row corresponding to a MIDI input or output and choose a
letter from the pop-up menu that appears. The MIDI input or output device can
now be identified using the letter abbreviation you have selected.
In the following example, MIDI input from any MIDI input objects with the letter b
as an argument will accept input from another application (such as Ableton Live)
that routes its MIDI output to the destination "to Max/MSP 1", and any input
objects identified with the letter a as an argument will accept input from an
external MIDI keyboard.
You can route MIDI input or output data based on the MIDI message’s channel numbers.
All MIDI input or output devices mapped this way will allow input or output on 16
channels, numbered from an initial offset value.
-
Choose MIDI Setup... from the File menu to show the MIDI Setup Window.
-
To create a letter mapping for a MIDI input or output, click in the Offset
column for the row corresponding to a MIDI input or output and choose a
channel offset value from the pop-up menu that appears. The MIDI input or
output device can now be identified by sending or receiving a message whose
MIDI channel number falls in the range Offset Value + 15.
In the following example Max’s MIDI output will be sent to the AU DLS Synth
if the output message is sent on MIDI channels 0-15, and to a MIDI interface
if the message is sent to MIDI output channels 16-31.
If you create a MIDI output object without specifying a device name, the object transmits
MIDI to the first device (the default) in the list of output devices in the MIDI Setup window.
On the Macintosh, the default MIDI output is an AudioUnit
DLS synthesizer.
The AU DLS synth supports its own set of internal sounds as a
General MIDI bank, and also provides support for Level 2 SoundFont files.
On Windows systems, the default MIDI output is the Microsoft DirectMusic
DLS synthesizer.
(Note: the Microsoft DLS synthesizer does not support SoundFont files)
If you don’t assign MIDI input or output to a specific destination or port (i.e., one that does
not have a MIDI device name or abbreviation as an argument) , Max will automatically merge all
input devices. This is useful if you want to treat all MIDI input identically regardless of
its source, But this also means that the only way for a Max patch to determine which device is
actually the source of input to these objects is to compare the incoming MIDI channel number
to the MIDI channel offset specified for each device.
Note: The
midiin object is an exception to this behavior — if you don’t use an argument
to specify a device, it receives data only from the first device in the input device list.
When multiple devices share the same letter abbreviation, Max will use the first one in the
list at the time a MIDI input or output object is created with that abbreviation as an argument.
Changing the abbreviations of devices has no effect on pre-existing objects, although it
will have an effect on the meaning of subsequent port messages sent to MIDI output objects
with abbreviations as argument.