PXR MIDI Player Wiki
Download
Contents

MIDI Output & Devices

This is where you decide where the music actually goes: out to a hardware synth, through your Mac's own speakers, or spread across a mix of devices. Everything here lives in Settings → MIDI Output (⌘,).

The Settings window on the MIDI Output tab, showing the connected device and a list of Custom Port Presets such as Yamaha MU2000, Roland SC-8850, the active Roland SC-88 Pro and Roland MT-32, each with its port and channel counts, with the Built-in GS Lite Synth listed below.

Choosing an output#

Hardware MIDI devices#

Every connected MIDI device shows up in the MIDI Devices list. Click one to send playback to it, and the chosen device is marked Active. PXR speaks to any CoreMIDI device, so any synth, sound module, or interface that appears on your Mac will work, including software synths and virtual instruments that present themselves as a MIDI destination. That covers, among others:

  • Roland Sound Canvas modules: SC-55, SC-88, SC-88 Pro, SC-8850.
  • Yamaha MU-series modules: MU50, MU80, MU90, MU100, MU128, MU1000, MU2000, and modern XG devices such as Tyros, Genos, Motif, and PSR.

A device whose interface supports MIDI Time Stamping (MTS), a hardware clock found on some USB interfaces that improves timing accuracy, shows an MTS badge. PXR uses it automatically when available.

A device your Mac still lists but cannot currently reach, because it has been switched off or unplugged, is dimmed and marked Offline. You can still select it, which is handy if you are about to switch it on. Refresh, at the top of the tab, looks for devices again and rechecks the one you have chosen.

If your chosen device goes quiet#

If the device you are playing to becomes unreachable, PXR replaces the usual green confirmation with a warning naming the device, and offers a Reconnect button. Reconnect looks for your devices again and reconnects to yours, which fixes it in most cases, including when your Mac has quietly given the device a new identity behind the scenes. The same thing is available at any time from MIDI → Rescan MIDI Devices, so you do not have to open Settings to reach it.

PXR can also let you know the moment it happens, rather than leaving you wondering why the music has gone silent: turn on MIDI Device Notifications in Settings → General.

Occasionally a device needs switching off and on again, or its cable reseating, before anything will reach it. See My MIDI device has gone quiet for the full walkthrough.

Built-in software synth#

No hardware to hand? Click Built-in Software Synth to play through your Mac's own speakers using the Built-in GS Lite Synth, a Roland Sound Canvas-derived bank built into macOS (sometimes called Apple DLS). It supports Roland GS as well as General MIDI, so a fair few GS files play nicely on it, and it needs nothing else, which makes it a lovely way to get started or to listen on the move.

Note

If PXR cannot find a device, it asks before playing rather than sitting silent. The prompt offers Choose Device, the Built-in GS Lite Synth, and, when you have loaded a SoundFont before, that font by name. Whichever you pick is the one you get: asking for the built-in bank gives you the built-in bank, and your SoundFont stays remembered and one click away in Settings.

Pick the built-in synth and a few extra controls come along with it:

  • A Master Volume slider for the overall level.
  • An Apple DLS Reverb control for the amount of built-in reverb.
  • The ability to load a SoundFont, which PXR then plays through its own sound engine (see below).

