Se connecter
Se connecter

ou
Créer un compte

ou
Agrandir
Ajouter ce produit à
  • Mon ancien matos
  • Mon matos actuel
  • Mon futur matos
Cycling'74 Max For Live
Photos
1/59
Cycling'74 Max For Live

Environnement de développement audio de la marque Cycling'74

Prix public : 249 € TTC

Sujet Max For Live : Par où commencer ?

  • 15 réponses
  • 8 participants
  • 14 611 vues
  • 11 followers
1 Max For Live : Par où commencer ?
Hello Max users,
J'ai acheté récemment live 8.2.2 avec Max For Live, et j'aimerais apprendre à me servir de M4L pour créer des patchs simples.
Ici et là (sur le site de cycling, ou sur le site de Max4live), je ne vois que des tutoriaux vraiment abscons et relativement complexes sur la création d'instruments, de patchs bizarroides, mais rien d'expliqué clairement en français.

Auriez-vous des liens en français (ou alors des vidéos faciles) à me faire partager pour débuter ?

Par la même occasion, existe-t-il un livre en Français sur Max ?
Merci !
E'
2
Salut,

Je te conseille les cours de l'Université de Montréal qui sont très bien pour débuter.

http://cours.musique.umontreal.ca/MUS2321/

Autrement les tutoriels sur le site de cycling sont incontournables et très bien faits !

http://www.cycling74.com/docs/max5/tutorials/max-tut/maxindex.html

http://www.cycling74.com/docs/max5/tutorials/msp-tut/mspindex.html

Les débuts sont un peu difficiles mais ensuite c'est vraiment l'éclate ! J'ai franchi le pas également il y peu et depuis c'est devenu un outil indispensable. Il faut passer du temps sur les patch help de chaque objet (clic+alt), éplucher la doc de référence. C'est en décortiquant et analysant les patchs des autres que l'on progresse. Le bon côté c'est que la communauté est grande et tu trouveras facilement de l'aide sur le forum de cycling.

Bon courage..
3
Salut Veedjee,

Merci pour tes liens, ils sont supers !
Pour le moment, j'ai suivi les 4 premiers tutoriaux présents dans l'aide en ligne de MaxForLive (rubrique Help), c'est très bien fait, mais il faut décrypter les termes anglais en même temps que comprendre la définition des premiers éléments présentés (message, objets et comments).
C'est vrai qu'au départ ça semble un peu "exotique" la programmation sur M4L, mais comme toute chose, il faut acquérir les bases pour vraiment apprécier la puissance de l'outil.

Enfin, cela me passionne pour le moment :-)
Est-ce qu'on peut rester en contact par mail privé ?
Encore merci !
E'

4
5
Génial ce dernier lien troubadour95 :D: , super tuto, j'attend la suite avec impatiente.

[ Dernière édition du message le 16/12/2012 à 18:02:15 ]

6
Bon, et alors la suite... tu en est ou de tes tuto's ??? :(((
7
Bon, La suite.
attendant impatiemment la traduction des Tuto sur le site du Troubadour, lien ci-dessous :

www.sitedutroubadour.fr/tutoriel

ou vous pouvez trouver un condensé de la traduction des trois premier chapitres des Tuto du site de Cycling74, adresse ci-dessous :

www.cycling74.com/docs/max5/tutorials/max-tut/maxindex.html

Je me suis mis à traduire le chapitre 5 (le 4 peut-être pour plus tard) avec l'aide de Google traduction, et du coup en réarrangent les phrases, j'en ai fait une traduction que vous trouverez ci-dessous. C'est du vite fait, et surement pleines de fautes d’orthographes et de mauvaises tournures de phrases. Ceci dit si vous voulez noter des modif à apporter à ce Tuto n'hésiter pas, je n'ais pas la science infuse et surtout pas en langue anglo-saxonne : Le but étant que vous compreniez l'essentiel de ce Tuto, voici :

_____________________________________________________________________________
Tutoriel 5: Ordre des messages et débogage

Ouvrez le tutorial : 05mMessageOrdering
:fleche:
Présentation

