Casi cuarenta años después de que se introdujera por primera vez el protocolo de música digital MIDI, en 2020 se anunció el protocolo MIDI 2.0 como una revisión importante de este estándar ampliamente utilizado por los dispositivos musicales. Una gran serie de parches enviada hoy prepara los controladores de sonido del kernel de Linux para MIDI 2.0.

MIDI 2.0 permite una resolución más alta, una mejor articulación, el paquete MIDI universal (UMP) para empaquetar múltiples mensajes MIDI para un transporte más fácil, menos fluctuaciones y varias otras funciones y mejoras nuevas. Las especificaciones de MIDI 2.0 están disponibles en la Asociación MIDI en MIDI.org mientras que esta mañana es la primera vez que se amplían los controladores del kernel de Linux para MIDI 2.0.

El mantenedor del subsistema de sonido de Linux, Takashi Iwai de SUSE, envió el conjunto de 36 parches, y aproximadamente seis mil líneas de código nuevo, para preparar el kernel para MIDI 2.0 principalmente con USB Audio y Controladores MIDI en bruto.


Takashi Iwai explicado en la serie de parches:

“Este es un conjunto de parches (grande) para agregar la compatibilidad con la funcionalidad MIDI 2.0, dirigido principalmente a Dispositivos USB. MIDI 2.0 es una revisión completa del MIDI 1.0 de 40 años. A diferencia del flujo de bytes MIDI 1.0, MIDI 2.0 usa paquetes en palabras de 32 bits para el protocolo Universal MIDI Packet (UMP). Es compatible con los comandos MIDI 1.0 para compatibilidad y el Comandos MIDI 2.0 extendidos para resoluciones más altas y más funciones.

Para admitir UMP, el conjunto de parches amplía las interfaces ALSA rawmidi y secuenciador existentes, y agrega el soporte USB MIDI 2.0 al controlador de audio USB estándar.

El rawmidi para UMP tiene un nombre de dispositivo diferente (/dev/snd/umpC*D*) y lee/escribe datos de paquetes UMP en endianness nativo de CPU de 32 bits. Para las antiguas aplicaciones MIDI 1.0, también se proporciona la interfaz rawmidi heredada.

De forma predeterminada, el controlador de audio USB tomará la configuración alternativa para la interfaz MIDI 2.0, y la compatibilidad con MIDI 1.0 se proporciona a través de la capa común rawmidi. Sin embargo, el usuario también puede permitir que el controlador vuelva a la antigua interfaz MIDI 1.0 mediante una opción de módulo.

Un dispositivo rawmidi compatible con UMP puede crear los clientes de secuenciador ALSA correspondientes para admitir las conexiones de UMP Endpoint y UMP Group. Como parte del secuenciador de ALSA, se permiten conexiones arbitrarias entre clientes/puertos, y el núcleo del secuenciador de ALSA realiza las conversiones automáticas para las conexiones entre un nuevo cliente de secuenciador UMP y un cliente de secuenciador MIDI 1.0 heredado. Permite que la aplicación existente use dispositivos MIDI 2.0 sin cambios.

El MIDI-CI, que es otra extensión importante en MIDI 2.0, no está cubierto por este conjunto de parches. Se implementaría más bien en el espacio del usuario”.

El código MIDI 2.0 para el kernel de Linux ahora está bajo revisión y, si todo va bien, podría incorporarse al ciclo v6.5 este verano.

Categories: IT Info