NOW LOADING

Windows MIDI Troubleshooting and Repair


Check the health of MIDI on this PC, collect diagnostics for support, and repair common problems

This page covers information about a Windows MIDI Services feature and application that will be released to consumers in November 2026. It’s currently available for developers.

Windows MIDI Troubleshooting and Repair is where you go when MIDI on this PC isn’t behaving. It shows you what Windows MIDI Services thinks the state of the machine is, collects the reports support will ask for, and fixes the handful of things that commonly get broken by other software.

Most of what it does needs administrator rights, so it asks for them when it starts. If you say no, it still runs: the diagnostics and the informational pages work, and a banner across the top offers to restart it with the rights it needs.

Quick start

The Windows MIDI Troubleshooting and Repair window, with numbered callouts on the system information strip, the administrator banner, the Diagnostics and Capture repro log pages, and the rest of the pages

  1. The strip at the top shows the version of Windows, the architecture, your language and region, the Windows App SDK version, the current API mode, and whether Developer Mode is on. That’s the first thing support asks for, so it stays visible wherever you are in the app.
  2. This banner appears when the app isn’t running as administrator. Restart as administrator gives it the rights it needs for repairs.
  3. Diagnostics and Capture repro log collect the reports and traces that support will ask for.
  4. The other pages show the state of the MIDI service, its transports, the registry, and the drivers, and fix the common problems.

API mode

Windows can run MIDI in one of three modes. This page shows which one this PC is using, explains what each one gives you and takes away, and lets you change it.

The mode is a machine-wide setting and does not take effect until Windows restarts, so changing it here writes the setting and then asks whether you want to restart now. Nothing reboots without you saying so.

  • Windows MIDI Services is the default and what you want unless you have a specific reason not to. Multi-client access, loopback endpoints, Network MIDI 2.0, Bluetooth LE MIDI, MIDI 2.0 devices and the combined MIDI 1.0 and MIDI 2.0 class driver.
  • Legacy MIDI puts the PC back on the MIDI stack as it was before Windows MIDI Services. Choose it if you have an application, driver or device that isn’t compatible, or you need legacy WinMM user-mode drivers or DirectMusic drivers.
  • Hybrid is not recommended for most customers. Devices on a MIDI 1.0 driver are visible only to the old APIs, devices on the new class driver only to the new API, and the two do not see each other.

There’s more detail in How to change the API mode.

Diagnostics

Two reports, each with a button to run it, a box showing the output, and Copy all and Save as buttons.

The two diagnostic reports, with output

mididiag is the broad one. It walks the registry, the transports, every MIDI endpoint the service knows about and the old MIDI 1.0 APIs, and reports what it found.

midiksinfo is the narrow one, for USB and other kernel streaming devices. If a device isn’t showing up, or is showing up with the wrong number of ports or the wrong names, this is the report that says why.

Both can take a minute or two on a machine with a lot of hardware attached. Paste the output into your GitHub issue or your email to support.

Capture repro log

This is the one to use when somebody asks you for “a trace”. It replaces the older CollectMidiLogs script, and does the whole job inside the app.

Choosing what to include in a repro log capture

Choose what to include, select Start capture, reproduce whatever is going wrong, then select Stop and save. You’re asked where to put the zip file, and Explorer opens with it selected when it’s done.

By default the package contains:

  • an ETW trace of the MIDI service and the MIDI components in Windows, recorded while you reproduced the problem
  • a time travel trace of the MIDI service, which lets an engineer step backwards through what the service actually did
  • the mididiag and midiksinfo reports
  • ddodiag, dxdiag and an export of the plug and play state
  • a summary of this PC and the state of the MIDI service

A time travel trace makes the package much larger, but it is very often the thing that lets us find a problem from a single capture instead of asking you to reproduce it again, so it’s on by default.

Time travel tracing isn’t available on every build of Windows, and it can be refused if the service is running with certain security mitigations. If that happens, the capture carries on without it and says so in the log, rather than failing.

Active sessions

Every application currently connected to the MIDI service, with the process it belongs to and when it started. Expand one to see which endpoints and MIDI 1.0 ports it has open, how many times each is open, and since when.

The applications connected to the MIDI service and what each has open

