Your Guide to I/O Setup in Pro Tools 12. Improvements and New Features for Music and Post.

By in Music Creation, Pro Mixing

My name is Chris Winsor, and I’m one of the product designers on the Pro Tools team here at Avid.  I come from a music audio engineering background, but have also been deeply involved in many of the Pro Tools post production workflows for the last seven years.

The I/O Setup is extremely important in how users interface their Pro Tools software based sessions, with their ‘out of the box’ gear.  It has always been a very deep and complicated section of Pro Tools, for both us as developers and for our customers. We’ve received a lot of feedback over the last few years, and it has encouraged us to make some improvements in this area.  What I’d like to do here in this blog post, is walk you through the thinking behind these changes, and explain the new behaviors of I/O Setup in Pro Tools 12.  The product design team plans to share more posts like this on feature enhancements and workflows over time.

One of the key things that sparked these changes was the overwhelming large bus buildup that would happen when interchanging sessions between different systems.  The original thought was to keep everything all of the time, which created a lot of unused orphaned busses.  The question then became, “which busses are safe to get rid of?”  This led us down the path of making a distinction between session and hardware, which I will explain a bit more later.

The next area of improvement to focus on was really how important the flexibility of session interchange is to our users workflow.  Sessions often travel to different I/O’s, of different sizes, that are used in different ways.  Some only have stereo outputs, some have surround, and some are used to send the session to an external mixing board.  The only way to really ensure that you hear something is to overwrite your own I/O configuration to mirror that of the session, and even then, you might need to do some additional work in the session to hear the intended output.  The key thought was – ‘Wouldn’t it be nice if you could leave your I/O labeling and session routing alone?’

Changes in Pro Tools 12

  • Improved predictability and flexibility of session interchange
  • Playback Engine specific IO
  • Unlimited busses
  • Automatic downmixing
  • Software based AFL/PFL
  • Importing IO Settings from a session
  • Bus multing to multiple hardware outputs
  • Improved error reporting and troubleshooting tools
  • Ability to prep a larger system from a smaller system.
  • Output menu organization by width
  • Bug fixing

System Setup

Our core design principle of the I/O Setup changes was to offer true separation between session (software) and hardware.  Your hardware is a static device that often has physical connections.  Sessions are more transient and have virtual connections.  It’s kind of like how hardware can be patched into with patch cables.  Similarly, sessions have busses.  This is how we approached the new I/O Setup improvements.

Busses live with the session.  All other tabs are related to the hardware.  If a new session comes along, it brings with it its own set of busses that will patch into the hardware.

Configuring I/O Setup

Lets take a quick walkthrough of configuring I/O Setup.

We recommend that you setup your hardware first.  Create and label inputs and outputs that relate to your hardware and connections.  Add any inserts, and set your hardware delays.

Output Settings

Once your I/O is defined, go to your output tab and configure your output settings.

Monitor Path

This is a setting that is new to Pro Tools 12.  It is probably the most important setting in I/O Setup.  The Monitor Path setting allows you to define the output that you use for your primary audio monitoring.

The way it works, is this: any busses in a session that are assigned to the monitor path on your system, will then become assigned to the monitor path of any new system that session travels to.  This will ensure that the intended audio is always heard. The monitor path is indicated by a small studio monitor icon.


Pro Tools HD now has the ability to automatically downmix the signal if the session ends up on another HD system with a smaller output.  So if you’re mixing in 5.1, and you hand the session to someone with only a stereo output, the mix will automatically downmix from 5.1 to stereo.

The downmix occurs at a later point in the signal chain before the physical outputs.  This ensures that no automation or routing within the session is changed or lost for the return trip.   Without this added flexibility, the monitor path wouldn’t be possible. The downmix will be indicated on the track output selector with a “>” symbol.

I/O setup will inform you of the difference by indicating the different output width in the bus tab.

Audition Path

This allows you define what will be heard and where from, when auditioning from places like the AudioSuite plug-ins, the Clip List, or the Workspace.

Now that Pro Tools can automatically downmix, you can set your audition path to any width that you’d like.


The AFL/PFL (now available in all flavors of Pro Tools) setting allows you to select the destination output for pre/post fader listens.  This feature allows you to specify an independent output path for solo’d tracks, so that your main outputs are not disrupted.  You can also set an independent volume level for this solo path.  In the past, this was an XMON only feature, but Pro Tools 12 allows this directly from the software.  Also with Pro Tools 12, any available output width can be chosen.  The signal will downmix as needed.

