Conexiones MIDI entre Pure Data y Ableton LIVE. (Parte 1)

de: mrtn_rivera

Dificultad:

Principiante

Plataforma:

Otra

Categoria:

Software

Favoritos:

favorite1

reportReportar

Descripción:

Pure Data (Pd para los amigos) es una plataforma de programación y desarrollo que utiliza la idea de “nodos” o “módulos que se interconectan” como materia prima para crear aplicaciones musicales, interfaces interactivas, y cualquier cosa que puedas imaginar. Esto nos provee de herramientas muy versátiles que además son hechas a la medida de nuestras necesidades. Por otro lado tenemos Ableton Live, un robusto software de producción musical con sintetizadores, samplers, timeline para edición y muchas otras funciones dedicadas a la producción e interpretación musical. Encontrar una forma de interconectar estos dos mundo abre las puertas a nuevas formas de componer, tocar y crear música. Una forma de lograr esta comunicación es utilizando el protocolo MIDI (Musical Instrument Digital Interface) que desde hace más de 30 años funciona como un estándar para integrar software y hardware musical en una multitud de contextos diferentes. Esta es nuestra situación: Quiero que un algoritmo/programa diseñado en Pd controle un sintetizador en Ableton Live. ¿Cómo logramos esto?

Licencia: Creative Commons Zero v1.0 Universal


Tags:

MIDI
Ableton Live
música
Pure Data

Paso 1:

Activar el Driver IAC en OSX

Podemos utilizar una analogía: Pure Data es una ciudad y Ableton Live es otra, para enviar paquetes entre ciudades nuestro mensajero necesita una carretera.

En el sistema operativo OSX de Mac tenemos un programa instalado de fábrica que nos sirve precisamente para esto. Así que antes que nada vamos a inaugurar nuestra carretera.

En la sección de “Utilidades” encontramos la aplicación “Configuración de Audio MIDI” (Audio Midi Setup en ingles). Puedes encontrarla rápidamente con el buscador Spotlight.


En el menú “Ventana” selecciona la opción “Mostrar ventana MIDI” (Show MIDI window). Debe aparecer una ventana muy similar a esta:

En esta ventana encontramos el “Driver IAC” (Inter-Application Communication). Esta es precisamente la carretera que utilizaremos para comunicar Pd con Ableton Live (O con cualquier otro software con capacidades MIDI). Si el icono se ve opaco es que no está habilitado, dale doble click.

Selecciona la casilla de la opción “Dispositivo conectado” para tener todo seteado y listo. Basta con realizar este paso una sola vez para poder utilizar el driver de aquí en adelante.

Nota: En esta ventana podemos crear más de una “carretera” o “Bus”, pero consideremos que cada carretera tiene 16 “carriles”. Más información sobre esto vendrá después.

Paso 2:

Preparar la ruta de salida en Pd

Vamos a Pd. En el menú “Media” selecciona la opción “Preferencias de MIDI”. En la sección de dispositivo de salida (output device) selecciona la opción Driver IAC Bus 1. Esto le indica a los mensajes MIDI cuál ruta van a tomar para llegar sanos y salvos a su destino.

Vamos a realizar un seteo similar en Ableton Live para configurar la entrada de los mensajes, pero antes veamos el funcionamiento de algunos objetos dedicados a comunicación MIDI que encontramos en Pd.

Paso 3:

Enviar notas desde Pd

Si Pure Data es algo nuevo para ti puedes empezar por ver este video.

Realicemos un pequeño programa que envía la nota Do central (C3) cuando clickeamos un “botón”. La duración de mi nota será de 1 segundo y tendrá una dinámica (volumen o “velocity”) máxima, el equivalente a tocar una nota Do con todas nuestras fuerzas con un valor rítmico de negra o cuarto a 60 bpm.

En el menú “Archivo” selecciona la opción “Nuevo” para empezar un nuevo proyecto.

