Microsoft explica las mejoras que se han incorporado en el procesamiento de audio en formato MIDI

Microsoft explica las mejoras que se han incorporado en el procesamiento de audio en formato MIDI

midi-windows-10_opt

Microsoft, como parte de la filosofía multitarea para mejorar la productividad en Windows 10, nos explica en una nueva publicación en el Blog de Windows cómo se ha trabajado en mejoras para el procesamiento de formatos de audio MIDI orientado a productores musicales y entusiastas del desarrollo.

En un articulo bastante explicativo, Pete Brown, cabeza del programa de Experiencia de Audio de Windows (PAX), nos lista cinco inclusiones en las que se ha enfocado su equipo de desarrollo en este tema.

¿Qué es MIDI?

MIDI es un protocolo de comunicación para la producción musical de tracks o pistas de audio. Desde su aparición en 1983 como estándar para que sintetizadores y secuenciadores puedan trabajar con este tipo de protocolo, nunca se ha parado de utilizar. Como explica Wikipedia, Una simple conexión MIDI puede transmitir hasta dieciséis canales de información que pueden ser conectados a diferentes dispositivos cada uno.

MIDI API

El laboratorio PAX ha incorporado una nueva API MIDI en Windows 10 desde que el sistema operativo fue declarado RTM hace un poco más de un año. Esto facilita a desarrolladores utilizar las librerías y complementos necesarios en sus aplicaciones universales para ofrecer una mejor experiencia de audio en ellas. Originalmente la API estuvo desarrollada para Windows 8.1, pero fue colocado en NuGET y el resultado de los feedbacks de los usuarios llevó a crear una API con esteroides para Windows 10.

El MIDI API es multicliente comparada la con API antigua para aplicaciones compiladas para Win32. Esto quiere decir que cualquier aplicación puede compartir el mismo periférico o dispositivo de audio sin problema, algo que no se podía con drivers no personalizados. También es importante anotar que la MIDI API funciona con todos los dispositivos MIDI reconocidos, no importa si usan un driver personalizado o un driver genérico de Windows.

Bluetooth LE MIDI con soporte para la MIDI API

Como producto del trabajo para que los estándares en producción musical sean los más actualizados tanto en productividad como en transporte, Microsoft ha desarrollo un nuevo protocolo MIDI para Bluetooth llamado LE MIDI.

Este nuevo protocolo Bluetooth fue añadido en la Actualización de Aniversario por defecto para cualquier aplicación que utilice la MIDI API universal, es decir, funciona en cualquier periférico de audio por Bluetooth conectado a cualquier dispositivo que soporte Windows 10. Cuando cualquiera de estos periféricos se empareje con el dispositivo, este se mostrará como dispositivo MIDI y automáticamente adoptará la enumeración correspondiente para usar la UWP MIDI API.

midi-windows-10-1

Soporte de la MIDI API para aplicaciones de escritorio.

Por supuestos, muchos productores aún crean música utilizando software de escritorio. Es por ello que se ha mezclado la UWP MIDI API con la API antigua para Win32 en forma de wrapper. Esto quiere decir que se ha acomodado para que no haya falta de soporte, algo así como una actualización de la API Win32 para que pueda usarse en la UWP API. Esto fue más orientado a socios de Microsoft que utilizan Windows 10, y un ejemplo de ello es la aplicación Sonar de Cakewalk.

Librerías de ayuda MIDI para aplicaciones en la Tienda de Windows

Para que el desarrollo de aplicaciones utilizando la MIDI API sea un poco menos complicado, Microsoft ha colocado a disposición librerías de ayuda para aplicaciones de la Tienda de Windows y Powershell. Brown creó el primer helper con soporte para los marcos de trabajo .NET C#, C++ y VB. Este helper permite recibir una asociación de código en XAML, propicio para este tipo de aplicaciones.

Aparte de ello, este tipo de helpers permiten el parsing de Mensajes RPN y NRPN como una forma de trabajar con mensajes lógicos de salida que proveen las interfaces; adicionalmente también se implementó un reloj generador de MIDI.

Powershell también posee un script con soporte para la UWP MIDI API. Varios desarrolladores de la comunidad han utilizado y mejorado estos scripts buscando automatizar la sincronización de varios mixers en instalaciones largas, como también para traducir mensajes lógicos entre dispositivos.

Si quieres leer más detalles de lo que Microsoft ha realizado con Windows en el apartado de audio con el protocolo MIDI, puedes leer este articulo donde podrás ver código de ejemplo para cada punto.

Deja una respuesta