Built-In MIDI Synthesizers

Max uses your machine's built-in MIDI synthesizer as its default MIDI output destination. You can send data directly from Max via MIDI to produce sound without using any external MIDI gear.

On Macintosh, the default MIDI output is the AudioUnit DLS (Down-Loadable-Sounds) 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 GS Wavetable Synthesizer.

Only one port for the built-in synth is created by default. (augraph on Mac OS X or midi_mme on Windows). However, on Mac, you can work with more than one DLS synth by creating additional MIDI synthesizer ports and assigning new DLS sound bank files to each one. This feature is not available on Windows machines.

Addressing the built-in MIDI synthesizer currently requires that you send messages to the Max application by typing a semicolon followed by a message text into a message box, then clicking on the message box.

Creating a new port for a DLS synth (Mac only)

  • In an unlocked Patcher window, type "m" to create a blank message box object with an active text cursor.
  • To create a new port, type

;#SM createoutport <portname> <drivername>

into the message box, replacing <drivername> with the name of the driver you want to use (augraph on Macintosh) and <portname> with the name you want to give to your virtual output port. Note that the message starts with a semicolon.

  • Lock the patcher window, and click in the message box to send the message to Max.

For example, clicking on the following message box in a Max patch will create a second DLS synth called “synth2”:

;#SM createoutport synth2 augraph


Deleting a DLS synth port (Mac only)

  • In an unlocked Patcher window, type "m" to create a blank message box object with an active text cursor.

To delete a port, type

;#SM deleteoutport <portname> <drivername>

into the message box, replacing <drivername> with the name of the driver you want to use (augraph on Macintosh) and <portname> with the name you want to delete. Note that the message starts with a semicolon.

  • Lock the patcher window, and click in the message box to send the message to Max.

For example, the clicking on the following message box in a Max patch will delete the DLS synth called “synth2”:

;#SM deleteoutport synth2 augraph

You can load type 1 or 2 sound banks by sending messages to the Max application.


Loading a Bank of Sounds on a DLS Synth (type 1 or 2) (Mac only)

  • In an unlocked Patcher window, type "m" to create a blank message box object with an active text cursor.

To load a new bank of sounds into a DLS synth, type

;#SM driver loadbank <filename> <portname>

into the message box, replacing <filename> with the name of an existing DLS bank file, and <portname> with the name of the port that will use this bank. If you omit the <portname> argument from the message box, the bank you specify will be loaded by all DLS ports. On Macintosh systems, the folder /Library/Audio/Sounds/Banks is added to the search path when looking for a DLS bank file (i.e. it is the default location for searching for sound bank files).

Note that the message starts with a semicolon.

  • Lock the patcher window, and click in the message box to send the message to Max.

If you specify a zero (0) for the filename, the default GM (General MDI) sound bank will be loaded (e.g., ;#SM driver loadbank 0 <portname>)

You can turn reverb on or off (the default state) by sending messages to the Max application:


Turning Reverb On and Off (Mac only)

  • In an unlocked Patcher window, type "m" to create a blank message box object with an active text cursor.

To enable reverb, type

;#SM driver reverb 1 <portname>

To disable reverb, type

;#SM driver reverb 0 <portname>

into the message box, replacing <portname> with the name of the port.

Note that the message starts with a semicolon.

  • Lock the patcher window, and click in the message box to send the message to Max.

If you're running Max on a Windows system, you can set an output latency value for MIDI output.


Setting MIDI Output Latency (Windows only)

  • In an unlocked Patcher window, type "m" to create a blank message box object with an active text cursor.

To set MIDI output latency, type

;#SM driver latency <time> <portname>

into the message box, replacing <time> with a time value in milliseconds.

Note that the message starts with a semicolon.

  • Lock the patcher window, and click in the message box to send the message to Max.

For example, the following message would set the latency to 10 milliseconds:

;#SM driver latency 10 midi_mme

See Also

Name Description
Technical Notes Technical Notes