En el lenguaje MIDI cada nota tiene asignado un número entero del 0 al 127. La nota Do central (C3) es 60, Do sostenido (C#) es 61, Re (D) es 62 y así sucesivamente. Esta es una tabla de equivalencias.

Este ejemplo muestra un mensaje con el número 60 (C3) conectado con el objeto [makenote 127 1000]. El primer valor representa el "velocity" (intensidad con la que tocamos la nota), el segundo la duración de la nota en milisegundos (1000 mS = 1 segundo). El objeto [noteout] es la puerta de salida de Pure Data.

Ejemplo1.pd

Si desactivamos el modo de edición (command + E) podemos clickear el mensaje 60. Con esta acción estamos mandando la nota Do por nuestra ruta MIDI. Ahora podemos preparar un instrumento en Ableton Live para recibir el mensaje.

Paso 4:

Preparar la entrada MIDI de Ableton Live

En el menú “Live” selecciona la opción “Preferencias”. En esta ventana encontramos del lado izquierdo la pestaña “MIDI Sync”. Si nos enfocamos en la sección inferior encontraremos una lista con todas las posibles rutas de entrada y salida para mensajes MIDI disponibles, incluyendo hardware y software. Por el momento basta con ubicar “Input: Driver IAC (Bus 1)” y activar las opciones de “Pista” (Track) y “Remoto” (Remote). La opción “Pista” permite que los instrumentos digitales, tales como sintetizadores y samplers interpreten los mensajes de notas para producir sonidos. Por su parte “Remoto” habilita la opción de controlar la interfaz global de Ableton Live.

Paso 5:

Configurar nuestro instrumento

Es momento de probar nuestras conecciones. En la esquina superior derecha de Ableton Live vive un cuadrito que nos indica cuando recibimos cualquier tipo de mensaje MIDI. Si al clickear el mensaje 60 en Pd ves este indicador parpadeando vamos por buen camino.

Para escuchar el resultado podemos agregar un sampler con sonidos de piano a la sesión y prender el botón “REC”.

Notemos que el track “2 Keys-Gran” tiene una sección marcada como “MIDI From” y dos recuadros. Aquí podemos seleccionar si queremos recibir mensajes de todas las “carreteras” o de solo una en especial. Esto resulta útil cuando queremos utilizar nuestro controlador o teclado para algunos tracks y Pd para otros.

Paso 6:

Enviar acordes y setear canales MIDI

¡Parece que hasta aquí todo va bien! ¡Perfecto! :D

Honestamente mandar una triste nota de un lado al otro no tiene mucha gracia pero podemos experimentar un poco a partir de aquí. Si en vez de mandar un solo número agrupamos varias “notas” podemos mandar acordes. Por ejemplo la lista 60, 63, 67, 70 representa las notas Do, Mi bemol, Sol, y Si bemol, que forman el acorde Do menor siete (Cm7). En otro mensaje agregamos las notas 58, 62, 65, 69 que forman el acorde Bb mayor con séptima mayor (BbMaj7).

Ahora podemos agregar un objeto que produce números aleatorios y otro que selecciona un número y manda un mensaje “bang” que sería equivalente a clickear el mensaje con el mouse. El objeto [random 2] produce 0 o 1 cuando clickeamos en el botón “bang” (utiliza "shift + command + B" para poner el objeto en la ventana).

Ejemplo2.pd

Este elemento de aleatoriedad puede generar resultados interesantes en nuestro proceso de composición o performance.

Anteriormente hablamos del “Driver IAC Bus 1” como la carretera para nuestros mensajes MIDI. También mencionamos brevemente que esta ruta tiene “16 carriles”. Sucede que el protocolo MIDI permite mandar mensajes a 16 canales diferentes por un mismo “bus”. Esto es útil ya que podemos mandar notas de forma independiente a 16 instrumentos independientes. En Pd podemos agregar un nuevo objeto “noteout 2”. El número entero indica el canal que estamos utilizando.

En el siguiente ejemplo mandamos la nota 48 (C2) o 46 (Bb3) por el canal 2.

Ejemplo3.pd

En Ableton Live agregamos un nuevo track con el sintetizador “Analog”. También especificamos en la sección “MIDI From” de cada track el canal MIDI que van a escuchar, Ch.1 para el Piano y Ch. 2 para el sintetizador.

Paso 7:

Utilizando secuenciador_lineal.pd

Con todo las herramientas que tenemos podemos utilizar un secuenciador MIDI desarrollado en Pd que nos ofrece capacidades expresivas diferentes a las que encontramos normalmente en Ableton Live.

Descarga el secuenciador_lineal.

En cada “fila” puedes seleccionar una nota MIDI, su velocity, el canal y la duración de la nota. Puedes activar la fila y desplazar el selector para acomodar la nota en el tiempo.

También puedes abrir múltiples secuenciadores, cada uno dedicado a su propio canal MIDI.

Espero que este tutorial te haya servido y que sea una punto de partida para muchos descubrimientos en el mundo de la programación de instrumentos musicales.

¡Gracias!

Comentarios:

  • Mrhofflich Mrhofflich

    Que genial!

    11/07/2016

  • jodk jodk

    podria alguien ayudarme como hacer eso en windows?

    24/08/2016

mode_edit