miércoles, 9 de marzo de 2016

Puertos y canales

Pure Data puede manejar en su última versión (0.43.4-extended) hasta un total de cuatro puertos MIDI de entrada y de salida.*
Cada puerto dispone de un total de 16 canales (que es el número máximo de canales que puede manejar un puerto según la norma MIDI), sumando por lo tanto un total de 64 canales de entrada y 64 canales de salida.

*En el caso de Pure Data Vanilla (0.46.7) contamos con hasta 9 puertos de entrada y salida, sumando un total de 144 canales MIDI.

A la hora de manejarnos con todo este número de entradas y salidas, es importante tener en cuenta varias cosas.

1. Todos aquellos controladores MIDI que queramos utilizar con Pd deben estar conectados a nuestro ordenador antes de abrir la aplicación. Pd no es capaz de reescanear sus entradas MIDI una vez abierto el programa, por lo que solo encontrará aquellos dispositivos que estén conectados previamente a su apertura.

2. La ruta para acceder a las preferencias MIDI es: Media/Preferencias de MIDI (en versiones anteriores se accede desde Pd-extended/Preferences).
Allí nos encontraremos con una ventana como la siguiente desde donde podremos situar nuestros dispositivos pinchando en cada una de las ranuras disponibles:
 















En este ejemplo, hemos situado tres controladores (un Launchpad Mini, un Midi Fighter Twister y un teclado QuNexus en los tres primeros puertos de entrada.
Como los tres controladores son capaces de recibir dato MIDI (en este caso para proporcionarnos feedback visual a través de sus diferentes conjuntos de ledes) también los hemos situado en tres puertos de salida.

En el puerto 4 tenemos el Driver IAC Pure Data, tanto en la entrada como en la salida. Este dispositivo virtual nos permitirá la comunicación de Pd con otras aplicaciones que tengamos dentro de nuestro ordenador y que soporten el protocolo MIDI. Así por ejemplo, podríamos utilizar un secuenciador programado en Pd para disparar un sintetizador albergado en Ableton Live o utilizar el controlador Launchpad –por poner otro ejemplo– para que Pd pueda recibir datos MIDI a través del puerto 1 y enviarlos a Ableton Live a través del puerto de salida número 4. Estos datos, dicho sea de paso, podrían ser enviados tal cual los recibimos del Launchpad o procesados de diferentes maneras mediante Pd.

3. Cada uno de estos puertos puede manejar como deciamos más arriba, hasta un total de 16 canales MIDI. Como cada uno de estos canales tiene que tener la capacidad de enviar o recibir datos de manera totalmente independiente, Pd se referirá a ellos como canales del 1 al 64 (para que cada uno de ellos tenga una dirección diferente) ordenados según la siguiente tabla:









Es importante tener esto en cuenta ya que a la hora de recibir o enviar información MIDI a través de Pd siempre nos tendremos que referir a los canales según los números que aparecen en esta tabla.
Así por ejemplo, si nuestro Midi Fighter (situado en el puerto 2) está enviando datos por el canal 1, Pd los recibirá por el canal 17. De la misma manera, si lo que queremos es enviar datos MIDI por el canal 10 del puerto 4, tendremos que hacerlo por el canal 58.

Esta manera de numerar los canales es propia de Pd pero no se corresponde normalmente a como gestionan sus puertos y canales MIDI otras aplicaciones.
Así, cuando nosotros enviemos datos por, digamos, el canal 49, otras aplicaciones lo recibirán como canal 1 + el nombre del dispositivo que se encuentre situado en el puerto 4 de Pd.
En este ejemplo los datos enviados desde Pd a través de dicho canal 49 serán recibidos por Ableton Live por su entrada Driver IAC (Pure data OUT), que es precisamente el dispositivo que hemos situado en nuestras preferencias MIDI de Pd en el puerto número 4.




















Para acabar un pequeño consejo.
Si normalmente utilizas el mismo conjunto de equipos MIDI conectados a Pd, es bastante práctico que mantengas siempre una misma configuración (un mismo orden) en tus preferencias MIDI de Pd para tus diferentes patches; de esa manera siempre sabrás que los datos de entrada o de salida correspondientes a tal o cual canal viajan siempre en la dirección correcta.
Si por el contrario utilizas diferentes equipos para diferentes patches, no está de más incluir en cada uno de tus patches una información de este tipo (a modo de recordatorio) para poder configurar rápidamente las preferencias MIDI: