February 4th, 2026
0 reactions

Windows MIDI Services rollout – known issues and workarounds

Pete Brown
Principal Software Engineer

There’s a larger blog post with the features and benefits of Windows MIDI Services coming later this month (February 2026). This is just a quick post here to assist users with known issues or workarounds, in the interest of remaining transparent on this project.

We performed a ton of testing with customers, partners, and our own equipment over the development cycle for Windows MIDI Services, but some bugs have made it through, as is known to happen with software development. We’re working on them in priority order, but I wanted to ensure the most impactful ones have more detail here.

Full issue list and updates for bugs may be found on our GitHub Repo

Info: How do I know if the new Windows MIDI Services Stack is enabled?

Windows MIDI Services is part of a Phased Rollout. This means that after you install the KB which contains the Windows MIDI Services binaries, you will get the new feature enabled at some point in the next month. Who gets enabled depends on the algorithms that control the rollout phases.

To see if your PC has the feature enabled, go to https://aka.ms/midi and download the checker tool there. It will be up until the next SDK release, where it will be included as part of the SDK and Tools package. Run this checker and pay attention to the output. It will tell you if the new stack has been enabled on your PC as part of the phased rollout. If it says it has not been enabled, then you are still running the older Windows MIDI stack, and any issues are unrelated to this release of Windows MIDI Services.

There is no way for customers to force enablement of the Windows MIDI Services stack. Everyone who has installed the KB update will be enabled by the end of February as part of the phased rollout.

Bug: Dynamic ports (loopMIDI, loopBE, Bome / BMIDI, virtualTE / teVirtualMIDI) are not always visible.

Problem: Third-party drivers which dynamically create MIDI ports in Windows do not work as before. Unless the ports were created before the service was started, they are not visible. Additionally, if you have more than 16 loopback ports defined in either loopBE or loopMIDI, only 16 will be available, and the names may be messed up.

Github Issue 835

Github issue 852

Update Feb 5: Validated that BMIDI (and therefore apps like Midinous) works fine. It uses a different mechanism to create the ports. Also verified that loopMIDI and loopBE30 both require the workaround.

Workaround 1: Ensure you have 16 or fewer ports defined, and then restart the service

Close all apps using MIDI. Create the ports in the tool and then restart the MIDI Service through either the Services app or the command line. The service shows up as “Windows MIDI Service” and is named midisrv.

Administrator command prompt method:

  1. Create your MIDI ports in the third-party tool.
  2. Close all MIDI apps
  3. Open Windows Terminal as an Administrator (“run as administrator”)
  4. Type net stop midisrv
  5. After that completes, type net start midisrv
  6. Start up the app you want to use with MIDI

Workaround 2: Use the built-in loopbacks instead

Only if you see that Windows MIDI Services is enabled, you can download the SDK Runtime and Tools package (it is currently unsigned and so you will receive several warnings) and then install it. Do not install this if Windows MIDI Services is not already enabled on your PC as it will cause issues with existing MIDI 1.0 apps and MIDI 2.0 devices, and your new loopback endpoints will not work at all.

App SDK and Tools RC1 x64

App SDK and Tools RC1 Arm64

This will install the MIDI and Musician Settings app. In that app, the first-run experience will prompt you to complete setting up MIDI. Part of that includes creating some default loopback endpoints. You can create as many other loopback endpoints as you need after the initial setup has created a configuration file for you.

Please pay attention to how these bidirectional loopbacks work, using the information provided in the MIDI Settings app Loopbacks page when you create a loopback endpoint. Loopback A sends to Loopback B. Loopback B sends to Loopback A.

Of course, this will only work for you if what you need are loopback endpoints.

Bug: Apps using the WinMM MIDI 1.0 API may not see newly plugged-in devices.

If you connect or power on a USB MIDI device after you’ve already started an app using the older WinMM MIDI 1.0 API, the device may not be visible.

GitHub Issue 783

Workaround:

Plug in the device and ensure it has fully booted up before starting the app.

Bug: Apps using the WinMM MIDI 1.0 API may crash if you disconnect or power down a plugged-in device

If you disconnect or power down a USB MIDI device while an app is using it, that application may crash, depending upon how it has opened the device.

GitHub Issue 831

Workaround:

Wait until the app has exited before unplugging or powering down a device. This also applies to dynamically-created devices that are not physical USB devices.

Bug: VirtualDJ Not able to communicate with controller

We have worked with VirtualDJ on this, and would like to thank them for their cooperation and quick response.

The new MIDI stack is much faster than the old one, so we’re finding that some apps are running into errors that they hadn’t previously run into. In the case of VirtualDJ, this results in the UI freezing up.

We’ll have a broader fix in Windows. In the meantime, VirtualDJ have released their Build 9005 with a fix for this. You can download it from their main download page, or let your copy of VirtualDJ update itself.

If that doesn’t fix it for you, you can uninstall the KB update.

GitHub Issue 843

Other Important Notes

Do not use the Korg Driver Uninstaller or any other tool which works to change the ordering of midimidi9 entries in the registry. Windows MIDI Services requires only that midi is set to wdmaud.drv and midi1 is set to wdmaud2.drv. If those two entries are not present, Windows MIDI Services will not work on your system. The SDK runtime and tools includes a tool midifixreg which will ensure these two settings exist, in case you’ve already run one of these tools on your system.

How to File Bugs or Report Issues

Please do not comment on this post with issues/bugs/questions.

Questions/Discussion, and for customers without access to GitHub, issue reporting: https://aka.ms/mididiscord

Developers and anyone else with access to GitHub can file issues here: https://aka.ms/midirepoissues

Author

Pete Brown
Principal Software Engineer

Pete is a Principal Software Engineer in the Windows Developer Platform team Windows at Microsoft. He focuses on client-side dev on Windows, apps and technology for musicians, music app developers, and music hardware developers, and the Windows developer community. Pete is also the current chair of the Executive Board of the MIDI Association. He first got into programming and electronic music by working with sprites and the SID chip using BASIC on the Commodore 64 in 6th and 7th grade, and ...

More about author

2 comments

Sort by :
  • Maxim Dobroselsky 3 days ago

    Hi Pete,

    > after you install the KB which contains the Windows MIDI Services binaries, you will get the new feature enabled at some point

    Does it mean we get another one update that will enable the Windows MIDI Services? If not, how it will be done? I hope MS cannot remotely manage my PC 🙂

    • Pete BrownMicrosoft employee Author 2 days ago

      Updates can be enabled or pulled if, for example, it turns out it’s breaking PCs, or in this case, to control the pace of a feature rollout.

      I do not know what that mechanism looks like or exactly how it works, but it’s likely through Windows Update.

      Pete