PC Windows MIDI port configuration and troubleshooting
This article mainly applies to PC Windows systems running Cubase SE/SL/SX 3.0.1 and Nuendo 3.0.1 or higher only but contains general information for all users of previous versions too (e.g. Cubase LE).
General advice for using MIDI on PC Windows systems
These are the basic steps to check when you experience problems with the stability of MIDI communication on your PC system:
• It is recommended to have DirectX9.0c installed! Please update the DirectX version if this is not the case. DirectX9.0c is automatically installed with Windows XP SP2. You can also download the current version separately here.
• If you have persistent timing problems (shifted notes etc.) with native or emulated DirectMusic ports please check the option “Use System Timestamp” provided in the DirectMusic section of the Device Setup dialogue. This option uses another timing reference in your system when enabled.
• The option "Use System Time Stamp" is also available for Windows MIDI ports since Cubase SE 3, SL & SX 3.1 and Nuendo 3.1.
• If you experience trouble while receiving/transmitting SysEx data through native or emulated DirectMusic MIDI ports please check if the Windows MIDI (MME) ports can be of help. To gain access to all available driver architectures please see sections below about the “ignoreportfilter” & “enableemulated” switches.
Further details using MIDI on PC Windows: What´s the issue?
Using MIDI interface port drivers on PCs with Windows XP in conjunction with cutting edge MIDI/Audio sequencer applications like Cubase SL/SX or Nuendo, which mainly rely on Microsoft’s current DirectMusic (as part of DirectX) API for MIDI communication, can sometimes be confusing for the user. This is due to the fact that it is possible for providers of MIDI interface drivers to deliver their drivers in different “flavors”. Modern MIDI interfaces like Steinberg’s MIDEX 3 and MIDEX 8 interfaces are installed with real native DirectMusic drivers whereas it is still quite common for other interfaces to use a predecessor API to provide drivers for the Windows MIDI system. DirectMusic itself has a function to “mirror” these Windows MIDI ports to show up as “emulated DirectMusic” ports. Unfortunately, this can lead to a quite nice array of problems when using an inappropriate port driver architecture:
• Using emulated DirectMusic ports often results in shifted MIDI events while recording (events are recorded too late or too early)
• Sometimes no MIDI events are recorded at all
• Sometimes stuck notes or several events stacked on top of each other are recorded instead of being consecutive
• Generally bad or wacky MIDI timing on playback
• Double or triple recordings of the same MIDI events due to using different driver architectures at the same time
Former versions of Cubase SL/SX and Nuendo (before 3.0.1) used a MIDI port filter to guess the most appropriate MIDI interface port type. The detection often displayed native DirectMusic drivers (if available at all) and the emulated versions of installed Windows MIDI drivers per default. But as most interface drivers are delivered for Windows MIDI only, such interfaces could be only used as emulated DirectMusic drivers with the consequences described above. Intervention from the user was needed to unhide the filtered Windows MIDI ports followed by a necessary re-configuration of the MIDI Setup in the Device Setup dialogue to make sure that no ports are used twice or three times due to the disabled MIDI port filter.
The new MIDI port filter used by Cubase SL/SX & Nuendo 3.0.1
Since the release of Cubase SL/SX & Nuendo 3.0.1 we have changed the filter mechanism to pick the MIDI ports provided by the MIDI port drivers of your Windows system.
From now on the default behavior will be as follows:
• If native DirectMusic drivers are present these ports will be used (e.g. for the MIDEX 3 or MIDEX 8 MIDI interfaces)
• If there are no native DirectMusic drivers available the Windows MIDI (MME) ports will be used instead of emulated DirectMusic ports as it was the case in previous versions
• Emulated DirectMusic ports won’t be used any longer by default!
This should be the most common solution for most setups, especially for users having issues with MIDI problems due to emulated DirectMusic ports in the past.
A manual configuration of MIDI ports should no longer be necessary.
Advice for a proper MIDI port setup
If you have updated from previous versions of Cubase SL/SX or Nuendo to version 3.0.1 please make sure to check the following points:
• If you have used the “ignoreportfilter” file in the past to get your Windows MIDI ports displayed please move this file back into the folder “midi port enabler” inside the program application folder where Cubase or Nuendo has been installed. It is essential to ensure that this file is no longer available in the main folder of the application but in the “midi port enabler” folder only.
• After that please check your MIDI port configuration in the menu >Devices >Device Setup… and look in the section for “DirectMusic”. You should not see emulated ports any longer, instead the application has detected the appropriate MIDI ports dependent from the used architecture of the MIDI port drivers automatically
How to deal with “Pending Connections”
While the improved filter mechanism leads to easier handling and configuration of your MIDI ports it may occur that you see a “Pending Connections” dialog on loading projects saved with versions prior to 3.0.1. This happens when your project file had e.g. emulated DirectMusic MIDI ports assigned to MIDI tracks. As these ports are no longer available per default the application asks you to resolve such connections.
Upon loading such a project the following will happen:
• A ???Pending Connections“ dialog will appear
• This dialog suggests the appropriate Window MIDI ports automatically to resolve pending connections to former emulated DirectMusic ports used
• Accepting this dialog with “OK” loads the project with correctly re-connected MIDI tracks without further intervention by the user. However you can also re-route the ports by yourself if needed.
• The application also saves such re-routings in the “default.xml” file within the preferences of the application to know how to re-route pending MIDI port connections in the future.
Additional possibilities to configure MIDI ports (for troubleshooting only)
It is still possible to use the “ignoreportfilter” file in the same way as prior to Cubase SL/SX & Nuendo 3.0.1. Additionally, there is also a new file called “enableemulated”. These two files are stored inside a folder named “midi port enabler” which can be found inside the Cubase / Nuendo application folder.
This will happen when you use these files:
• “ignoreportfilter” will show you every MIDI port installed on your system independent of the used driver architecture. When you use e.g. a MIDEX 3 or 8 you can use this to get the Windows MIDI ports of the MIDEX displayed inside the application (additionally to the already displayed native DirectMusic ports). Generally speaking, the “ignoreportfilter” disables any filter to hide specific MIDI port architectures.
• “enableemulated” will show you all emulated DirectMusic ports but will not unhide Windows MIDI ports itself. This can be necessary if you have problems with the Windows MIDI ports of your MIDI interface but there are no native DirectMusic ports available for your interface. Fortunately, this situation is happens only in a very rare number of cases.
These files are used as a sort of “switch”. To use these “switches” just move the desired file from the folder “midi port enabler” one level up to the main application folder, e.g. to folder “\program files\steinberg\cubase sx 3\”.
Please note that using these files makes it mandatory to check your MIDI port setup inside the application for redundant MIDI ports (i.e. those that appear twice or even three times). Use menu >Devices >Device Setup… for this. You should not use more than one driver architecture for a specific MIDI device at a time. For example, using the "ignoreportfilter" with a MIDEX 3 or 8 will show you the native DirectMusic ports listed and the Windows MIDI ports at the same time. This means that you will record from two ports at once when your MIDI tracks are set to "All MIDI Inputs". To solve this, please deactivate the ports either for DirectMusic or Windows MIDI.
May 15, 2004: Technical
PC MIDI Timing and Nuendo
Updated
Users of Steinberg’s Nuendo and Cubase often run into trouble with MIDI timing. I’m not affiliated with Steinberg, but I am a programmer, and I’ve done a lot of experimenting with MIDI timing on the PC. Here is, I hope, the definitive list of problems and workarounds. Note that I talk mostly about Nuendo here, but Nuendo and Cubase SX are the same application under the covers, and everything I write applies to both. The explanations are lengthy, but it’s a complicated topic, where many problems can cause the same system, and I think it’s important to understand the background; if you think I should provide a long and short version of this FAQ, leave a comment to that effect.
This article mainly applies to PC Windows systems running Cubase SE/SL/SX 3.0.1 and Nuendo 3.0.1 or higher only but contains general information for all users of previous versions too (e.g. Cubase LE).
General advice for using MIDI on PC Windows systems
These are the basic steps to check when you experience problems with the stability of MIDI communication on your PC system:
• It is recommended to have DirectX9.0c installed! Please update the DirectX version if this is not the case. DirectX9.0c is automatically installed with Windows XP SP2. You can also download the current version separately here.
• If you have persistent timing problems (shifted notes etc.) with native or emulated DirectMusic ports please check the option “Use System Timestamp” provided in the DirectMusic section of the Device Setup dialogue. This option uses another timing reference in your system when enabled.
• The option "Use System Time Stamp" is also available for Windows MIDI ports since Cubase SE 3, SL & SX 3.1 and Nuendo 3.1.
• If you experience trouble while receiving/transmitting SysEx data through native or emulated DirectMusic MIDI ports please check if the Windows MIDI (MME) ports can be of help. To gain access to all available driver architectures please see sections below about the “ignoreportfilter” & “enableemulated” switches.
Further details using MIDI on PC Windows: What´s the issue?
Using MIDI interface port drivers on PCs with Windows XP in conjunction with cutting edge MIDI/Audio sequencer applications like Cubase SL/SX or Nuendo, which mainly rely on Microsoft’s current DirectMusic (as part of DirectX) API for MIDI communication, can sometimes be confusing for the user. This is due to the fact that it is possible for providers of MIDI interface drivers to deliver their drivers in different “flavors”. Modern MIDI interfaces like Steinberg’s MIDEX 3 and MIDEX 8 interfaces are installed with real native DirectMusic drivers whereas it is still quite common for other interfaces to use a predecessor API to provide drivers for the Windows MIDI system. DirectMusic itself has a function to “mirror” these Windows MIDI ports to show up as “emulated DirectMusic” ports. Unfortunately, this can lead to a quite nice array of problems when using an inappropriate port driver architecture:
• Using emulated DirectMusic ports often results in shifted MIDI events while recording (events are recorded too late or too early)
• Sometimes no MIDI events are recorded at all
• Sometimes stuck notes or several events stacked on top of each other are recorded instead of being consecutive
• Generally bad or wacky MIDI timing on playback
• Double or triple recordings of the same MIDI events due to using different driver architectures at the same time
Former versions of Cubase SL/SX and Nuendo (before 3.0.1) used a MIDI port filter to guess the most appropriate MIDI interface port type. The detection often displayed native DirectMusic drivers (if available at all) and the emulated versions of installed Windows MIDI drivers per default. But as most interface drivers are delivered for Windows MIDI only, such interfaces could be only used as emulated DirectMusic drivers with the consequences described above. Intervention from the user was needed to unhide the filtered Windows MIDI ports followed by a necessary re-configuration of the MIDI Setup in the Device Setup dialogue to make sure that no ports are used twice or three times due to the disabled MIDI port filter.
The new MIDI port filter used by Cubase SL/SX & Nuendo 3.0.1
Since the release of Cubase SL/SX & Nuendo 3.0.1 we have changed the filter mechanism to pick the MIDI ports provided by the MIDI port drivers of your Windows system.
From now on the default behavior will be as follows:
• If native DirectMusic drivers are present these ports will be used (e.g. for the MIDEX 3 or MIDEX 8 MIDI interfaces)
• If there are no native DirectMusic drivers available the Windows MIDI (MME) ports will be used instead of emulated DirectMusic ports as it was the case in previous versions
• Emulated DirectMusic ports won’t be used any longer by default!
This should be the most common solution for most setups, especially for users having issues with MIDI problems due to emulated DirectMusic ports in the past.
A manual configuration of MIDI ports should no longer be necessary.
Advice for a proper MIDI port setup
If you have updated from previous versions of Cubase SL/SX or Nuendo to version 3.0.1 please make sure to check the following points:
• If you have used the “ignoreportfilter” file in the past to get your Windows MIDI ports displayed please move this file back into the folder “midi port enabler” inside the program application folder where Cubase or Nuendo has been installed. It is essential to ensure that this file is no longer available in the main folder of the application but in the “midi port enabler” folder only.
• After that please check your MIDI port configuration in the menu >Devices >Device Setup… and look in the section for “DirectMusic”. You should not see emulated ports any longer, instead the application has detected the appropriate MIDI ports dependent from the used architecture of the MIDI port drivers automatically
How to deal with “Pending Connections”
While the improved filter mechanism leads to easier handling and configuration of your MIDI ports it may occur that you see a “Pending Connections” dialog on loading projects saved with versions prior to 3.0.1. This happens when your project file had e.g. emulated DirectMusic MIDI ports assigned to MIDI tracks. As these ports are no longer available per default the application asks you to resolve such connections.
Upon loading such a project the following will happen:
• A ???Pending Connections“ dialog will appear
• This dialog suggests the appropriate Window MIDI ports automatically to resolve pending connections to former emulated DirectMusic ports used
• Accepting this dialog with “OK” loads the project with correctly re-connected MIDI tracks without further intervention by the user. However you can also re-route the ports by yourself if needed.
• The application also saves such re-routings in the “default.xml” file within the preferences of the application to know how to re-route pending MIDI port connections in the future.
Additional possibilities to configure MIDI ports (for troubleshooting only)
It is still possible to use the “ignoreportfilter” file in the same way as prior to Cubase SL/SX & Nuendo 3.0.1. Additionally, there is also a new file called “enableemulated”. These two files are stored inside a folder named “midi port enabler” which can be found inside the Cubase / Nuendo application folder.
This will happen when you use these files:
• “ignoreportfilter” will show you every MIDI port installed on your system independent of the used driver architecture. When you use e.g. a MIDEX 3 or 8 you can use this to get the Windows MIDI ports of the MIDEX displayed inside the application (additionally to the already displayed native DirectMusic ports). Generally speaking, the “ignoreportfilter” disables any filter to hide specific MIDI port architectures.
• “enableemulated” will show you all emulated DirectMusic ports but will not unhide Windows MIDI ports itself. This can be necessary if you have problems with the Windows MIDI ports of your MIDI interface but there are no native DirectMusic ports available for your interface. Fortunately, this situation is happens only in a very rare number of cases.
These files are used as a sort of “switch”. To use these “switches” just move the desired file from the folder “midi port enabler” one level up to the main application folder, e.g. to folder “\program files\steinberg\cubase sx 3\”.
Please note that using these files makes it mandatory to check your MIDI port setup inside the application for redundant MIDI ports (i.e. those that appear twice or even three times). Use menu >Devices >Device Setup… for this. You should not use more than one driver architecture for a specific MIDI device at a time. For example, using the "ignoreportfilter" with a MIDEX 3 or 8 will show you the native DirectMusic ports listed and the Windows MIDI ports at the same time. This means that you will record from two ports at once when your MIDI tracks are set to "All MIDI Inputs". To solve this, please deactivate the ports either for DirectMusic or Windows MIDI.
May 15, 2004: Technical
PC MIDI Timing and Nuendo
Updated
Users of Steinberg’s Nuendo and Cubase often run into trouble with MIDI timing. I’m not affiliated with Steinberg, but I am a programmer, and I’ve done a lot of experimenting with MIDI timing on the PC. Here is, I hope, the definitive list of problems and workarounds. Note that I talk mostly about Nuendo here, but Nuendo and Cubase SX are the same application under the covers, and everything I write applies to both. The explanations are lengthy, but it’s a complicated topic, where many problems can cause the same system, and I think it’s important to understand the background; if you think I should provide a long and short version of this FAQ, leave a comment to that effect.