Ce tutoriel se concentre sur l’ordre des messages - l'ordre dans lequel les messages sont transmis d'objet à objet et comment les objets les génèrent. Nous allons également utiliser certains des outils de débogage de Max pour déterminer de quelle façon le patch s’exécute.

Les patches de Max semblent souvent s’exécutés au même moment, en vérité, les messages sont produits et mis en œuvre dans un ordre précis. Afin de comprendre dans quel ordre les patches doivent être correctement placés, nous devons assimiler l'ordre dans lequel les choses vont se produire, et comment contrôler les actions des matrices complexes.

De droite à gauche, de bas en haut

Jetez un œil au patche du tutoriel. Ce fichier contient un certain nombre de petits exemples que nous allons utiliser pour connaître les règles de direction que suivent les messages.

Cliquez sur le plus haut bouton dans le premier patche en haut à gauche, il semble que les trois objets boutons connectés font feu simultanément. Il s'agit d'une illusion : les messages sont envoyés vers le bas des câbles de raccordement dans un ordre séquentiel.

La meilleure façon de voir tout ceci en action, est d'utiliser certains des outils de débogage de Max.

Vous remarquerez, avec le débogage, que la rangée supérieure des correctifs dans le tutoriel a de petits cercles rouges avec des chiffres qui recouvrent les cordons. Ceux-ci sont appelés points de contrôle (en particulier - breakpoint watchpoints). Lorsque nous allons déboguer notre patche, nous pourrons utiliser ces points de contrôle pour arrêter l'exécution du patch à un moment précis et prendre le temps de l’analyser. Cela se fait en activant le débogueur (fenêtre « DEBUG »).

Sélectionnez l'option, « ENABLE DEBUGGING » dans le menu Debug. Une fois que le débogage est activé, ces points de contrôle nous aideront à voir la façon dont les messages circule dans notre patche.

Cliquez sur le premier bouton dans le patche de gauche. Au lieu du "flash" immédiat de tous les objets « BUTTON », le Patchcord de droite commence à clignoter en vert. En outre, une fenêtre s'ouvre appelé « DEBUG WINDOW ». En observant la fenêtre, vous pouvez remarquez le genre d'informations qu'il nous donne. La fenêtre nous indique qu'un message « BANG » a été intercepté par un « WatchPoint » (Wp), d'ailleurs il nous dit quel « Watchpoint » a été déclenchée (ici, WatchPoint n° 1), le nom du patche et quelle classe d'objet envoie et réceptionne (dans cet exemple, les deux classes d’objets sont des « BUTTON »).

Sélectionnez la prochaine étape à partir du menu « DEBUG WINDOW » : bouton suivant à droite du bouton pause (ou appuyez sur Maj + Ctrl + T). Vous verrez que le cordon du milieu clignote à son tour, déclenché la nouvelle étape et vous verrez que le cordon le plus à gauche clignote en suivant. Envoyez la prochaine étape pour mettre fin au débogage.

Lorsque la sortie d'un objet est reliée à plus d’une d'entrée, les messages sont envoyés en ordre de droite à gauche.
Mais qu'advient-il lorsque les objets récepteurs sont empilés verticalement (et donc à la même position horizontale ?)

Avec le débogage encore activée, cliquez sur le premier bouton du patche du milieu de la rangée du haut. Faites défilez les étapes à partir du menu « DEBUG WINDOW » . Lorsque nous observons le patche, nous voyons que le bouton le plus bas reçoit le message en premier, suivi par celui du milieu, puis celui du haut. Ainsi, nous pouvons voir que Max a deux niveaux de commandes : de droite à gauche, puis de bas en haut.

Mais il existe encore une règle dans la façon que transitent les messages
Le troisième exemple illustre ce sujet. Cliquez sur le bouton le plus haut du troisième exemple, et faite défiler les étapes comme auparavant pour observer l'ordre du déplacement des messages. En observant le trajet du message à travers la matrice d’objets, nous comprenons qu’il voyage à travers toute la profondeur d'une chaîne d’objet avant de passer à la « branche d’objet » voisine.

Notez que la fenêtre de débogage, vous montre la longueur de chaque chaîne de message dans une branche, elle ne s'efface quand une branche a été achevée.