How it AFL/PFL Works
If the chosen output matches your main output, the main output will be muted, and only the solo’d signal will be heard out the main output.  All other outputs will remain live.

If the chosen output is not the main output, the main output will remain live during the solo.  This will accomplish what was previously known as “Broadcast Mode” on the ICON control surfaces.

Configure Busses (Now Unlimited!!!)

Once your hardware is configured, it is time to configure your busses.  Busses are used to route tracks to various locations.  They can be used internally or mapped to your hardware outputs.  We now only default 24 generic internal busses, but it is easy to create more if you need them.  Pro Tools 12 allows for virtually unlimited busses, so you can create as many as you need.

Multing Busses to Hardware Outputs

Sometimes you may find that you always route certain signals to more than one output.  Maybe there is a rough headphone mix or an alternate recorder.  I/O Setup will now allow you to ‘MULT’ directly from the bus tab.  This way, you can choose a single bus that will always go to multiple destinations, which will avoid redundant assignments in the session.

A MULT can be done by using the “Ctrl+click” (OSX) or “Start+click” (Win) modifier in the “Mapping to Output” selector, and choosing an additional output.

Backing it Up

After you’re done configuring your hardware and busses, it’s always a good idea to export a backup of your I/O.  This can be used to not only to restore your I/O after any later changes, but also to configure busses when creating a new session.

Session Workflows

Creating Sessions

An I/O Settings selector is available in the Dashboard when creating new sessions.  It typically will default to ‘Last Used’, unless you’ve selected a custom I/O the last time you created a session.

“Last Used” will use whatever exists in the I/O Setup at the moment the session is created.

Once your session is created, you may find yourself adding new busses, or customizing existing busses.  If you are to use “Last Used” the next time you create a session, that new session will inherit these changes.

If you’ve received and opened a session from someone else, “Last Used” may not be the correct choice when creating a new session.  You may find that you want your custom set of busses, which it is why it’s good to export a custom I/O Setting directly after creating it.  Custom I/O’s can be accessed from the I/O Setting list when creating a new session.  This way you can get back to your default every time.  If a custom I/O setting is chosen, it will be remembered and chosen the next time you create another session.

Opening Sessions

Opening a session will automatically remove the existing busses from the last session opened and brings in the busses that relate to the new session.  This keeps the bus list clean.


Besides internal routing connections, busses are also the patch points to the hardware.  Any busses that were mapped to hardware outputs on another system, will attempt to map to hardware on the current system.  The monitor path will always map successfully.   Other busses will try to find a match, but if they can’t, Pro Tools will tell you which busses can’t map to which outputs.

Visiting I/O Setup before Session Opens

If Pro Tools does inform you that something went wrong with the mapping, there is now an I/O Setup button in the session notes dialog.  This allows you to visit I/O Setup before the session has completed opening and resolve any problems.

Troubleshooting in the I/O Setup Window

If you do need to visit I/O Setup to troubleshoot a problem, there are now some hints to help you figure out what happened.

Bus Tab

Bus Mappings

Busses will now show you if their hardware assignment has changed since the last time the session was saved. If the bus can’t find an appropriate output to map to, it will show the previous mapped bus in italics, along with “(path n/a)”.

If the bus has been automatically mapped to a new output because of the monitor path, it will show in green.  A new column will also appear, called “Previous Output Mapping”.  This will show you the output that the bus was last mapped to.  Now that you know which output it was mapped to, you can go to the Output tab and click “Show Last Saved Setup” to better understand the last saved hardware configuration.

Hardware Tabs (Inputs, Outputs, Inserts, and Mic Pre)

Show Last Saved Setup

The “Show Last Saved Setup” button has existed in I/O Setup for a long time, but it is far more responsive now.  It will illuminate if anything has changed in I/O Setup since the last time the session was saved.  This is not necessarily the same thing as the last time the I/O Setup was “Ok’d”.

“Show Last Saved Setup” is especially helpful when trying to understand the hardware configuration that the session was previously saved on, but it can also be used to compare any small changes that you’ve made since the last saved.

While the button is illuminated, all hardware related tabs will reflect what was last saved with the session.  This includes things like the previously saved Monitor and Audition paths.

Restore from Session

