12 august 2022
¿Cómo programo un controlador MIDI Alesis V en Ubuntu?
Mis queridos Descamisados:
Todo ocio ha de ser reivindicado como un justo prolegómeno de la acción del trabajo. Nuestro Pueblo por tanto merece las sanas reparaciones que su labor le ha predicado, y como tal puede sentirse seguro en reividicarlo.
Todas las tareas que lleven a él son - entonces - gratos espejos en los que podremos observarnos, y a los que todos han de tener derecho. Pues bien, GNU con Linux es un sistema totalmente capaz de enfrentar todo tipo de tareas para el ocio y el divertimento, y porqué no, para la creatividad. En este podio la composición musical sin duda es una de las que hemos promovido. Un gran avío de softwares libres nos permiten hoy editar y mejorar música. MUSE, Rosegarden, Qtractor, Ardour y muchos otros nos permiten grabar audio digital y MIDI, así como asociarse a bancos de sonidos Soundfont para escuchar siempre la más maravillosa música, que es aquella compuesta con Software Libre. Indudablemente que en ellos podremos utilizar directamente el mouse y nuestro teclado para ingresar las notas "a lo vikingo". Pero quien de esto sabe un poco no duda que asociar un teclado pianístico a nuestra computadora es en realidad la herramienta clave que nos facilitará enormemente nuestra ejecución y composición. Basta un controlador MIDI con teclas sensitivas para introducir música a la computadora con una facilidad imposible de replicar de otra manera. Esta solución se presenta, entonces, como cien veces superior a hacerlo a mano.
Los modelos de controladores Alesis de la Serie V son una opción popular y potente, que han de estar al alcance de todo Trabajador que guste de tocar música o quiera iniciarse en ello. Debemos notar que estos, como todos los controladores MIDI - no generan "sonidos" en sí, sino que transmiten las órdene de ejecución a través de la interfaz digital MIDI a un sintetizador externo (en nuestro caso, podremos usar cualquier sintetizador virtual que corra en Ubuntu, Fluidsynth y Dexed son mis favoritos.
Pues bien, existen varias versiones del controlador Alesis V, por ejemplo la Alesis V25, V49 y la V61, que varían en la cantidad de octavas, y por lo tanto de ancho del teclado.
El modelo "mini" de 25 teclas va bien para líneas de bajo o disparar efectos en nuestros programas, en tanto que los otros ya se presentan como más adecuados para tocar a dos manos.
Todos estos teclados controladores MIDI son reconocidos por Ubuntu sin necesidad de drivers. Constan de dos ruedas (pitch bend y modulación), cuatro potenciómetros, seis botones (cuatro de ellos reprogramables, y dos botones octavadores, para subir o bajar octavas, y que retornan a la octava normal al presionarlos al unísono). Esto nos aventaja si tenemos las versiones de menos octavas, pues transportamos el teclado con suma facilidad. Finalmente cuentan con ocho pads programables, que vienen preparados de fábrica para disparar notas MIDI en el canal 10 (el percusivo).
Las teclas semipesadas sensibles que dotan estos pianos tienen como objetivo la posibilidad de grabar también la incidencia de nuestra fuerza de ejecución sobre las mismas, a fin de permitir melodías dinámicas de pianissimo o de forte, en cualquier instrumento. En particular, los teclados de la serie Alesis V tienen ocho curvas de presión programables. Estas curvas de presión delimitan la relación entre la presión real de la tecla y la intensidad del mensaje MIDI "Velocity", que representa la fuerza aplicada en la misma, y por lo tanto, la intensidad del sonido final de la nota.
Estas ocho curvas de presión, representadas gráficamente, observan las siguientes formas:
Si bien en la web oficial recomiendan la curva número 1 (lineal) o la curva número 2 (suavemente peraltada) como las más naturales y creíbles, lo cierto es que el teclado viene de fábrica programado con la curva de presión número 5, que representa una presión desigual y temperamental, no guarda lógica con un piano real, y obliga a un trabajo bastante mediocre y desparejo en la presión.
Y he aquí el gran problema para nuestro Movimiento: estas curvas de sensibilidad y el resto de las opciones configurables - incluyendo el mismísimo Canal MIDI en el que opera el controlador - no se pueden cambiar desde el teclado en sí, sino que hay que utilizar un software privativo oficial para Window$ o Mac, el cual se encarga de generar un perfil de programación que debe transmitirse a la memoria interna del teclado a través de su cable USB MIDI:
Esto no sólo es incómodo desde el punto de vista operativo, sino que realmente constituye un insano ejemplo en la obligatoriedad de anclar el uso de un teclado musical a un programa privativo para un sistema específico, cerrado en tiempo y espacio.
Dentro del Justicialismo sabemos que debemos liberar al Pueblo de este yugo, por lo que haremos realidad efectiva un software abierto y libre capaz de hacer lo mismo desde un sistema GNU con Linux. Se trata del excelente Alesis V Series SysEx Editor del compañero peronista Travis Mick. Gracias a un laborioso trabajo de ingeniería inversa, ha documentado las órdenes SysEx MIDI de reprogramación que utiliza Alesis en su programa oficial, y les ha dado uso como fundamento para un software escrito en Python y liberado bajo licencia MIT. Gracias a él, podremos ahora reprogramar nuestro controlador MIDI Alesis V en Ubuntu sin necesidad de emplear el programa privativo original, y manteniendo incólumne aquel apotegma que reza: "Queremos un software socialmente justo, económicamente libre, y políticamente soberano".
Para instalar el útil alesisvsysex, abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:
cd ~ ; sudo apt update ; sudo apt install python3-pyqt5 python3-mido python3-rtmidi ; git clone https://github.com/abridgewater/alesisvsysex ;
cd ~/alesisvsysex/ ; pip3 install -r requirements.pip3 ; cd ~ ;
mv ~/alesisvsysex/ ~/.alesisvsysex/ ;
Para ejecutar el programa desde la Terminal, ingreso:
cd ~/.alesisvsysex/ python3 -malesisvsysex
El Editor de SysEx para Alesis V nos presenta a arrancar una interfaz gráfica de usuario que sigue la lógica del programador oficial.
En la parte superior contaremos con cuatro botones. Para ver en el programa la configuración actual de nuestro teclado controlador conectado, debemos presionar el botón Load From Device ("Cargar desde Dispositivo"). Esto cargará en la pantalla los parámetros de fábrica que tiene el Alesis V. Es altamente recomendable guardarlos en un archivo de respaldo y conservarlo por las dudas. Para ello presionamos el botón "Save to File" ("Guardar a Archivo"). Le ponemos un nombre, por ejemplo, alesisv61_original.syx.
Una vez creado esta copia de resguardo, bien podremos meter mano y cambiar los parámetros según queramos. Ello lo haremos por medio de las cuatro solapas.
La primera solapa Keys/Wheels/Sustain nos permite programar el Canal MIDI utilizado por el teclado y los controles (hay 16 canales MIDI y el teclado normalmente emite en el Canal 1). Las ruedas de pitch y modulación, y el pedal de sustain opcional del Alesis V normalmente han de configurarse en el mismo canal que las teclas. La mayoría de los parámetros MIDI pueden tomar forma varían entre 0 y 127, por lo que el pedal de sustain normalmente se activa cuando se sobrepasa el valor medio 64.
Para cambiar la curva de sensibilidad del Alesis V debemos modificar la opción "curve". Naturalmente, la cambiamos por la que deseemos (la número 1). Podríamos también querer cambiar el canal MIDI en el cual emitirá el aparato, dependiendo de la configuración de nuestro programa de Grabación. Normalmente da salida en Canal 1, pero existen instancia donde querremos utilizar otro canal.
La segunda solapa Knobs/Buttons permite cambiar el canal y parámetro (mensaje) de los potenciómetro ("knobs") y de los cuatro botones programables ("button"). Muchas aplicaciones pueden programar específicamente los potenciómetros virtuales con estos, pero otros programas no dejan hacerlo y debemos configurar estos potenciómetros de una manera específica.
Como referencia debemos saber los códigos MIDI estándares de las Articulaciones, las cuales podemos asignar a las perillas o los botones. Por ejemplo, si usamos el CC7 en una perilla, podremos usarla para regular el volumen en el programa, y CC10 cambiará el paneo estéreo (izquierda-derecha). El CC11 puede usarse también en una perilla para variar o grabar la expresión, ya que los Serie V no tienen pedal de expresión. Las opciones de cambio de programa (program change) son populares para asignar a los botones, pues nos permiten cambiar el patch MIDI (instrumento) directamente desde el controlador.
Finalmente, la tercera solapa Pads se encarga de la configuración de los ocho pads percusivos. Estos se pueden utilizar como vienen programados, como notas percusivas (bombo, hithat, redoblante, etc), o bien cambiar el canal y el uso para reprogramar los botones Grabación, Play, Stop, Avanzar o Retroceder. Todo ello depende de la DAW. Muchas aplicaciones DAW cuentan ahora con una opción "MIDI Learn" en el cual podremos asignar una perilla virtual, luego presionar el botón de "aprendizaje" y mover el control que queremos asignarle, y este se asociará automáticamente (por ejemplo, en LMMS esto es muy común).
Una vez que tenemos la configuración programada como queremos, podremos presionar el botón Save to File para almacenarla en un archivo .syx. Para que quede efectivizada en el teclado será necesario presionar el botón Save to Device. Una vez guardada la configuración en el teclado, podremos apagarlo y el mismo debería conservar la configuración sin problemas.
Gracias a esta herramienta podremos guardar archivos de configuración específicos para nuestras necesidades, y por sobre todas las cosas controlar de manera sencilla desde Ubuntu las curvas de sensibilidad de las teclas.
Crear un lanzador para Alesis V SysEx Editor Siendo este programa una interfaz gráfica, es natural que queramos crearle un lanzador en nuestro sistema para poder arrancarlo fácilmente. Para ello hemos de crear un script. Ingresamos:
nano .alesis.sh
...se abrirá el editor GNU Nano con un archivo en blanco, al cual le debemos pegar el siguiente código:
cd ~/.alesisvsysex/ python3 -malesisvsysex cd ~ ...guardamos el script con Ctrl+o y salimos del GNU Nano con Ctrl+x, y le otorgamos permisos de ejecución:
chmod +x .alesis.sh
Para crear el lanzador hacemos clic en el panel superior sobre Aplicaciones, y elegimos la opción Editar menús... Se abrirá la ventana Menú Principal, y en su sección izquierda hacemos clic en la categoría Sonido y Video. Luego presionamos el botón Elemento Nuevo. En la ventana Propiedades Lanzador que aparecerá, ingresamos el nombre de la aplicación y en el campo "Comando:" le indicamos /home/usuario/.alesis.sh. Luego presionamos el botón Cerrar y ahora podremos iniciar el editor desde Aplicaciones / Sonido y Video / Alesis V SysEx Editor.