Корпорация Microsoft сообщила о внедрении в Windows 11 комплексной поддержки стандарта MIDI 2.0 на уровне ОС. Все возможности, заложенные в этой спецификации, будут функционировать с помощью встроенных средств системы, без необходимости инсталляции драйверов или специального программного обеспечения от вендоров.
Источник изображений: blogs.windows.com
Исходная спецификация универсального MIDI-пакета (UMP) и протокола MIDI 2.0 увидела свет в 2020 году, после чего в 2022 и 2023 годах стандарт был усовершенствован по итогам консультаций с отраслевыми участниками. На уровне MIDI 2.0 реализованы двусторонний обмен данными между устройствами, их автоопределение и настройка протокола, неограниченная пропускная способность, высокоточные контроллеры с расширенным (по сравнению с классическим диапазоном 0–127) разрешением, индивидуальное управление для каждой ноты, функция самоописания устройств, а также разделение протокола и форматов передачи.
Как отметили в Microsoft, несмотря на ограниченность MIDI 1.0 и соответствующих плагинов для цифровых аудиостанций (DAW), этот классический стандарт по-прежнему играет ключевую роль в создании музыки, поэтому от него отказываться не планируется. По мере распространения MIDI 2.0 поддержка первоначального стандарта сохранится. Инженеры Microsoft за последние годы полностью переработали связанный с MIDI код Windows, обеспечив одновременную работу со старым и новым стандартами — этот единый стек получил название Windows MIDI Services. Его ключевые компоненты уже интегрированы в Windows 11 и будут постепенно активироваться на пользовательских устройствах.
Одним из наиболее значимых усовершенствований станет возможность подключения нескольких приложений к одному MIDI-порту или устройству одновременно — каждый порт MIDI 1.0 и конечная точка MIDI 2.0 теперь являются многоклиентскими, независимо от драйвера или API. В большинстве сценариев больше не потребуется установка драйверов от производителей оборудования для задействования этих функций, хотя существующие драйверы продолжат работать. Ещё одним долгожданным для музыкантов новшеством стала возможность переименовывать MIDI-порты. Сохраняется поддержка традиционной номенклатуры имён для портов MIDI 1.0; добавлена поддержка имён нового формата, передаваемых современным оборудованием; также появилась опция самостоятельного назначения имён, чтобы избежать путаницы внутри проектов.
В скором времени Microsoft представит программу "Настройки MIDI", позволяющую не только переименовывать порты, но и обогащать их метаданными, включая изображения и текстовые описания. Также компания намерена разрешить неоднозначность, возникающую из-за сосуществования двух интерфейсов: традиционного WinMM и более современного WinRT, введённого в Windows 10.
Компьютеры на всех популярных архитектурах процессоров теперь поддерживают виртуальные MIDI-порты для обмена данными между приложениями (режим loopback). В рамках пакета Windows MIDI Services эта функциональность остаётся доступной независимо от применяемых API или SDK. На низком уровне эти устройства функционируют в соответствии со стандартом MIDI 2.0, однако при взаимодействии с устаревшим программным обеспечением система автоматически преобразует данные в формат MIDI 1.0. Это правило распространяется и на физические устройства. Если аппаратное обеспечение совместимо с MIDI 2.0, то программы, поддерживающие этот протокол, получат доступ к данным повышенной точности, новым типам сообщений и другим продвинутым возможностям — тогда как приложения, работающие только с классическим MIDI 1.0, будут использовать уменьшенные значения параметров для обеспечения полной совместимости.
Ещё одной ключевой особенностью музыкального программного обеспечения является точная синхронизация сообщений. Теперь Windows обеспечивает синхронизацию входящих и исходящих сообщений с точностью до одной микросекунды (1 мкс). Исходящие сообщения можно запланировать для отправки драйверу в строго определённый момент времени, используя временные метки. Microsoft оставила в системе прежний драйвер usbaudio.sys, исправив в нём ряд незначительных ошибок, а также интегрировала разработанный компанией AmeNote драйвер usbmidi2.sys. Он предлагает улучшенные схемы управления энергопотреблением, высокоскоростной канал связи с обновлённой 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 под лицензией с открытым исходным кодом. Такой подход позволил сообществу разработчиков и музыкантов наблюдать за процессом и вносить свой вклад, обеспечив полную прозрачность работы.
Фирма планирует увеличить возможности работы со звуковыми устройствами — для этого будет представлен открытый USB Audio драйвер с минимальной задержкой и совместимостью с ASIO. Будут внедрены новые транспортные протоколы, включая BLE MIDI 1.0, BLE MIDI 2.0, Network MIDI 2.0, виртуальный коммутатор для более гибкой маршрутизации MIDI и другие улучшения.