Trabajando con Max for Live – Parte 2

Trabajando con Max for Live – Parte 2

Introduccion

El pasado tutorial de nuestra serie de Max for Live tuvo un énfasis principalmente teórico. Nos enfocamos en entender qué es Max, y aprendimos cómo crear un dispositivo. Adicionalmente, también vimos cómo encajan los dispositivos de Max en el ambiente de Ableton Live. Toda esta información es sumamente útil, pero ahora, necesitamos ensuciarnos las manos y empezar a crear un poco con Max para realmente iniciar nuestro camino de aprendizaje.

La programación tiene muchas similitudes con la producción musical. En ambas, es muy fácil perderse en el trabajo si no se define una meta clara. Teniendo esto en mente, para este tutorial nuestra meta será crear un armonizador. En éste y los siguientes tutoriales iremos desarrollando nuestro dispositivo, iniciando con una idea sencilla, y terminando con un dispositivo flexible y profundamente configurable.

Diseño del dispositivo 

Nuestro dispositivo tomará una nota que toquemos con un teclado MIDI y creará una nota de acompañamiento ubicada a un dado intervalo armónico de distancia. Es decir, si el usuario toca la nota C4 y escoge armonizarla una octava para abajo, saldrán las notas C4 y C3 de nuestro dispositivo, como muestra la siguiente imagen:

Trabajando con notas MIDI 

Antes de empezar, ocupamos un poco de contexto sobre el protocolo MIDI (Musical Instrument Digital Interface, o Interfaz digital de instrumentos musicales en español).

MIDI es un protocolo estandarizado, lo que significa que es regulado por una asociación que se asegura de que todos los dispositivos MIDI se conformen a las reglas del protocolo. Esto significa que todos los conceptos de MIDI son básicamente los mismos en cualquier contexto.

Uno de los puntos importantes del protocolo MIDI es que establece cómo se identifican las notas musicales en un contexto digital. Para un pianista tradicional, por ejemplo, la nota que esta en el centro de un piano se llama C4 (Do 4), y se representa en una partitura por el siguiente símbolo:

Para una persona vidente con la preparación musical necesaria, las partituras constituyen una manera efectiva para abstraer una idea musical, ya que se pueden grabar bastantes parámetros de un sonido utilizando una combinación de símbolos. En el caso de una partitura, los símbolos indican qué nota hay que tocar y por cuanto tiempo, con otras indicaciones complementarias que nos indican con qué intensidad debemos tocar ese pasaje.

El protocolo MIDI también tiene mecanismos para poder abstraer los parámetros de una idea musical. Sin embargo, en el caso de MIDI, no se utilizan símbolos para representar duraciones. En vez de símbolos gráficos e indicaciones textuales, MIDI utiliza números –  y solamente números – para capturar y reproducir una idea musical.

En MIDI, las notas se representan numéricamente del rango de 0-127, lo cual nos da acceso a 128 notas (para poner esto en contexto, el piano acústico tiene 88 teclas). El protocolo establece que el numero 60 representa la nota C4, que es la misma nota que vimos en la partitura pasada. La intensidad de la nota se determina por un valor denominado velocidad (representa la velocidad con la que se toca una nota). Finalmente, la duración de una nota se extrapola del punto en el que la velocidad pasa de un valor mayor a 0 (cuando la nota fue tocada) a 0 (cuando se levanta el dedo del teclado, de estar utilizando uno).

Aplicando los conceptos en Max 