A “Restore from Session” button is available at the bottom of the window.  This allows you to recall the I/O Settings last saved with the session.  The “Restore from Session” button can be pressed any time there is a change available, but when used in conjunction with “Show Last Saved Setup”, you can see exactly what you’re about to restore.

The restore button is tab specific, but the “Apply to all tabs” checkbox can be checked to make it apply to everything.  Alternatively, you can Option+Click (OSX) or Alt+Click (Win) instead.

Session Interop

Exchanging between multiple systems

There are many different sizes and flavors of I/O’s out there, and they’re used in a variety of ways.  Pro Tools 12 has some upgraded smarts to better handle how sessions attach themselves these I/O’s.

There were two rules that we followed when defining the new I/O mapping logic:

#1 Don’t send signal out the wrong output.
#2 Ensure that, at least, the most important output is audible.

To accomplish this, there are several criteria used to map busses to outputs.

  • Use the monitor path. The monitor path is the main output that should always be heard.  If a bus was assigned to the monitor path on System A, it will automatically map itself to the monitor path of System B.  It doesn’t matter if the name or format of the output is different.  It will still map.
  • A session will remember if it has been on a system before. So if a mapping fails, and you fix it, that session will always open correctly from then on.  This will even be the case if the session leaves your system and is opened on several other systems before returning.
    • One thing to keep in mind is that this memory will only last as long as your output listings. If you delete your outputs and recreate them from scratch, the session won’t have knowledge of them anymore.  This is why it’s good to not blow away your I/O with every session you receive.  It’s fine to rename an output, but if you delete and recreate it, the memory will be lost.  This is because outputs contain hidden ID’s, and newly created outputs have new ID’s.  But, if you save a copy of your I/O by exporting it as a .PIO file, the original outputs can be restored.
    • Another great thing that this system memory is good for is templates. If you are regularly round tripping sessions with the same people, you can round trip the session once, fix any I/O mapping problems along that way, and then save that session as a template.  Now, every session generated with that template will have a memory of its future destination.
  • If neither the monitor path or system memory cause the bus to map, the bus will only remain mapped to an output if the new system has an output that matches the exact name and format of the originating system. Remember… Rule # 1, “Don’t send signal out the wrong output.”

Switching Playback Engine

If you think about it, each playback engine is really a different I/O, likely with a different number of inputs, outputs, and physical connections.  Opening a session on a different playback engine is really like opening it on a different system, so that’s how we treat it.

Pro Tools 12 will maintain a separate set of I/O Settings for each playback engine.  Each playback engine will remember its defined inputs, outputs and other hardware-based settings, like monitor path and audition path.  Busses will even maintain their mapping memory as if it was a different system.   This way you can setup each playback engine the way you like it, and the session will adapt accordingly.

Additional Changes

There are plenty of other new enhancements to know about:

Import I/O Settings from Sessions

IO settings can now be imported directly from sessions.  If for some reason you forgot to save a backup of your I/O, or you simply want to regain the exact routing that was in a session, you can use the “Import…” button in I/O Setup and point directly to any session file.  It will even work on Pro Tools 10 and 11 session files.

The import button is tab specific, but you can apply to all tabs by enabling the “Apply to all tabs” checkbox, or by Option+Click (OSX) or Alt+Click (Win) instead.

Setup larger systems

You can now create inputs and outputs that extend beyond the bounds of the I/O.  This way, you can use a smaller system to set up for a larger system ahead of time.

Menu Organization

The Preferences>Display tab now has a preference to organize menus by “Type” (legacy behavior), “Width”, or “Type and Width”.  This way you can filter outputs and busses by width you are looking for, and not have to sort through long menus in order to find a particular subpath.

Well… that’s it! ;-D  While the changes may not seem incredibly big, there was a lot that went into it.  We really hope that this improvement makes your workflow and your life a bit smoother and easier, and of course we will continue to make improvements as time goes on. We’d love to hear from you – please feel free to comment below on your I/O Setup experiences!

Avid Pro Tools Software Download

Get Your Free 30-Day Trial

Compose, record, edit, and mix with Pro Tools—the award-winning professional’s choice for music and audio post production. Now you can try the entire creative toolset free.

A member of the Product Design team for Avid Pro Tools, I come from a music and audio engineering background. I have been deeply involved in many of the post production workflows for Pro Tools in the last seven years.