О внедрении полной поддержки стандарта MIDI 2.0 в операционной системе Windows 11 разработчики рассказали в официальном блоге. MIDI-стек был переписан с нуля и внедрён в Windows 11 под именем Windows MIDI Services.
Первоначальная спецификация UMP (Universal MIDI Packet) и MIDI 2.0 вышла в 2020 году, а в 2022-2023 стандарты дорабатывали вместе с участниками индустрии. Производители аксессуаров и инструментов уже выпускают продукты с поддержкой стандартов, чего не скажешь о софтовом сопровождении спецификаций: до сегодняшнего дня Windows не поддерживала стандарт в полной мере, ограничиваясь скромными попытками расширить функциональность MIDI на ARM-чипах Snapdragon.
Как рассказали в Microsoft, поддержка MIDI 2.0 теперь доведена до полностью рабочего состояния в Windows. Стек был переписан с нуля и добавлен в Windows 11 в виде новой службы Windows MIDI Services.
MIDI 2.0 — это не «MIDI 1.0, но чуть лучше», а более современная архитектура, где на уровне спецификации предусмотрены:
- двусторонняя связь между устройствами;
- автообнаружение и согласование режима работы;
- высокоточные контроллеры со значениями шире классического диапазона 0-127;
- понотный контроль (каждая нота как отдельный объект управления);
- самоописание устройств (метаданные, идентификация, параметры);
- разделение протокола и форматов передачи данных.
В Microsoft подчеркнули, что MIDI 1.0 никуда не исчезнет. Учитывая его популярность в мире музыкального оборудования и программного обеспечения, предыдущая версия стандарта «критически важна». В компании считают совместимость с первой версией обязательной и не планируют каких-либо изменений в этой области.
Стек Windows MIDI Services одновременно обслуживает MIDI 1.0 и MIDI 2.0. Ключевые компоненты уже встроены в Windows 11 и будут постепенно развёртываться на существующих системах.

Среди основных изменений выделяются:
- Многоклиентский доступ. Каждый порт MIDI 1.0 и конечная точка MIDI 2.0 становятся многоклиентским устройством независимо от драйвера или API. Во многих сценариях больше не придётся ставить фирменные драйверы производителей только ради того, чтобы «расшарить» порт — хотя такие драйверы продолжат работать.
- Нормальные имена портов (и ручное переименование). Windows наконец-то даёт способ переименовывать MIDI-порты, чтобы в проектах не было «MIDI In (2)» и «USB Audio Device». При этом сохраняется традиционная номенклатура MIDI 1.0, но появляются имена нового формата, если их отдаёт современное оборудование. Пользователи смогут назначать имена вручную, что полезно, если у вас несколько одинаковых контроллеров/интерфейсов.
- Приложение MIDI-настроек. Microsoft готовит отдельное приложение MIDI Settings, где можно будет переименовывать порты, добавлять метаданные (описания, изображения), наводить порядок в путанице между двумя MIDI-интерфейсами Windows: классическим WinMM и более новым WinRT (Windows 10+).
- Виртуальные MIDI-порты (loopback) на всех архитектурах. Компьютеры на «всех основных архитектурах» получают поддержку виртуальных MIDI-портов для обмена между приложениями. На нативном уровне они работают как MIDI 2.0, а для старого программного обеспечения система делает трансляцию в MIDI 1.0. Аналогичным образом организовано общение и с железом.
- Тайминг до 1 микросекунды. Для музыкального ПО критична синхронизация: Microsoft заявляет поддержку синхронизации входящих и исходящих сообщений с точностью до 1 мкс. Исходящие сообщения можно планировать на отправку по временной метке.
- Драйверы: старые и новые. Сохраняется usbaudio. sys (с исправлениями мелких ошибок). Добавляется новый usbmidi2.sys (разработка Microsoft совместно с AmeNote): управление питанием, быстрый канал связи с обновлённой MIDI-службой, поддержка MIDI 1.0 и MIDI 2.0. Большинство MIDI 1.0-устройств по умолчанию будут работать через старый драйвер, но при желании можно вручную назначить новый.
- Инструменты для разработчиков и продвинутых пользователей. В ближайшие месяцы Microsoft обещает обновлённый пакет MIDI App SDK Runtime and Tools, куда войдут MIDI-консоль, уже упомянутое приложение «Настройки MIDI», набор PowerShell-команд для MIDI-скриптов и другие утилиты.
Разработка Windows MIDI Services велась открыто на GitHub, с возможностью участия сообщества. В ближайшее время Microsoft планирует внести и другие изменения с целью повышения удобства пользователей. Согласно имеющейся информации, в операционную систему добавят открытый драйвер USB Audio с низкой задержкой и поддержкой ASIO, поддержку BLE MIDI 1.0/BLE MIDI 2.0 и Network MIDI 2.0, а также виртуальную «коммутационную панель» для более удобной маршрутизации MIDI.
Таким образом Windows наконец догоняет реальность студийной работы, где MIDI — это не «одна клавиатура в один софт», а сеть устройств и приложений, которым нужно делить порты, работать с высокой точностью тайминга и не страдать от «кривых» имён и несовместимых драйверных костылей. А главное — всё это делается так, чтобы MIDI 1.0 продолжал жить и не ломал существующие проекты. с