This page is purely informational; there is nothing to change here. It’s for answering the question “what has that device open?” when something reports a device as busy or in use.

Transports

Transports are the pieces of the MIDI service that talk to a particular kind of device: USB, Network MIDI 2.0, Bluetooth LE, the loopbacks and so on.

This page lists everything registered on the PC. Each transport has a pill that shows its state:

  • Enabled and loaded: the MIDI service is using it.
  • Enabled but not loaded: it should be running, but it isn’t. The line under its name says why. A transport that is registered but didn’t load is the reason a whole class of device can go missing at once.
  • Disabled but still loaded until restart: you disabled it, but the MIDI service keeps using it until the service restarts.
  • Disabled and not loaded: it’s off.

Every registered transport and whether it loaded

You can also turn transports on and off here. If you only use USB devices, for example, you can disable Bluetooth and the network transports, so the MIDI service stops looking for Bluetooth devices and stops opening network ports. Select Disable or Enable on a transport. Disabling one tells you what you’ll lose and asks you to confirm first.

This needs administrator rights, and the change takes effect when the MIDI service restarts. The page offers to restart it for you. Restarting the service disconnects every application using MIDI, so close them first. The diagnostics transport is built into the service and can’t be disabled.

If something here is not loading, see Why a service plugin may not load correctly. The usual cause for a third-party transport is that it isn’t signed and Developer Mode is off.

MIDI service

The state of the MIDI service itself: whether it’s running, how it’s set to start, the account it runs under, its process id, and the version of the service on disk.

The state of the MIDI service

Restart the MIDI service stops and restarts it. Every application using MIDI loses its connections and has to reconnect, so close or save your work first.

Start with Windows changes the service from starting on demand to starting with Windows. The service normally starts when the first MIDI application asks for it, which adds several seconds to that first application’s startup. If you use MIDI regularly, starting it with Windows is the better choice.

Registry

Windows MIDI Services relies on a small number of registry values, and third-party installers, driver uninstallers and “MIDI port reordering” utilities are known to break them. When they’re wrong, MIDI either stops working entirely or silently falls back to the old stack.

This page shows what’s actually there, with a green, amber or red marker against each value and a plain description of what it’s for. If anything is wrong, Repair these entries lists exactly what it would change, asks you to confirm, and then makes only those changes. Windows has to be restarted afterwards, because the audio and MIDI services read these values when they start.

The registry values Windows MIDI Services depends on

If the PC is in Legacy MIDI mode, no changes are offered. Legacy mode deliberately does not use the service, so “repairing” the values would undo the mode you chose.

There’s a full description of what belongs here in Required registry entries.

Drivers

Two jobs on this page.

Removing vendor drivers and switching the MIDI class driver

Removing drivers you no longer need

Windows MIDI Services replaced the reasons most people installed a vendor MIDI driver. The KORG USB MIDI driver and the KORG BLE-MIDI driver each have an entry here, showing whether the package is installed and offering to remove it along with any device using it.

Bluetooth LE MIDI is now built into Windows MIDI Services, so the KORG BLE-MIDI driver is no longer needed and can conflict with the in-box support. Bluetooth LE devices are set up in the Windows MIDI Bluetooth Setup app afterwards.

Switching between the MIDI class drivers

Windows has two class drivers a class-compliant USB MIDI device can use: the new combined MIDI 1.0 and MIDI 2.0 driver, and the older USB Audio class driver. Each device is listed with the driver it’s using now and buttons to switch it to the other one, which saves the trip through Device Manager described in How to switch between MIDI class drivers.

Devices that can only be audio are left out of the list, but the list is not a guarantee that everything on it is a MIDI device. Windows offers the MIDI class driver for any USB audio device, and forcing it onto one that can’t use it may stop that device working or make the PC stop responding until it is restarted. Only change the driver for a device you know is a MIDI device.

Close your MIDI applications before changing a driver. Afterwards, unplug the device, restart Windows, and plug it back in; not every device needs this, but many do.

There is a Plug and Play issue in Windows which can revert your choice after an update, so you may have to repeat this occasionally.

Didn't find what you were looking for?

Windows MIDI Services is an open source project with all source available on GitHub. We have a great community on Discord as well. Between GitHub and Discord, you should find the information you are looking for.