SoundFonts (PXR's own sound engine)#

A SoundFont (.sf2) or .dls file is a collection of sampled instrument sounds. Load one while playing on your Mac (the Built-in Software Synth output) and PXR plays it through its own SoundFont engine, a full software synth built into the app, in place of Apple's GS Lite bank. That engine is what makes a SoundFont sound richer, more authentic, or simply different, with no extra hardware needed. Sending to hardware instead? The hardware makes its own sound, so SoundFonts do not apply there.

  • Load to choose a SoundFont file. You can also drag a .sf2 or .dls file onto the picker.
  • Change to swap to a different one.
  • Clear (the X) to go back to the standard Apple sounds.
  • File → Recent SoundFonts lists fonts you have loaded before, so you can bring one back in a click.
  • Once loaded, PXR shows the SoundFont's name, size, and how many voices and banks it contains.
  • SoundFonts carry their own per-channel reverb and chorus, driven by the music file and adjustable from the Mixer and Performance Mode. The Apple DLS Reverb control in Settings applies only to the standard built-in sounds, so it has no effect while a SoundFont is loaded.

Every instrument in the bank plays. A SoundFont often holds far more than the standard General MIDI set: extra variation banks with alternative or more detailed sounds. PXR sounds all of them, both when playing files and when you play live in Performance Mode, so a track that calls for a variation voice plays the way its author intended rather than a stand-in.

All 64 channels play. SoundFonts are not limited to 16 channels. A multi-port file, one that spreads more than 16 channels across several ports, plays in full through a SoundFont, up to 64 channels in total, so you no longer need MIDI hardware just to hear every part. Each port's parts, including its drums, sound on their own channels, with full per-channel reverb and chorus.

Tested against the specification. A SoundFont is only half the story: the engine playing it has to interpret the format correctly, and small mistakes there are the difference between a font sounding as its maker intended and sounding merely close. PXR's engine is checked against the SoundFont Spec Implementation Test, a public set of thirty-two tests across three suites that exercise the parts of the format you actually hear: how notes swell and fade, how filters open and close, vibrato, panning, the built-in reverb and chorus, the filter sweeps that Sound Blaster cards introduced, and how samples are stretched to play at pitches they were not recorded at. PXR passes every one.

Browsing the sounds#

Curious what is inside? Open Display → SoundFont Instruments to browse every instrument in the loaded SoundFont, organised by bank and program, so you can see exactly what sounds it provides. See SoundFont Instruments.

A different SoundFont per channel#

Want just one part on a different bank, a better guitar or a dedicated drum kit, say, while everything else stays on your main SoundFont? Right-click a channel in the Mixer and choose Assign SoundFont. The assignment stays put as you move between tracks. See The Mixer for the details.

Unique SoundFont (a different sound per file)#

You can even give an individual file its own companion SoundFont, so it always plays through the bank it was made for (pair game.mid with game.sf2). See Unique SoundFont for the full setup.

Where to find SoundFonts#

Any standard .sf2 (or .dls) file works. If you are after a single, reliable all-rounder, a good place to start is:

  • GeneralUser GS by S. Christian Collins, a free, high-quality General MIDI and GS bank that stays small and covers the full instrument set. It suits GM and GS MIDI files beautifully.
GeneralUser GS playing through PXR's own SoundFont engine, if you would like to hear it before downloading anything. Recorded in Presentation View. Watch on YouTube.

Plenty of other SoundFonts are out there, from compact banks to multi-gigabyte orchestral sets, so it is worth experimenting to find the sound you like.

Automatic format routing#

Built up a collection? If you own several devices, turn on Auto-route by Format and PXR will send each file to the right one automatically, based on the format it detects. Then assign a device (or a multi-port preset) to each format:

  • GM, GS (SC-55, SC-88, SC-88 Pro, SC-8850), GS Native, XG, MT-32, and a Fallback for anything else.

No more reaching for the device list every time you load a different kind of file.

Multi-port presets#

If you have several devices, or one device with more than one MIDI port, you can create a Custom Port Preset that assigns channel ranges across up to four ports (giving you up to 64 channels):

  • New builds a preset that maps channels across multiple ports.
  • Edit changes an existing preset, including its polyphony ceiling.
  • Delete removes one.
  • Drag presets to reorder them.

A preset can also pin a specific MIDI input device.

Route channel 1 to a separate port#

When auto-routing is off, Route Ch 1 to Separate Port peels off channel 1 and sends it to a different device than the other 15 channels. Handy for single-channel hardware such as a Yamaha VL70-m, or for giving a lead or drum part its own synth.

Hardware polyphony#

For external hardware, set Hardware Polyphony to the maximum number of notes your synth can play at once (for example 24 for an SC-55, 28 for the SC-55mkII, 64 for an SC-88, and 128 for a modern module). PXR uses this figure to drive the polyphony meter and help you avoid dropped notes.

Resetting your device#

The MIDI menu has four reset commands that return your synth to a clean, known starting state for a given standard. Send one if a file has left the device in an odd mood, or before playing a file written for a particular standard:

  • GM Reset: back to plain General MIDI defaults.
  • GS Reset: initialise a Roland GS device (Sound Canvas).
  • XG Reset: initialise a Yamaha XG device.
  • MT-32 Reset: prepare a Roland MT-32. See MT-32 Support.

To send a GM reset automatically before every track, use Send GM Reset Before Each Track in Playback settings.

Tip

Wondering whether a reset actually reached the synth? It appears in the SysEx Console the moment it is sent, so you can watch it go.

XG compatibility modes (Yamaha MU hardware)#

Yamaha MU-series modules carry two compatibility modes, and PXR can switch between them from the MIDI menu:

  • NATIVE (⌃N) uses the full voice set of your connected device.
  • BASIC (⌃B) is a backwards-compatible mode that limits the device to the MU90 voice set.
  • MU100+ is shown (in place of NATIVE) when a file needs the fuller capabilities of an MU100 or newer, or a PLG expansion board.

Tip

MU80 file sounds wrong on a newer MU? Newer MU hardware defaults to its own fuller Native voice set, which maps some banks differently from the MU80. Try switching to BASIC mode.

Last updated: 2026-09-02