You are on page 1of 6

Guía rápida para comenzar a programar en Max 7

Para comenzar a programar Max siga las siguientes instrucciones:

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​:

Video 1 (Download and Install Max 1)

Ejecute el instalador y siga las instrucciones:

Video 2 (Download and Install Max 2)

2. Configure su interfaz de audio. Para seleccionar su interfaz y configurar sus preferencias de


audio seleccione el ítem "Audio Status" dentro del menú de Opciones ("Options"):

Video 3 (Configure your audio interface)

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:

- La mayoría de veces es recomendable trabajar a 44,1 KHz.

- 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 dos casillas de verificación denominadas "Scheduler In


Overdrive" y "Audio Interrupt". Dichas casillas le permiten al usuario definir los niveles de prioridad
establecidos por Max en el manejo de eventos. Si se activa la casilla "Overdrive", Max utilizará dos
subprocesadores; siempre que se active también la casilla "Audio Interrupt", Max dará prioridad a
los eventos dentro del subproceso de audio, mejorando considerablemente el manejo del tiempo
de dichos eventos. Para ello, sin embargo, es recomendable mantener sus operaciones de control
dentro del subproceso de audio (DSP), pues de otra forma, se obtiene una sincronización
debilitada entre flujo de señal y flujo de datos. Más información ​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":

Video 4 (3 Make a sound test)

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":

Video 5 (4 Create a new patch)

El nombre del patch se encuentra en la barra superior de la ventana. De forma predeterminada,


aparece entre paréntesis la palabra "unlocked", lo que significa que podemos editar el programa.
Para ejecutarlo (p. ej. para controlar la frecuencia de un oscilador en tiempo real) es necesario
desbloquear el patch utilizando el comando "apple + e". También se puede desbloquear el patch
utilizando el candado ubicado al lado inferior izquierdo de la ventana, o haciendo clic en un espacio
vacío del patch con la tecla "apple" presionada.

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):

Video 6 (Create some objects 1)

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"):

La ayuda es en sí misma un patch en el que se presenta la funcionalidad del objeto; la referencia


contiene en cambio información en texto detallada acerca del comportamiento del objeto, como

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:

Video 7 (Create some objects 2)

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"):

Video 8 (5 Create some objects 3)

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:

Video 9 (5 Create some objects 4)

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:

Video 10 (5 Create some objects 5)

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):

Video 11 (6 Create some GUI objects 1)

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":

Video 12 (6 Create some GUI objects 2)

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):

Video 13 (6 Create some GUI objects 3)

7. Cree abstracciones ("sub-patches"). Una característica notable de los entornos de


programación visual es la capacidad de crear abstracciones (también llamadas "sub-patches"),
denominada "encapsulación". En el siguiente ejemplo, encapsulamos los objetos del patch anterior
en una nueva abstracción, utilizando el comando "apple + shif + e" con los objetos seleccionados.
Esto permite, por ejemplo, crear varias señales sinusoidales del mismo tipo rápidamente,
duplicando la nueva abstracción por medio del comando "apple + d":

Video 14 (7 Create abstractions)

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:

Video 15 (8 Record some audio)

Este breve video en ​youtube​ de Cycling74 también muestra cómo hacerlo.

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:

Video 16 (9 Set up a location 1)

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]:

Video 16 (9 Set up a location 2)

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:

● “​Delicious Max Tutorials” de Sam Tarakajian​.


● “​Did You Know?” de Cycling74​.
● “​Programming in Max For Live” de Cycling74​.

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.

"Practical starting guide to Max/MSP/Jitter".


https://cycling74.com/project/practical-starting-guide-to-maxmspjitter/#.WHcUbiMrL-k

You might also like