Mac OS X Patch Names & MIDI Device Definitions
Apple AMS and XML
Apple's Audio MIDI Setup (AMS) application is useful for configuring
and naming the ports of your MIDI interfaces. While it is not necessary
to use AMS Pro Tools will simply recognize the ports of any connected
MIDI interface as Port 1, Port 2, Port 3, etc. you will need to
configure AMS, correctly identifying the devices in your MIDI setup by
Manufacturer and Model, to be able assign MIDI patch names in Pro Tools.
AMS uses XML (Extensible Markup Language) to define external MIDI devices
by manufacturer and model.
Extensible Markup Language (XML) is a simple, very flexible text format
derived from SGML (ISO 8879). Originally designed to meet the challenges
of large-scale electronic publishing, XML is also playing an increasingly
important role in the exchange of a wide variety of data on the Web and
elsewhere. For more information on XML, refer to the following Web site:
Pro Tools Patch Names
Pro Tools 6.0 and higher on Mac OS X supports XML for storing and importing
patch names for external MIDI devices. When you install Pro Tools, several
MIDI patch name files (.midnam) are installed for the factory default
patch names of many common MIDI devices. These factory patch name file
reside in the following folder:
- Macintosh HD/Library/Audio/MIDI Patch Names/Digidesign/<manufacturer>
For more information on using MIDI patch names in Pro Tools, refer to
the Pro Tools Reference Guide.
Edting MIDI Patch Names Files
If you have an external MIDI device that already has a MIDI patch name
file for its factory settings, but you have created your own custom patches
and patch names, you will probably want to use those patch names in Pro
Tools. To do so, you will need to copy and edit the corresponding MIDI
patch names file.
The following example shows you how to edit a copy of an existing factory
MIDI Patch Name file this example uses the Waldorf Microwave MIDI
Patch Name file. In this fashion you can create MIDI Patch Name files
for your custom patches.
-
In the Finder, navigate to Macintosh HD/Library/Audio/MIDI Patch Names/Digidesign/Waldorf/Waldorf
MicroWave.midnam
-
Open the file, "Waldorf MicroWave.midnam" in the Apple TextEdit application
-
Save a copy of this document and give it a new name (such as, "My
Waldorf MicroWave.midnam").
The top of the document will have code that defines the manufacturer
and model for the device, and should look like this:
<MIDINameDocument>
<Author>Digidesign</Author>
<MasterDeviceNames>
<Manufacturer>Waldorf</Manufacturer>
<Model>MicroWave</Model>
You will not need to edit this code.
-
From the top of the document, scroll down until you see the following
code:
<PatchNameList Name="Presets 00">
<Patch Number="A-1" Name="Let it grow" ProgramChange="0"
/>
<Patch Number="A-2" Name="Leones'wet Dream"
ProgramChange="1" />
<Patch Number="A-3" Name="ANA FILTER BASS"
ProgramChange="2" />
<Patch Number="A-4" Name="WarmPad saw-sqr"
ProgramChange="3" />
<Patch Number="A-5" Name="Popes'Pipes" ProgramChange="4"
/>
<Patch Number="A-6" Name="Moog Bass 01" ProgramChange="5"
/>
<Patch Number="A-7" Name="RAW-SAW Solo!" ProgramChange="6"
/>
<Patch Number="A-8" Name="BG-Organ" ProgramChange="7"
/>
<Patch Number="A-9" Name="SPACEKEY" ProgramChange="8"
/>
<Patch Number="A-10" Name="Resopotamia" ProgramChange="9"
/>
</PatchNameList>
-
This is the list you will edit to include your custom patch names.
You will only need to change the patch name in quotes. For example,
if the first three custom patch names are "SyncLead," "FM evolution,"
and "Philter Sweep," edit the patch name list as follows (the changes
are highlighted in yellow):
<PatchNameList Name="Presets 00">
<Patch Number="A-1" Name="SyncLead" ProgramChange="0"
/>
<Patch Number="A-2" Name="FM evolution" ProgramChange="1"
/>
<Patch Number="A-3" Name="Philter Sweep" ProgramChange="2"
/>
</PatchNameList>
NOTE: Just as in HTML, there are certain characters that need to be
coded specially, such as & for the ampersand (&). For a
complete list of special characters, see:
http://hotwired.lycos.com/webmonkey/reference/special_characters/
If you have a synthesizer Editor/Librarian (such as Emagic's SoundDiver),
you can copy and paste your patch names from the librarian into the
XML document file
-
Once you have finished typing your own custom patch names, save the
file in and Macintosh HD/Library/Audio/MIDI Patch Names/Digidesign/<manufacturer>.
You will then be able to use your custom MIDI patch names file in
Pro Tools.
Creating Custom MIDI Patch Name Files
If you have an external MIDI device for which there is no factory MIDI
patch names file, you can create your own. The easiest way to do this
is to start with an existing file for a similar device (if there is one).
The following example starts with the factory MIDI patch name file for
the Waldorf MicroWave and edits it for a Waldorf MicroWave XT.
If you want to create a MIDI patch names file for a MIDI device that
does in not defined for AMS, you will have to edit one of the .middev
files to include your MIDI device, but more about this later.
The Waldorf MicroWave XT doesn't have a factory MIDI patch names file
(not yet, at least), but it is already defined as a MIDI device for AMS.
The MicroWave XT has an internal memory, which is divided into two different
types of locations:
- 256 Sound programs (Program A001
B128)
- 128 Multi programs (Program 001
128)
The Waldorf MicroWave also has an internal memory, which is divided into
two different types of locations:
- 64 Sound programs (Program A1
A64)
- 64 Multi programs (Program A1
B32)
These similarities make it easy to save a copy of the Waldorf MicroWave
factory MIDI patch names file, and edit and add to it for use with the
Waldorf MicroWave XT.
-
In the Finder, navigate to Macintosh HD/Library/Audio/MIDI Patch Names/Digidesign/Waldorf/Waldorf
MicroWave.midnam.
-
Open the file "Waldorf MicroWave.midnam" in the Apple TextEdit application.
-
Save a copy of this document and give it a new name (such as "Waldorf
MicroWave XT.midnam").
The top of the document will have code that defines the manufacturer
and model for the device, and should look like this:
<MIDINameDocument>
<Author>Digidesign</Author>
<MasterDeviceNames>
<Manufacturer>Waldorf</Manufacturer>
<Model>MicroWave</Model>
You will need to edit this code.
-
Change the Model from MicroWave to MicroWaveXT (highlighted in yellow
below).
<MIDINameDocument>
<Author>Digidesign</Author>
<MasterDeviceNames>
<Manufacturer>Waldorf</Manufacturer>
<Model>MicroWaveXT</Model>
-
Scroll past the <CustomDeviceMode> tag to the <ChannelNameSet
> tag for the Presets. It should look like this:
<ChannelNameSet Name="Presets">
<AvailableForChannels>
<AvailableChannel Channel="1" Available="true"
/>
<AvailableChannel Channel="2" Available="true"
/>
<AvailableChannel Channel="3" Available="true"
/>
<AvailableChannel Channel="4" Available="true"
/>
<AvailableChannel Channel="5" Available="true"
/>
<AvailableChannel Channel="6" Available="true"
/>
<AvailableChannel Channel="7" Available="true"
/>
<AvailableChannel Channel="8" Available="true"
/>
<AvailableChannel Channel="9" Available="true"
/>
<AvailableChannel Channel="10" Available="true"
/>
<AvailableChannel Channel="11" Available="true"
/>
<AvailableChannel Channel="12" Available="true"
/>
<AvailableChannel Channel="13" Available="true"
/>
<AvailableChannel Channel="14" Available="true"
/>
<AvailableChannel Channel="15" Available="true"
/>
<AvailableChannel Channel="16" Available="true"
/>
</AvailableForChannels>
<PatchBank Name="Presets 00" ROM="false">
<MIDICommands>
<ControlChange Control="0" Value="0" />
</MIDICommands>
<UsesPatchNameList Name="Presets 00" />
</PatchBank>
</ChannelNameSet>
-
Since the Waldorf MicroWave XT will require the two banks for its
presets (2 banks of 128 presets each), you will need to edit the <PatchBank>
tag (changes in code highlighted in yellow):
a. Copy and paste the <PatchBank> tag once.
b. Edit each PatchBank Name= " " so that they are unique (for example,
PatchBank Name="Bank A" and PatchBank Name="Bank B").
c. Edit each UsesPatchNameList Name= " " so that they are unique (for
example, UsesPatchNameList Name="Presets A" and UsesPatchNameList
Name="Presets B").
d. Change the second ControlChange Value= from 0 to 1.
<PatchBank Name="Bank A" ROM="false">
<MIDICommands>
<ControlChange Control="0" Value="0" />
</MIDICommands>
<UsesPatchNameList Name="Presets A" />
</PatchBank>
<PatchBank Name="Bank B" ROM="false">
<MIDICommands>
<ControlChange Control="0" Value="1" />
</MIDICommands>
<UsesPatchNameList Name="Presets B" />
</PatchBank>
-
Scroll past the <ChannelNameSet> tag for Multis to the first
<PatchNameList> tag, and change the PatchNameList Name= to "Presets
A."
<PatchNameList Name="Presets A">
<Patch Number="A-1" Name="Let it grow" ProgramChange="0"
/>
<Patch Number="A-2" Name="Leones'wet Dream"
ProgramChange="1" />
<Patch Number="A-3" Name="ANA FILTER BASS"
ProgramChange="2" />
-
Select, copy, and paste the patch name list from Patch Number="A-1"
to Patch Number="A-64". This will give you the first bank
of 128 patches.
-
Systematically go through this list and change the Patch Number="A-1"
to "A-001" through "A-128," and ProgramChange="0" to "0"
through "128." While you're at you can type in your custom patch names
for each Name=" " (I never said this wasn't going to be tedious).
<PatchNameList Name="Presets A">
<Patch Number="A-001" Name="Juno Pad" ProgramChange="0"
/>
<Patch Number="A-002" Name="DreamScape" ProgramChange="1"
/>
<Patch Number="A-003" Name="Swept Away" ProgramChange="2"
/>
<Patch Number="A-126" Name="Lunar Eclipse"
ProgramChange="125" />
<Patch Number="A-127" Name="InterModulation"
ProgramChange="126" />
<Patch Number="A-128" Name="Dunes" ProgramChange="127"
/>
</PatchNameList>
-
Select, copy, and paste the entire patch name list from the <PatchNameList
Name="Presets A"> tag to the </PatchNameList> tag.
This will give you the second bank of 128 patches.
-
Change the pasted PatchNameList Name= to "Presets B."
-
Systematically go through this list and change the Patch Number="A-001"
to "B-001" through "B-128." While you're at you can type in your custom
patch names for each Name=" " (I never said this wasn't going to be
tedious).
<PatchNameList Name="Presets B">
<Patch Number="B-001" Name="Swish" ProgramChange="0"
/>
<Patch Number="B-002" Name="DrumNBass" ProgramChange="1"
/>
<Patch Number="B-003" Name="DJ Goa Goa" ProgramChange="2"
/>
<Patch Number="B-126" Name="Trance Romance"
ProgramChange="125" />
<Patch Number="B-127" Name="SpaceBalls" ProgramChange="126"
/>
<Patch Number="B-128" Name="Insta-Techno" ProgramChange="127"
/>
</PatchNameList>
-
Last, but not least, scroll to the <PatchNameList Name="Multis
"> tag, and copy, paste, and rename accordingly to extend
the list from 64 presets to 128.
<PatchNameList Name="Multis ">
<Patch Number="1" Name="TechnoSet" ProgramChange="0"
/>
<Patch Number="2" Name="SupaPhatLead" ProgramChange="1"
/>
<Patch Number="3" Name="Outness" ProgramChange="2"
/>
<Patch Number="126" Name="" ProgramChange="125"
/>
<Patch Number="127" Name="" ProgramChange="126"
/>
<Patch Number="128" Name="" ProgramChange="127"
/>
</PatchNameList>
-
Once you have finished editing the document, save the file in and
Macintosh HD/Library/Audio/MIDI Patch Names/Digidesign/<manufacturer>.
You will then be able to use your custom MIDI patch names file in
Pro Tools.
Defining a New MIDI Device for AMS
Navigate to Macintosh HD/Library/Audio/MIDI Devices/ and open the file named
Legacy Devices.middev in Apple's TextEdit application. Each MIDI Device
correctly defined in a .middev file (and in the correct directory) will
be available for in the MIDI Device Manufacturer and Model pop-up menus
in AMS. Here's the code defining the Waldorf MicroWave XT:
<MIDIDeviceType Manufacturer="Waldorf"
Model="MicroWave XT"
CanRoute="false"
SupportsMMC="false"
Image="OMS1024">
<DeviceID Min="0" Max="127" Default="0"
Base="0" />
<Receives MaxChannels="16"
MTC="false"
Clock="false" />
<Transmits MaxChannels="0"
MTC="false"
Clock="true" />
</MIDIDeviceType>
If you have a MIDI device that is not defined in any of the current .middev
files in Macintosh HD/Library/Audio/MIDI Devices, you can edit one of the existing
files to include your MIDI device or create a new .middev file for it.
AMS (and Pro Tools) will read from all .middev files in Macintosh HD/Library/Audio/MIDI
Devices.
The coding requirements for your specific MIDI device may be different
from the preceding example. Be sure to consult the manufacturer's documentation
for your device to correctly define it in XML.
Download an Acrobat PDF Version of this Web Page:
Technical Support | Customer
Service | Answerbase
| Digidesign
User Conference
Compatibility Documents | Technical
Document Library | Software Downloads
|