Par conséquent, les règles de l’ordre de parcours des messages dans Max sont :

1. De droite à gauche, puis de bas en haut.
2. Parcours en profondeur d'objets connectés.


Notez que, pour déterminer l’ordre dans lequel circule les messages, de droite à gauche ou de bas en haut, c'est la position de l'objet connecté, pas l'emplacement des cordons de brassage, qui détermine l'itinéraire des messages.

A titre d'exercice, vous pouvez créer une nouvelle matrice d’objets et de boutons, en utilisant des positions à la fois verticales et horizontales des objets boutons (peut-être en utilisant l'option « ALIGN » dans le menu « ARRANGE »), et en utilisant de multiples profondeurs d'objets.

Utilisez les boîtes de commentaires pour numéroter les cases dans l'ordre que vous pensez qu'elles s’enchaineront, puis reliez votre patche. Continuez jusqu'à ce que l’ordre des messages de commandes devienne une seconde nature !

Sélectionnez « ENABLE DEBUGGING » dans le menu « DEBUG », et regardons les autres patches dans ce tutoriel.

Plusieurs messages de commande

Parfois, l'ordre spatial du patche ne correspond pas avec le résultat souhaité. Dans la rangée du milieu des patches de notre tutoriel, celui le plus à gauche semble bien structuré : il est proprement aménagé, et dispose des boîtes de messages numérotés dans l'ordre croissant de gauche à droite. Si nous voulions que les messages aille d’une valeur faible à élevé, il est également faux, quand on clique sur le bouton du haut, on voit les chiffres sortis dans l'ordre inverse dans la fenêtre Max. C'est parce que les boîtes de message reçoivent des messages bang en ordre de droite à gauche.

