Vous êtes sur la page 1sur 10

MaxMSP introduction/apprentissage :

les messages, et quelques bases Tom Mays

intro
Quest-ce que cest? MaxMSP (or Max/MSP/Jitter) est un environnement graphique de programmation, audio, MIDI, et depuis quelques annes, limage en temps-rel. A la fin des annes 80 lIrcam, Miller Puckette a conu et a cr MAX (en hommage Max Mathews, pionnier de linformatique musicale) comme interface de contrle pour lancienne station audio temps rel de lIrcam, le 4X. Plus tard, MAX a t dvelopp tout seul comme environnement MIDI et repris par la socit Opcode, avec comme dveloppeur David Zicarelli. En 1997, Zicarelli a rajout MAX une librairie dobjets pour laudio quil appelait MSP (daprs Miller S. Puckette, ou bien Max Signal Processing), inspir par la station dinformatique musicale de lIrcam et par le travail de Puckette dans son nouvel environnement temps rel, Pd. Aujourdhui, Zicarelli continue dvelopper Max/MSP avec sa propre socit, Cycling74 (http://www.cycling74.com). Avec Max, on construit des patches (programmes, configurations, fonctions, etc) en reliant des objets entre eux qui ont chacun une ou plusieurs fonctions prcises. Cest tout

MaxMSP et la page blanche


ouvrir lappli

Lancer lappli MaxMSP :

La premire fentre qui apparat cest la Max Window. Cest une fentre vous aller avoir lhabitude de toujours garder visible, au moins une partie, parce que cest ici o les messages derreur et dautres informations vont safficher.

File Browser Faire New File Browser dans le menu File (ou commande B )

Nouveau dans la version 5, le File Browser permet de rechercher des lments par critre, et de glisser/dposer des lments qui peuvent tre gliss/dpos

le Patcher Aller dans le menu File et choisir New Patcher.

Un patcher est la page blanche de Max. Cest lespace o on patch les objets entre eux. Il y a un ensemble dobjets dit interface, puis il y a tous les autres objets qui sont crs lintrieur de la bote dobjet ( object box ). Le nouveau patcher souvre en mode edit (unlocked, ouvert). Pour passer en mode excution (ferm, ou locked), il faut faire commande-E ou commande-click dans un espace vide.

Tom Mays

MaxMSP introduction/apprentissage page 2 / 10

object palette Pour voir la palette dobjet, et en choisir un crer, il faut soit double-cliquer dans le patcher, soit taper p . Vous pouvez vous balader lintrieur avec les flches, et entre les catgories avec la touche tabulation . Aussi avec la souris, videmment. Dabord, aller sur la catgorie All ou Basic et choisir le sixime objet : number. Cliquer avec la souris ou taper retour . Number est un objet user interface pour afficher et envoyer des valeurs numriques entires (integer ou int). Pour le manipuler, il faut passer le patcher en mode excution (ferm, ou unlocked) avec commande E . On peux aussi manipuler un object user interface tout en gardant le patcher en mode Edit en cliquant sur lobjet pendant quon appuie sur commande .

les messages
On va crer quelques objets et ainsi explorer un concept absolument essentiel dans Max, les messages. Avec le number dj cre, rajouter un flonum (float number), un toggle, un button, un comment et un message (bote messages).

message comment

button

toggle

number

flonum

Tom Mays

MaxMSP introduction/apprentissage page 3 / 10

On peut dplacer les objets avec la souris, et afficher des informations sur leurs entres et sorties en plaant la souris directement sur les points noirs dentre/sortie (sans cliquer).

int Nombres entiers, positifs et ngatifs (number, toggle, int) float Nombres avec dcimal, positifs et ngatifs (flonum, float) symbol Une chane de caractres sans espaces, souvent dans une bote messages (message).Sil faut avoir des espaces dans une chane de caractres pour tre reconnu comme un seul symbol, il faut mettre le tout entre guillemet : chane de caractres avec espaces bang Un message pour dclencher des envoies ou des calculs dautres objets. Cest un message qui veut dire maintenant ! . (button) list Une srie des 4 types de messages prcdents spars par des espaces (cest pour a que les symbols ne peuvent pas contenir des espaces). Ils sont souvent dans des botes messages aussi, mais il y a plusieurs objets qui traitent les donnes en forme de liste.

lobjet object
Choisir le premier objet de la palette dobjet object (on peux aussi taper n sur le clavier pour crer un n ouvel objet).

Placer la souris sur le bord gauche de cet objet vide pour faire afficher un signe = . En cliquant dessus, vous ouvrez la liste des objets :
Tom Mays MaxMSP introduction/apprentissage page 4 / 10

Cliquer sur System->print, et un nouvel objet print apparat dans le patch avec le curseur qui clignote lintrieur.

Cliquer en dehors de lobjet ou taper sur la touche enter sur le clavier pour instancier lobjet (le charger dans le patch comme une instance de lobjet). Maintenant connecter les objets int number, float number, toggle, button et message au print en positionnant la souris sur la sortie dun objet

puis en cliquant, glissant, puis relchant sur lentre du print.

Une fois les objets connects, passer le patcher en mode ferm ( locked , mode excution ) en appuyant sur command-E sur le clavier, ou bien en appuyant sur la touche command puis cliquant la souris dans un espace blanc du patch.

Tom Mays

MaxMSP introduction/apprentissage page 5 / 10

Maintenant on peux cliquer sur les objets envoyer leurs contenus ou modifier leurs valeurs en glissant la souris (int et float) Ds quon clique sur un objet ou on modifie son contenu, les messages sortent et passent dans le print ce qui les fait apparatre dans la fentre Max

On voit bien la diffrence entre les types de messages, et que le toggle est tout simplement un int limit envoyer uniquement 0 et 1 , etc

les arguments des objets


Si on a plusieurs objets print dans un patch, on peux faciliter le reprage des indices en mettant un argument dans lobjet un message qui prcise des caractristiques dun objet, crit dans lobjet aprs le nom + un espace Prenez un nouvel objet espaces !) : print mais cette fois-ci rajouter espace puis un nom (sans

Maintenant quand on modifie une valeur envoye dans de print le nom de notre print prcde la valeur dans la fentre Max.

Le plupart des objets Max peuvent avoir des arguments. Leurs significations sont spcifiques chaque objet. On les verra petit petit.
Tom Mays MaxMSP introduction/apprentissage page 6 / 10

le message set et les variables dans les messages


Il y a un message spcial compris par beaucoup dobjets qui est set. Avec le message set on peux changer le contenu dun objet sans dclencher une sortie de sa valeur. Normalement, si un objet reoit une valeur dans son entre gauche, il va dclencher une sortie du rsultat de cette valeur. Pour un number a veux dire de repasser la valeur sa sortie.

Si on inclue une valeur aprs un message set dans une bote message, on peux faire placer une valeur sans quil y ait une sortie. Il faut cliquer sur le message en mode excution :

Et si on met un $1 dans un message, a fonction comme variable, tant remplac par une valeur qui rentre dans le message. Un button (bang) dans un objet fait sortir la valeur (ou calculer le rsultat, selon la nature de lobjet).

La valeur 19 se met dans le 2e number mais ne passe pas au 3e. En cliquant sur le bang du 2e, la valeur passe au 3e.

Les objets int et float


Pour les ints et les floats il y a aussi des objets int et float. prenez un nouvel objet et taper int out simplement i pour crer un objet int. Pareil pour un float en tapant float ou f . Par dfaut ces objets ont comme valeur interne 0 . Si on veux autre chose comme valeur de dpart il faut le taper comme un argument. Comme raccourci dans les deux cas, on peux aussi tout simplement taper la valeur sans le non de lobjet, et a cre un objet du mme type que la valeur :
Tom Mays MaxMSP introduction/apprentissage page 7 / 10

Si on fait rentrer une valeur par lentre gauche, la valeur dclenche la sortie de lobjet. Si on veux faire rentrer une valeur sans dclencher une sortie, il faut simplement passer la valeur dans lentre droite. Un bang ou une valeur gauche fait sortir la valeur.

Un objet typique : +
Prenez un nouvel objet, catgorie : Math, objet : + . Puis connecter trois nouveaux number, un dans chaque entre de + et un sa sortie.

Une fois en mode locked , mettez une valeur dans le number droite en premier. Le + ne fait pas de calcul. Mettez maintenant une valeur dans le number gauche. Le calcul du + est dclench.

Priorit droite / gauche


Les entres et les sorties des objets dans Max sont rgles par une priorit gnrale de DROITE / GAUCHE. Que a soit lordre par lequel il faut envoyer les messages dans un objet, ou lordre des sorties dun objets avec plusieurs sorties. a sapplique mme lordre des envoies des messages selon lemplacement des objets dans un patch. Un objet qui envoie deux autres objets envoie dabord lobjet droite puis lobjet gauche. Crez le patch suivant et regarder dans la fentre Max en bougeant le number en haut.

Tom Mays

MaxMSP introduction/apprentissage page 8 / 10

Si on dplace le number droite gauche du number gauche, lordre est invers.

Pour revenir lobjet + , si on veux changer la valeur gauche et dclencher un calcul, il faut rajouter un bang qui envoie gauche juste APRES chaque nouvelle valeur droite.

ATTENTION. Le bouton doit tre plac GAUCHE de lentre droite du + , sinon le bang sera envoy AVANT que la valeur narrive droite du + !

a donne donc des faux rsultats car lentre des valeurs est dcale. Ici, le 8 est additionn 2 qui est la valeur PRECEDENTE droite.

Lobjet trigger
Pour mieux matriser la question de la priorit, lobjet trigger permet de la prciser sans se soucier de la position des objets. Les arguments de trigger dfinissent le type de message. Ici i pour int. Si on change lemplacement, lordre reste inchang.

Tom Mays

MaxMSP introduction/apprentissage page 9 / 10

ANNEXE : Object Defaults On peux personnaliser les valeurs par dfauts (couleurs, comportements, etc) de beaucoup dobjets. Ce nest peut-tre pas essentiel au dbut, mais cest bon savoir. Aller dans le menu Options et choisir Object Defaults.

Tom Mays

MaxMSP introduction/apprentissage page 10 / 10