Documente Academic
Documente Profesional
Documente Cultură
1. Descargue e instale Max 7. Puede encontrar las últimas versiones (en 32 y 64 bits) en el sitio
web de Cycling74 https://cycling74.com/downloads:
Probablemente esta ventana le resulte familiar si ha utilizado software musical anteriormente (p.
bleton Live). A continuación algunas recomendaciones para la configuración de sus
ej. Pro Tools, A
preferencias:
- Los parámetros "Signal Vector Size" y "I/O Vector Size" son ambos expresiones del tamaño del
búfer. Entre más grande sea el tamaño del búfer, más eficiente será la máquina (y el DSP), pero
se pagará un alto precio en latencia. Es importante tener en cuenta también que Max For Live (así
como Pd) trabajan con un tamaño de vector de señal fijo a 64 samples (compatibilidad). Más
información disponible aquí y aquí.
- La ventana "Audio Status" incluye también visualización de la CPU así como la posibilidad de
activar y desactivar DSP. Otra forma de monitorear el uso de la CPU se encuentra seleccionando el
ítem "Show CPU Usage" dentro del menú "View". Este video demuestra cómo hacerlo: link.
3. Haga una prueba de sonido. Seleccione el ítem "Audiotester" dentro del menú "Extras":
En la mitad inferior de la ventana (lado izquierdo) hay un menú emergente debajo de la palabra
"Source" que contiene la palabra "Off". Utilice este menú para seleccionar los ítems "Oscillator" y/o
"Pink noise" siempre que desee comprobar su sistema de monitoreo o refuerzo sonoro.
1
4. Cree un nuevo patch. En Max, un documento se denomina "patch". Este representa el área en
la que creamos, modificamos y reproducimos un "programa" particular, alternando entre los
modos "locked" (edición) y "unlocked" (ejecución). Cree un nuevo patch utilizando el comando de
teclado "apple + n":
5. Cree algunos objetos. Dentro de un patch es posible interconectar objetos y configurar redes
para lograr una funcionalidad deseada, como por ejemplo, la de un sintetizador. Los objetos
generalmente toman algo, realizan una función particular de acuerdo a ese "algo" y entregan un
resultado. Un programa se ejecuta de acuerdo a sus objetos y a cómo sus objetos funcionan en
conjunto dentro de un patch.
Cree un nuevo objeto presionando "n" en un patch desbloqueado, seguido del nombre del objeto.
Las entradas (siempre arriba) reciben información y las salidas (siempre hacia abajo) envían
información. En este ejemplo, el objeto [+] recibe dos números enteros en sus entradas (arriba) y
devuelve la suma (otro número entero) a la salida (abajo):
Vemos también en este ejemplo cómo el flujo de datos que recibe el objeto por su entrada derecha
no genera un nuevo resultado a la salida del mismo. Por esto usualmente se denomina "cold inlet"
a la entrada derecha (pues no genera un nuevo resultado) y "hot inlet" a la izquierda. Como lo
muestra el video, los datos pueden ser "sincronizados" utilizando el objeto [pak], el cual permite
computar un nuevo resultado cada vez que se modifique cualquiera de los elementos en la
operación.
Para saber más acerca de cualquier objeto en Max, haga clic derecho sobre el objeto y seleccione
la ayuda ("Open Help") y/o referencia ("Open Reference"):
2
por ejemplo, los tipos de argumentos y tipos de mensajes para los que dicho objeto está
habilitado.
En el siguiente ejemplo vemos cuál es por defecto la ordenación de los mensajes en Max
("message ordering"). Si bien a menudo parece que todo está sucediendo de manera simultánea,
en realidad los mensajes se producen y actúan en un orden específico, los mensajes suceden
siempre, por defecto, de derecha a izquierda y desde abajo hacia arriba:
Vemos también en el video anterior cómo por medio del objeto [t] ("trigger"), podemos establecer
una ordenación particular de los mensajes que reemplaza la ordenación por defecto.
En Max existen varias familias de objetos. Objetos como [+] pueden entenderse como objetos de
control que operan datos, como por ejemplo, números enteros y decimales, en donde el flujo de
datos ("data rate") puede ser determinado por el usuario. En contraste, los objetos de la familia
MSP permiten procesamiento de audio (DSP) y por ende, el flujo de sus operaciones sucede de
acuerdo a la frecuencia de muestreo (p. ej. 44.1 Hz) ("sample rate"). Dichos objetos incluyen
siempre el carácter "~" al final de su nombre, lo que los diferencia de los objetos que trabajan sólo
con datos como números enteros y decimales. En el siguiente ejemplo, utilizamos el objeto cycle~,
un oscilador sinusoidal que recibe un valor decimal en su entrada izquierda y devuelve una señal
de audio sinusoidal a la frecuencia especificada por el valor recibido. Adicionalmente, utilizamos
objetos nativos de Max para controlar la amplitud de la señal (multiplicando la salida del oscilador
por una amplitud determinada) y pasar la salida de audio de Max a la interfaz y altavoces
(utilizando dac~, siglas en inglés para "convertidor digital a analógico"):
La información que viene después del nombre de un objeto se denomina "argumento", y se utiliza
para configurar el comportamiento del mismo. Observe que, en el ejemplo anterior, la amplitud de
la sinusoidal está definida por el argumento del objeto [*] (en este caso, 0.5, lo que significa, la
mitad de la máxima amplitud). También es posible utilizar argumentos para inicializar el oscilador
a una frecuencia especificada:
Del ejemplo anterior resulta evidente que controlar la amplitud usando una caja numérica cortará
la salida de Max ("clip"). Esto sucede, en parte, por utilizar valores discretos en una operación de
audio. Para un control adecuado de la amplitud de una señal de audio es necesario siempre utilizar
rampas entre los valores discretos, utilizando el objeto line~, en conjunto con el objeto [pak],
como lo muestra el video a continuación:
Es importante notar la diferencia entre el flujo de datos (cables grises) y el flujo de señal de audio
(cables verdes) con el fin de configurar correctamente nuestros programas. Intente reproducir los
ejemplos anteriores y observe la ayuda y referencia de los objetos mencionados. Si tiene
problemas en el camino, este video de Joel Rich en youtube le puede ser útil.
6. Cree algunos objetos GUI. "GUI" viene de las siglas en inglés "Interfaz Gráfica de Usuario"
("Graphical User Interface"). Los objetos GUI permiten la interacción del usuario con el programa
de múltiples maneras, bien sea para generar eventos, modificar parámetros o monitorear lo que
está sucediendo. A nuestro ejemplo anterior podemos agregar objetos de esta índole tal y como
scope~ (que permite visualizar la señal de audio), live.gain~ (que controla la amplitud y
3
reemplaza al objeto *~) y ezdac~ (que funciona igual que dac~, pero incluye además una forma
de activar y desactivar DSP dentro del patch):
Una característica particular de Max es su modo presentación ("Presentation Mode"). Este modo le
permite al usuario configurar un ordenamiento particular de los objetos en la ventana del patch,
destinado exclusivamente para la ejecución del programa. En modo presentación el usuario debe
definir la visibilidad de los objetos uno a uno (según considere), haciendo clic con el botón derecho
sobre un objeto, seleccionando "Inspector Window", y activando la casilla "Open In Presentation":
Probablemente en este punto sea necesario registrar Max en internet con el fin de poder modificar
y salvar nuevos patches. El siguiente video muestra cómo hacerlo (se requiere de una cuenta de
correo):
Para aprender más sobre abstracciones en Max puede consultar el tutorial de Kojiro Umezaki aquí.
También, es posible agregar asistencia a las entradas y salidas de sus abstracciones, tal y como lo
demuestra este video.
8. Grabe un poco de audio. La forma más sencilla de grabar la salida de audio de Max en el
disco duro es utilizando "Quickrecord". Para ello, seleccione el elemento "Quickrecord" dentro del
menú "Extras". En la nueva ventana que aparece, utilice el botón "Choose a directory" para
seleccionar un destino para los archivos de audio y luego utilice el botón "Record" para iniciar la
grabación:
Acerca de Rewire: Otra forma de grabar su salida de audio es utilizando la tecnología Rewire. Esta
permite enviar y recibir audio entre Max y estaciones de trabajo digital (DAW) tal y como Cubase,
Reason y Pro Tools, en donde usted puede mezclar, editar y procesar posteriormente la salida de
audio de sus patches. Más información acerca de Rewire aquí y aquí.
9. Configure una ubicación para sus librerías y objetos externos. Como se puede ver en
ejemplos anteriores, Max es un entorno modular en el que el usuario construye programas
complejos mediante la combinación de muchos módulos más pequeños (como por ejemplo,
objetos, abstracciones). Los objetos desarrollados por programadores por fuera de Cycling74 son
normalmente denominados "externals" (como por ejemplo, los objetos fiddle~ y bonk~, los cuales
el usuario debe encontrar en la internet y comprobar que sean compatibles con su computadora).
Una "librería" o "colección" contiene muchos objetos creados por desarrolladores alrededor del
4
mundo; después de instalar una librería correctamente, es posible importar dichos objetos en
nuevos patches.
Para importar objetos externos es necesario primero definir un directorio en donde colocarlos
(como por ejemplo, la carpeta Documentos, o en donde residen los archivos de sus proyectos
musicales o de programación). A manera de ejemplo, el siguiente video muestra cómo instalar la
librería "Real Time Composition" (RTC) (Composición en Tiempo Real) de Karlheinz Essl, la cual se
debe descargar y descomprimir manualmente. Después de crear una locación para las librerías y
los objetos externos, seleccione el ítem "File Preferences" dentro del menú de Opciones
("Options") para abrir esta ventana:
Haga clic en el '+' que aparece en la esquina inferior izquierda de la ventana para generar una
nueva entrada en la lista. Posteriormente, haga clic en el botón "Choose" que se encuentra en la
columna "Path" para la nueva entrada. Aparecerá una ventana en la que podrá seleccionar la
carpeta que creó anteriormente para guardar guardar librerías y objetos externos:
Ahora que tenemos la librería RTC instalada podemos utilizar sus objetos. La librería RTC es muy
amplia y existe desde 1992; en el siguiente ejemplo introducimos una pequeña muestra de
comportamiento aleatorio utilizando el objeto externo [between]:
Acerca de "Package Manager": A partir de la versión 7.1 Max proporciona un gestor de paquetes
("Package Manager") que instalará y localizará las librerías y objetos externos de manera
automática por usted (sin embargo, dicho gestor solo funciona con librerías disponibles a través
del gestor mismo y no en otros sitios web). Dichas librerías se denominan paquetes, y se
encuentran en el directorio "Max 7/Packages"; es recomendable administrar los paquetes
únicamente desde su gestor y no cambiar el nombre del directorio mencionado. Más información
sobre el gestor de paquetes aquí y aquí.
Creación de sus propios objetos: De forma similar a la encapsulación, Max permite al usuario crear
sus propios objetos en el disco duro e incluirlos posteriormente en nuevos patches. Para ello es
necesario que ambos archivos de Max (el objeto y el nuevo patch en el que será utilizado)
compartan el mismo directorio (es decir, se ubiquen en la misma carpeta).
¿Cuál es la diferencia entre los objetos creados por el usuario y los objetos nativos de Max? En
esencia, los objetos nativos pueden llamar funciones que están codificadas en archivos de texto
que viven en el directorio Application/Max7. Estos objetos ejecutan código de bajo nivel ("low-level
code"), el cual no necesitamos ver o entender a profundidad, siempre y cuando esté claro qué
información se recibe, y qué hará el objeto con dicha información (Blum 2007, p.20).
Tenga en cuenta también que, además de objetos, es posible incluir Plug-ins de audio y
dispositivos Max For Live en sus patches (aquí).
5
10. Explore la web. Un muy buen lugar para empezar es la documentación web de Cycling74
para Max 7 (aquí). Youtube también puede ser una fuente de investigación y aprendizaje:
En general, existe mucha información para programar Max en la web. Investigando a través de
sitios web como el foro de Cycling74 casi siempre le ahorrará tiempo. El sitio web de Christopher
Dobrian es también muy completo y vale la pena echarle un vistazo.
No olvide que a través de este link, usted puede consultar la bibliografía de este curso en la web,
utilizando palabras clave y etiquetas en su búsqueda. Idealmente, esto le ahorrará tiempo y
esfuerzo para encontrar información acerca de técnicas de procesamiento de señal, preguntas de
programación u objetos particulares en Max. Existe también una base de datos de objetos en Max
disponible en http://maxobjects.com/
Acerca de la licencia de Max: La primera vez que usted instale Max en su computadora, el
programa funcionará en modo "demo" (una versión completa del software sin restricciones)
durante los siguientes treinta días; posterior a esto debe adquirirse una licencia. Más info aquí.
Referencias:
Cipriani, Alessandro, and Maurizio Giri. Electronic Music and Sound Design: Theory and Practice with Max and MSP, Vol.
1. Rome: ConTempoNet 2014, 2014.
Blum, Frank. Digital Interactive Installations: Programming Interactive Installations Using the Software Package
Max/MSP/Jitter. Saarbrücken: VDM, 2007.