Le prochain patch montre une version corrigée de cet exercice, en utilisant un nouvel objet : « BANGBANG » (à ne pas confondre avec GangBang… mais là n’est pas le sujet, hum !). Cet objet récupère un message entrant et génère des messages bang à ses sorties, dans l'ordre de droite à gauche. Le nombre de points est déterminé par l'argument de BANGBANG (dans ce cas, l'argument 3 produit trois points de sorties). Les sorties sont reliées aux boîtes de message dans l'ordre approprié, quand on clique sur le bouton du haut, la fenêtre Max affiche les messages dans l'ordre choisi.

Notez que les sorties des « BANGBANG » apparaissent de droite à gauche, imitant le message de commande du patche lui-même. La plupart des objets avec de multiples sortis suivront cette règle de direction : la sortie la plus à droite vers la sortie la plus à gauche.

Utilisez l'objet « BANGBANG » oblige les messages à prendre une route bien spécifique indépendamment de l'orientation spatiale des objets, et nous permet de les placer n'importe où, ou nous voulons dans le patch, sachant qu'ils seront déclenchés dans un ordre déterminé, basé sur les points des objets de déclenchements.

Voici un autre message qui donne un ordre explicite, c’est l'objet « TRIGGER ». L'objet « TRIGGER » accepte les entrées et les sorties des messages en fonction de ses arguments. Les arguments à déterminer pour les sorties, sont les options :

L (pour la liste)
b (pour Bang)
i (pour integer)
s (pour le symbole - message texte)
f (pour nombre à virgule flottante).

Vous pouvez également utiliser des entiers spécifiques, nombres à virgule flottante ou des symboles comme sorties constantes.

Le prochain patche contient deux boîtes de message avec l'entier 90. Si on clique sur celui qui est relié directement aux objets « PRINT », la fenêtre Max affiche les messages de droite à gauche. Cependant, si l'on clique sur la boîte de message relié à l'objet « TRIGGER », nous voyons que nous pouvons contrôler l’ordre des sorties de gauche à droite (inversée). Les messages envoyés sont toutes afficher comme l'entier 90, car nos arguments en faveur de déclenchement sont de type i (entier).

Le Prochain patch d’exemple encore à droite utilise également un nombree entier entrant (90), qui est relié à un objet « TRIGGER » (l'abréviation de l'objet: "t" = TRIGGER). Toutefois, dans ce cas, trois arguments différents sont utilisés.

Lorsque l'on clique sur la boîte de message, nous voyons que le résultat des trois sorties sont toutes différentes, en fonction des différents arguments. La sortie la plus à droite, avec un argument de type i (entier), produit un nombre, 90, qui reste inchangée. La sortie du milieu, de type f (pour virgule flottante), transforme le message entrant en son équivalent virgule flottante (90,000000) et l'envoie à l'objet « PRINT ». Enfin, la sortie la plus à gauche, de type b (Bang), prend le message entrant et le transforme en un « BANG ». Donc, en plus de rendre l’ordre des messages explicites, l'objet « TRIGGER » peut faire une conversion de type de messages.
L’exemple du patche le plus à droite montre l'utilisation de valeurs constantes au sein de l'objet « TRIGGER ».

Lorsque nous changeons la valeur de la « boîte de nombre à virgule flottante », « FLONUM » pour n'importe quel autre nombre, l'objet « TRIGGER » convertit à nouveau le numéro entrant, mais y ajoute également un certain nombre de symboles (messages texte) qui sont utilisés comme valeurs constantes. Nous remarquons aussi que le message entrant ne modifie pas le message Bang qui sort - un bang reste un bang, indépendamment du type de message entrant.

Maintenant serait un bon moment pour construire encore plus de boutons matrices, mais en les combinant avec la gâchette et objets Bangbang, et de les étiqueter avec leur ordre de message attendu.

Le problème des boucles

Le patch finale de notre tutoriel est composé d’un ensemble de quatre objets « BUTTON », tous interconnectés dans une boucle. Lorsque l'on clique sur l'un des objets « BUTTON », le système s'arrête avec une erreur « STACK OVERFLOW ». Pourquoi ?

Rappelez-vous que Max hiérarchise les messages en commençant par le plus bas. Cependant, une construction de patch avec une boucle a une profondeur infinie, et donc ne peut pas être correctement analysé. Un bouton envoie à l'autre, qui envoie encore à l'autre, qui envoie de nouveau à l'autre, qui envoie à la première, ce qui déclenche un eternel recommencement.

Cliquez sur la croix de la boite de dialogue d’erreur pour la fermer. Quand un « STACK OVERFLOW » se produit, Max arrête le patche pour empêcher toute autre chose de se produire. Une fois que nous avons trouvé le problème et corrigées l’erreur dans notre patch (par exemple en débranchant un des objets « BUTTON » dans la boucle), nous pouvons relancer le patche à nouveau en cliquant sur « RESUME » dans le menu « EDIT ».

Conclusion

Une connaissance approfondie des règles de l’ordre des messages est nécessaire pour créer des patches fonctionnels. La règle de profondeur : bas vers haut et de direction : droite vers gauche, est la règle implicite de la circulation des messages, mais vous pouvez utiliser des objets comme « BANGBANG » et « TRIGGER » pour réorienter ces messages.

Cependant, vous devez faire attention aux boucles structurelles – Parce que ce sont des tueurs de Patches !



8

Bonjour, 

Merci pour ta traduction. Je vais regarder ça. 

Sinon, je mets en lien ce que j'avais fait en tuto de base pour ma rubrique Ressources dans Audiokeys :

http://www.deb8076.eu/M4LTutoAudio/index.html

Ce sont des explications "pas à pas" pour commencer à faire un premier patch audio avec un oscillateur "cycle". De la construction, à la présentation pour l'afficher dans Max for Live. Il y a aussi deux vidéos :

9
Excellent tes tuto's elecdroide, ils m'avaient échappés sur le net ;)

Vous qui lisaient ce post, si vous connaissait des adresses de tuto's en français pour M4L... Lâcher vous :-p
10

Citation de : Summers

Excellent tes tuto's elecdroide, ils m'avaient échappés sur le net ;)

Vous qui lisaient ce post, si vous connaissait des adresses de tuto's en français pour M4L... Lâcher vous :-p

Et bien merci. J'avais l'impression en faisant mon tuto en français, pas à pas avec des copies d'écran et des vidéos de pouvoir apporter quelque chose, il semble que cela soit raté.

[ Dernière édition du message le 28/06/2013 à 11:50:08 ]