Todos estos conceptos se pueden ver con gran facilidad en el ambiente de Max. Hagamos un dispositivo nuevo para ir viendo esto. (En caso de que no recuerdes cómo crear un dispositivo, consulta el tutorial #1.)

Preparando nuestro dispositivo

Al crear un nuevo Max MIDI effect e ingresar al editor de Max, veras la siguiente ventana:

m4l

El objeto [midiin] pasa señales MIDI crudas. Mientras que este objeto en efecto pasa señales MIDI de Ableton a Max, no lo vamos a usar por el momento, ya que hay maneras más eficientes y claras de realizar esto. Selecciona todos los objetos, y bórralos presionando “backspace”.

Creando una entrada MIDI de Live a Max 

Ya que borramos el objeto [midiin], actualmente no tenemos entrada MIDI desde Live a Max. Para solucionar esto, debemos crear un nuevo objeto: [notein]. La diferencia entre [midiin] y [notein] es que [midiin] pasa todos los eventos MIDI (como pitchbend, controles de cambios, etc), mientras que [notein] solo pasa eventos de notas MIDI.

Para crear el objeto, presiona la tecla “n” en tu teclado mientras estas en la ventana del editor de Max, y escribe la palabra notein.

Una breve nota sobre los objetos de Max

Más tarde entraremos en discusiones más técnicas de lo que es un objeto en Max, pero por ahora, cuando hablamos de objetos de Max, simplemente míralos como unidades o módulos que realizan una tarea específica. En el caso de [notein], su tarea será pasar notas MIDI desde Live a Max.

Monitoreando la señal MIDI 

Una vez que hayas creado el objeto [notein], las señales que sean enviadas desde Live llegarán a tu dispositivo. Lo que esto significa es que si tocas notas en el track en el que está el dispositivo, esas notas llegarán al dispositivo.

Para validar ese punto, crearemos dos objetos nuevos – ambos del mismo tipo. Como vimos antes, al presionar la tecla “n”, podrás crear un objeto vacío nuevo. Sin embargo, hay algunos objetos específicos que se pueden crear con otras teclas. Al presionar la tecla “i”, podrás crear una caja numérica – un tipo de objeto en el cual podrás ver y modificar números. Así que, como muestra la imagen inferior, crea dos cajas numéricas presionando la tecla “i”, y conéctalas a los dos puertos de salida que tiene el objeto [notein]:

Para validar que nos esta llegando señal, debemos tocar notas MIDI con nuestro controlador o teclado. Para hacer esto,  debemos cerrar el dispositivo y dirigirnos a la sesión de Live. Para hacer esto, simplemente cierra el ambiente de edición de Max y guarda el dispositivo en una dirección apropiada en tu computador.

Una vez que estés de vuelta en el ambiente de Live, simplemente activa el ingreso de notas en el canal en el que estés, y mira lo que pasa:

Como puedes ver en la barra amarilla a la izquierda del dispositivo, hay notas que están siendo ingresadas. ¡Finalmente! ¡Max y Live se hablan! El número de la izquierda indica el valor MIDI de la nota que se esta tocando, y el número de la derecha indica el valor de “velocity” de la nota que se esta tocando.

Sacando señales de Max 

Si le prestas atención a la pasada imagen, verás que mientras que hay señales MIDI entrando al dispositivo, no hay señales saliendo del dispositivo. Esto se puede afirmar al ver el medidor de actividad MIDI que se ubica en ambos lados del dispositivo – la barrita amarilla que se mueve cuando tocas notas.

Sacar señales de Max es tan sencillo como ingresarlas – el objeto [notein] tiene un pariente cercano llamado [noteout]. Si agregas un nuevo objeto y escribes [noteout], podrás tener salida de señal MIDI de tu dispositivo. (como nota – las cajas numéricas dejan que las notas midi pasen sin ser afectadas).

Trabajando con notas MIDI, parte 2

Como discutimos previamente, en el protocolo MIDI, las notas musicales son representadas por valores númericos. El protocolo también dicta que el numero 60 representa la nota C4 – pero, ¿qué hay del resto?

En el protocolo MIDI, un incremento de uno significa un incremento de un semitono. Es decir, si el número 60 representa la nota C4, entonces el numero 61 representa la nota C#4. Para reafirmar esta característica del protocolo MIDI, dale un vistazo a la siguiente tabla:

Nota MIDI     Nota Musical
60     C4
61     C#4
62     D4
63     D#4
64     E4
65     F4
66     F#4
67     G4
68     G#4
69     A4
70     A#4
71     B4
72     C5

 

Para ver una versión expandida de esta tabla, dale un vistazo al siguiente enlace: https://newt.phys.unsw.edu.au/jw/notes.html

Algo que podemos notar de esta tabla es que una diferencia de 12 representa una diferencia de una octava – la nota 60 es C4 y la nota 72 es C5. Esto tiene sentido si pensamos en teoría musical, ya que hay 12 semitonos por octava. Algo que podemos abstraer de este hecho es que esta diferencia es consistente a través del rango de las notas: una diferencia de 12 en MIDI siempre va a ser una diferencia de una octava.

Esto crea una excelente oportunidad para dar el primer paso en nuestro dispositivo armonizador. Por ahora – ¿qué tal si creamos un armonizador que siempre toca una nota una octava por debajo de la nota que estamos tocando?

Modificando notas MIDI 

Algo conveniente de que las notas MIDI sean representadas por valores numéricos es que pueden ser manipuladas utilizando procedimientos matemáticos sencillos. Es decir, si tomamos la salida de nota de [notein] y de alguna manera le restamos 12, obtendremos el valor para la nota una octava inferior.

Convenientemente, Max tiene a su disposición una gran variedad de herramientas para realizar tareas aritméticas – los objetos [+ ], [– ], [* ], y [/ ] nos permiten sumar, restar, multiplicar y dividir números, respectivamente. Así que, si queremos restarle 12 a un numero, podemos utilizar el objeto [– 12].

Para hacer esto, regresa al editor de Max. Crea un objeto nuevo presionando la tecla “n”, y escribe  “– 12” (préstale atención al espacio entre el símbolo de resta y el número). Luego, conecta la salida de [notein] con este objeto. Después del objeto de resta ([– 12]), conecta una caja numérica para monitorear el valor. Mira la imagen inferior como referencia:

Guarda tu progreso, cierra el editor de Max, y vuelve a Ableton Live. Si realizas la misma prueba de antes y tocas notas, verás que la operación matemática se esta realizando correctamente:

Cómo puedes ver en la imagen superior, la caja numérica que esta conectada al [- 12] tiene un valor distinto a la caja numérica conectada al [notein]. Esto significa que nuestra operación esta sirviendo, y ¡estamos alterando nuestra señal MIDI!

Sin embargo, esta nueva señal MIDI aun no esta haciendo nada que podamos escuchar. Para poder escuchar esta nueva señal, conecta la salida de [- 12] a la primera entrada de [noteout]. Esto le pasará la señal de Max a Ableton Live. Mientras haces eso, también puedes borrar las cajas numéricas – ellas solo estaban presentes para asistir como monitoreo de señal, pero en realidad no realizan ninguna tarea adicional:

Finalmente, ¡hemos creado nuestro octavador! Puedes volver a Ableton Live y probarlo con tu instrumento preferido – tienes ahora un dispositivo que te deja armonizar lo que sea que toques una octava para abajo.

Conclusión 

Este tutorial nos introdujo a la modificación de señales MIDI. Mientras que es un dispositivo util y musical, aún hay muchas direcciones en las que podemos desarrollar para tener un dispositivo mas versátil e interesante. Mira los próximos tutoriales para ver cómo podemos ir agregando más capacidades a nuestro dispositivo.

Este artículo fue escrito por Armando González Sosto. Armando es un músico, ingeniero de sonido, productor musical y artista computacional Costarricense graduado del programa de Producción Electronica de Berklee College of Music. Puedes ver más de su trabajo en su sitio web, www.argosos.com

 

Compartir

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *