Usando el objeto Transformer de Logic Pro

El objeto Transformer en el entorno es una de las herramientas más poderosas que ofrece Logic. Con un poco de know-how MIDI, puede convertirse en una herramienta creativa increíblemente poderosa. En la segunda parte de esta serie de Environment, veremos el concepto básico de cómo Transformer interpreta y manipula los mensajes MIDI. Incluso si no tiene Logic, también hay información útil sobre MIDI.

Antes de empezar te recomiendo leer el artículo. primero - antes de ver el screencast!


Screencast

Usando el objeto Transformer de Logic Pro de AUDIOTUTS Video en Vimeo.


Introducción

En Logic, 'transformar' es el proceso de alterar los mensajes MIDI. Se puede usar para modificar los mensajes MIDI entrantes a través del objeto Transformer (que se puede encontrar en el Entorno) o para modificar partes MIDI pregrabadas a través de la ventana Transformar (Comando + 4). La versión del objeto se puede usar para propósitos más creativos, mientras que la versión de la ventana se puede usar para procesar por lotes los datos MIDI en su disposición y ahorrarle un montón de trabajo manual. Aunque no vamos a cubrir la ventana Transformar en este tutorial una vez que entiendas que el concepto es prácticamente el mismo que el objeto.

Pero antes de usar estas potentes funciones, es de vital importancia comprender cómo se construye un mensaje MIDI, ya que ambos transformadores utilizan esta estructura como base para las tareas. Sin saber esto solo da miedo.!


La anatomía de MIDI

Sin lugar a dudas, MIDI es uno de los desarrollos tecnológicos más importantes en la producción musical de los últimos 25 años, e incluso se traslada a nuestras vidas cotidianas, solo piense en los tonos de llamada de los teléfonos móviles. Incluso controla juegos como Guitar Hero! Todos lo usamos en la producción musical, pero sobre todo en un nivel muy superficial a través de una interfaz de usuario. Entonces, ¿qué es MIDI y cómo funciona??

MIDI (abreviatura de Interfaz digital para instrumentos musicales) es un lenguaje binario de 8 bits que fue desarrollado a principios de los años 80 por Dave Smith y Chet Wood en un intento de estandarizar los protocolos de comunicación entre las tecnologías de sintetizador digital en desarrollo de diferentes fabricantes. En 1983, la especificación MIDI 1.0 se lanzó al mundo y, a pesar de un par de mejoras, sigue siendo prácticamente la misma. Permite que todo tipo de dispositivos musicales, desde sintetizadores, secuenciadores, efectos de hardware e incluso iluminación de escenario, se comuniquen entre sí en un lenguaje universal multiplataforma..

Los datos MIDI se envían dentro de un 'mensaje' MIDI. Hay tres tipos de mensajes MIDI.

  • Voz - Se usa para controlar cosas que se relacionan con el rendimiento como notas, pitchbend y otros datos del controlador. Estos son los tipos de mensajes MIDI más comunes y los más básicos..
  • Modo de canal - Los números de controlador de voz 120-127 están reservados para mensajes de canal que afectan el funcionamiento del canal MIDI. ¿Es monofónico o polifónico? Otros incluyen Restablecer para notas y controladores y Activación / desactivación local que desvincula el teclado del motor del sintetizador.
  • Exclusivo del sistema - Estos mensajes se utilizan para alcanzar parámetros para los que MIDI no fue diseñado. Por lo general, son específicos del fabricante y se transmiten en formato hexidecimal. Pueden relacionarse con parámetros internos como la velocidad de coro o el tiempo de reverberación. Cada dispositivo de los fabricantes tiene un ID de SysEx único que debe transmitirse para poder acceder a estos tipos de parámetros. También acceden al código de tiempo MIDI y a los datos de control de máquina MIDI y a los volcados del sistema para descargar los parámetros de un sonido en una pista de secuenciador para su posterior recuperación. Esto no es gente de lectura ligera, proceda con precaución!

Afortunadamente, estamos interesados ​​en los mensajes de voz, ya que controlan los datos básicos de rendimiento..


Rompiendo el código

Un mensaje MIDI básico se compone de dos o más bytes. Los bytes se componen de 8 bits. Cada bit es como un interruptor, ya sea OFF (0) u ON (1). El código binario como este nos permite hacer grandes números con menos código y MIDI fue diseñado para ser lo más pequeño posible para superar los problemas de latencia a medida que MIDI se transmite en serie (un mensaje sigue a otro).

Un byte puede tener un valor decimal máximo de 255 (sumando todos los valores ON). No quiero entrar en una lección de conteo en binario, pero aquí hay un ejemplo muy rápido..

Hay dos tipos de tipos de bytes asociados con los mensajes MIDI.

Bytes de estado - El byte de estado se entrega primero. Le dice al dispositivo que lo recibe qué tipo de mensaje MIDI es. Siempre comienzan con un 1. Esto les da un valor potencial en algún lugar entre 0-255, en binario que es 00000000 - 11111111. Los bytes de estado de los mensajes de voz típicos son nota, combinación de tonos, control, aftertouch y cambio de programa.

La mayoría de las veces, el byte de estado se divide en dos mensajes de cuatro bits llamados 'nibbles'. En los mensajes de voz, un nibble contiene el tipo de mensaje de voz (estado) mientras que el otro contiene los datos del canal MIDI. Curiosamente, el valor decimal más alto de un nibble es 16, por lo que solo tenemos 16 canales MIDI.

Bytes de datos - El byte de datos contiene el valor del byte de estado. Siempre comienzan con un 0 dándoles un valor potencial entre 0-127, en binario que es 00000000 - 01111111.

Este valor de 0-127 es probablemente algo muy familiar para usted. Los números de nota van desde 0-127. Lo mismo para la velocidad, datos de modulación y así sucesivamente. Una excepción a esto es pitchbend, que utiliza dos bytes que le dan una resolución de 14 bits para evitar el "paso a paso". ¿Por qué 14 bits? Debido a que los bytes de datos solo tienen una resolución de siete bits, no olvide que comienzan con un 0 que los define como un byte de datos, y dos por siete es 14. Este mensaje de 14 bits le da a pitchbend una resolución de 16,384 pasos en todos los 128 números de nota. El significado de cada nota tiene 128 pasos antes de llegar a la siguiente, produciendo una transición suave.

A continuación se muestra un diagrama de un mensaje básico de Nota en. Obtiene la imagen de cómo se juntan los bytes para crear un mensaje MIDI.


La estructura del transformador

Así que echemos un vistazo a nuestro objeto Transformer. El objeto Transformer se puede encontrar en los menús del entorno seleccionando Nuevo> Transformador. Haga doble clic en el objeto Transformer y se abrirá una ventana..

Las cuatro filas de menús desplegables en la parte superior están etiquetadas como Estado, Canal, Byte de datos 1 y Byte de datos 2 al igual que la estructura del mensaje MIDI en el diagrama de arriba. La estructura de los mensajes MIDI varía ligeramente de uno a otro. Aquí hay un rápido desglose de cómo difieren los mensajes de voz. Todos estos se transmitirán a través del canal MIDI 1 (el segundo nibble del byte de estado). Es importante agregar que no necesita aprender las asignaciones binarias de los bytes de estado, ya que su DAW las traducirá al inglés..

Lo único curioso en esta lista son los valores MSB y LSB. Estos representan el byte más significativo y el byte menos significativo. Esto es solo una cosa binaria que expresa qué byte tiene el valor más alto.

Así es como se ven las estructuras de los mensajes de voz cuando se aplican al Transformer.


Condiciones

La sección de Condiciones es donde usted define los parámetros que desea transformar. Los menús desplegables contienen varias 'Declaraciones condicionales'. Estos son similares al tipo de condicionales que se encuentran en lenguajes de programación como Javascript o PHP en el diseño web. Si X = Y, entonces realiza una acción en él. Al elegir una condición del menú desplegable, se abrirá un cuadro de parámetros donde puede agregar el valor para su condición. Por ejemplo, al elegir 'Igual' aparecerá una opción de valor, el número al que desea que su elección sea igual. Al elegir 'Dentro' se mostrarán dos opciones de valor en las que puede establecer el rango de su condición. Si deja el menú desplegable establecido en 'Todo', podrá efectuar el rango completo o todos los valores en un byte determinado..

En la imagen de arriba, he establecido una condición que busca cualquier mensaje MIDI igual a Control Data (Status Nibble 1) en todos los canales MIDI (Status Nibble 2) con un número de controlador de 12 (Data Byte 1) y solo afecta a valores de ese número de controlador entre 10 y 50 (Data Byte 2).


Los operadores

La sección de Operaciones es donde aplica la fórmula para sus transformaciones. Estas pueden ser operaciones matemáticas simples como sumar y restar o escenarios más complejos utilizando el Mapa. "Arreglar" es un valor muy común aquí, especialmente cuando se trata del estado del mensaje. Para cambiar los valores del controlador para que tomen nota de los valores, debe seleccionar 'Control' en la columna de estado en Condiciones y 'Reparar' a 'Nota' en la columna Operaciones. Esto simplemente reestructura el código binario en el primer nibble de 1011 que es Control Change a un valor diferente de 1001, que es Note On. ¡Sencillo! La configuración 'Thru' permite que los datos pasen intactos.

En este ejemplo, he agregado 6 al número en Data Byte 1. Esta simple operación convierte la Modulación (Controlador No 1) en Volumen (Controlador No 7). 1 + 6 = 7.


Enrutamiento

Las tres líneas que separan Condiciones y Operaciones se utilizan para enrutar valores de un byte a otro durante una transformación. Esto es porque la mayoría de los mensajes tienen una estructura diferente. Por ejemplo, si desea convertir números de nota a valores de panorama, podría pensar que esto está bien.

Sin embargo, hay un problema aquí. Los números de nota se almacenan en el byte de datos 1 en el mensaje de nota y en el mensaje de control el valor de panoramización se almacena en el byte de datos 2. En el momento en que el valor de panoramización está siendo controlado por la velocidad de la nota desde el byte de datos 2 del mensaje de nota. Para solucionar esto, haga doble clic en la línea que conecta el byte de datos 2. Esto ahora redirige el valor del número de nota al byte de datos 2 del mensaje de control. ¡Problema resuelto! Esto es un buen caso para conocer la estructura de los mensajes MIDI..


Modos de transformador

Los modos de Transformador le permiten realizar varias tareas relacionadas con el filtrado de ciertos mensajes y cómo el Transformador en realidad genera sus datos.

Un buen ejemplo es el modo Condicionador (verdadero> cable superior). Esto envía el mensaje transformado a través del cable de salida superior y cualquier mensaje MIDI que no cumpla con las Condiciones especificadas (es decir, el Control No 1) se pasa por los cables inferiores. Esto es muy útil cuando desea redirigir solo los datos transformados a un destino diferente. Abajo puede ver que los mensajes de Nota (que no cumplen con la Condición) se pasan por el cable inferior. El manual tiene todos los detalles de los modos, así que échales un vistazo..

Hay algunos casos en que los modos son la única forma de resolver un problema. El screencast tiene un buen ejemplo de esto usando el modo de división alternante para separar los mensajes Note On y Note Off.


Mapas

El Mapa está disponible tanto en Condiciones como en Operaciones, aunque solo puede usar un Mapa en un momento dado. Piense en ello como un gráfico XY.

Básicamente, le permite asignar cualquier número entre 0 - 127 a lo largo del eje X a un valor diferente usando el eje Y. Esto se hace usando el mouse para dibujar el nuevo valor o usando los cuadros de entrada en la parte inferior.

Hay muchas aplicaciones para el mapa como crear curvas de velocidad y números aleatorios. En la lista desplegable Operaciones, hay varias operaciones que usan el mapa como base pero usan parámetros para modificarlo. Estos incluyen Random, Crescendo y Reverse. Solo la opción llamada 'Usar mapa' le permite ingresar su propio mapa personalizado.

Abajo puede ver presionando el botón 'Inicializar' los valores a lo largo de la parte inferior (eje X) son los mismos que los valores en el eje Y.

Al presionar el botón 'Reverse' en la parte inferior, los valores a lo largo de la parte inferior ahora se invierten. Lo que era 0-127 ahora es 127-0.

Este es un ejemplo muy simple y es posible crear mapas muy complejos y específicos si lo desea. Una cosa a tener en cuenta es que dibujar en el mapa puede ser muy tedioso debido a su tamaño, por lo que se requiere paciencia!


Uso de objetos de monitor

Los objetos del monitor le permiten ver la información que pasa a través de un cable. Estos son esenciales para solucionar problemas de MIDI. Los datos se representan en cuatro columnas al igual que la estructura del transformador. Solo insértelos entre objetos para realizar un seguimiento de sus mensajes MIDI.


Recursos MIDI

Si desea obtener más información sobre MIDI, hay muchos recursos disponibles. Aquí hay algunos buenos puntos de partida..

  • Una lista de asignaciones de número de controlador
  • Números de notas MIDI
  • MIDI en Wikipedia
  • Asociación de fabricantes MIDI

Conclusión

Después de leer esto, debes tener una idea bastante clara de cómo funciona el Transformer y quizás hayas aprendido una o dos cosas sobre MIDI. Como todas las cosas, cuanto más practiques y experimentes, mejor podrás utilizar el Transformer. ¡Por supuesto que la clave está en idear algunos usos inteligentes para ello! El manual es un buen lugar para comenzar a entender cosas como los Modos y las Declaraciones Condicionales. La próxima vez vamos a ponerlo todo junto y construir algunas cosas relacionadas con el rendimiento en el Medio Ambiente. Espero que esto haya sido útil, y nos vemos la próxima vez..

Descarga el Play Pack para este tutorial (27KB)

Contenido

  • Archivos Logic Pro Source