Débuts de bases de Max

III - Notions de programmation en Max / MSP

Patches Max basiques
Nouveaux patchs cycle~ générateur de son : cycle.zip

1 - Au secours

Pourquoi ?

Cf Chapitre I - 02.

Où trouver de l’aide ?

Dans Max même : Menu Help / Reference
La fenêtre qui s’ouvre propose des tutorials pour Max (bases du langage), MSP (composition sonore), Jitter (video).
Pour démarrer, lire les tutorials Max dans la section Basics est d’une grande aide : chacun est fourni avec une longue explication et un patch d’exemple (bouton vert en haut).

Lors de la programmation : chaque objet dispose d’une aide, accessible dans le clic droit, avec en général un petit exemple de fonctionnement.

2 - Espace de travail

Un programme = un patch = une fenêtre Max.

Zones

En haut : les éléments de programmation disponibles.
En bas à gauche : le verrou permet d’alterner entre Mode Exécution et Mode Edition.
En bas à droite : activer le calcul du son.
A droite : Accès à des fenêtres de configuration ou d’aide.
Au milieu : la zone de programmation, où poser des éléments et les relier entre eux.

Console Max

Garder la console Max ouverte et visible : fenêtre grise à rayure.
Elle est accessible dans le menu Window / Max Console ainsi qu’à droite de la zone de programmation, le petit carré rayé horizontalement.

Modes Edition / Exécution

Control + E

  • Edition : poser des objets, programmer.
  • Exécution : manipuler des éléments, cliquer.
  • Il n’y a néanmoins pas de compilation dans Max.

    Inspector

    Petit «i» à droite.
    Permet de configurer l’apparence des éléments et les valeurs possibles.

    3 - Objets / Messages / Nombres

    Tout peut se programmer avec ces trois éléments fondamentaux : objets, messages, nombres.
    D’autres éléments sont très utiles : toggle, bang ou button, slider, commentaire.

    Les entrées sont en haut, les sortie en bas. On connecte une sortie sur une entrée.

    Objets

    Objet = fonction = fait une action, un calcul, agit dans le code.
    Raccourci : n

  • Exemples : metro est un métronome émettant une impulstion à rythme régulier. + effectue une addition entre deux nombres.
  • Objet Max

    Message

    Message = paramètre affectant un objet
    Raccourci : m

  • Exemples : 1000 ou 2000 branchés sur un metro changent la durée entre les impulsions.
  • Messages Max MSP

    Afficheurs / Contrôleurs

    Nombre : entier ou float (nombre à virgule), affiche un nombre
    Raccourci : i ou f
    Attention à utiliser des f dans le cas d'opérations donnant des nombres à virgule.
    Nombres integer et float

    Toggle = Interrupteur On / Off
    Raccourci : t
    Toggle On/Off et Bang en Max

    Bang : impulsion, déclenchement
    Raccourci : b

    Slider : afficheur de niveau
    Raccourci : s
    Vue-mètre en Max

    Tous ces éléments ont un double rôle :

    • Permettre de manipuler le patch à la souris, en cliquant ou en faisant varier des niveaux.
    • Afficher le résultat d’un objet, sans intervention de l’utilisateur.

    Commentaires

    Raccourci : c

    Objets sonores

    Les objets liés au son finissent par le signe ~. Les ficelles transmettant du son sont à rayures jaunes et noires.

    Ficelles

    Relier une sortie sur une entrée d'un autre élément.

    Couder : sélectionner une ficelle, clic droit, align ou route.
    Déplacer : points vert et rouge pour relocaliser une extrémité de la ficelle sur une autre entrée/sortie.

    4 - Un peu de bruit

    Pulsation

    Objet metro, avec 1000 en argument : émet un signal, une impulsion, c'est-à-dire un bang ou trigger, toutes les 1000 ms = toutes les secondes.
    Mise en route et arrêt par Toggle
    Affichage du résultat sur un Bang : le rond central s'allume à chaque seconde.
    Patch Max basique

    Tonalité

    L'objet cycle~ émet un sinus à une fréquence qui peut lui être donnée soit en argument (cycle~440) soit en entrée par exemple avec la variation d'un slider.

    • Poser un objet cycle~ 440, attention à bien mettre une espace avant le paramètre de fréquence 440
    • Ajouter un contrôle de volume : objet *~, avec un volume entre 0 et 1.5
    • Brancher en dessous un objet dac~ pour les haut-parleurs
    • Activer l'audio en cliquant sur le bouton en bas à droite de la fenêtre.
    • Alternative : cliquer sur le message start connecté sur l'entrée gauche des haut-parleurs.

    Patch Max sonore

    Variation manuelle de la hauteur du son :
    • Connecter un slider sur l'entrée de gauche du cycle~ pour changer la fréquence du son.
    • Par défaut le slider a un range de 0 à 127, ce qui n'est pas vraiment audible. Il faut donc transformer ces valeurs pour obtenir un son à une fréquence supérieure à 100 Hz.
    • Insérer des objets mathématiques entre le slider et le cycle~ : multiplier d'abord les valeurs du slider par 10 puis ajouter 100. Objets multiplier : * et ajouter : +. Laisser une espace entre le nom d'objet et le paramètre.
      => Fréquences entre 100 et 1370 Hz.
    • Manipuler le slider à la souris.
    • S'il n'y a pas de son, ne pas oublier d'activer le son en bas à droite.

    Automatiser la variation de tonalité

    Le but de ces cours est de ne rien manipuler manuellement et de créer un dispositif automatique.
    Première étape : changer la fréquence du son aléatoirement toutes les secondes.

    • Utiliser l'objet metro (métronome)
    • S'en servir pour déclencher périodiquement un objet random qui sort un nombre aléatoire
    • Remplacer le slider par cette chaîne d'objets.
    • Activer le toggle en haut pour déclencher le metro.
    • Ecouter comme c'est beau.

    Patch Max sonore automatique

    Sirène automatique

    • Objet : line, fait une rampe de valeur
    • Paramétrer avec des messages contenant 2 nombres : une valeur à atteindre en une durée donnée.
    • Messages : valeur durée.
    • Metro et delay déclenchent alternativement les deux messages pour augmenter puis diminuer la fréquence.

    Patch Max variation de fréquence automatique

    Tout automatique

    Pour n'avoir rien à faire du tout... faire un démarrage automatique : la sirène se lance à l'ouverture du patch.

    • Objet loadbang : envoie un signal quand le patch s'ouvre
    • Brancher sur l'entrée du message start pour que l'audio soit activé sans devoir cliquer sur le bouton en bas à droite.
    • Brancher sur le toggle du metro pour activer la sirène.

    Sirène automatisée

    5 - Les couleurs

    Max permet de créer des interfaces pour interagir avec / contrôler le programme, par exemple avec le mode Présentation. Plus basiquement, chaque élément peut être configuré visuellement en taille et couleurs, ce qui permet de créer visuellement des zones faciles à repérer.
    Par exemple, tout ce qui concerne les actions peut être en vert, la décision en jaune, les capteurs en rose, les démarrages automatiques en bleu... Et un patch complexe devient très lisible. Il est aussi possible de modifier la couleur des ficelles, pour bien voir où elles vont.

    L'inspector

    Pastille ronde (i) à droite du patch :
    Panneau Inspector
    Permet de modifier individuellement les caractéristiques de chaque élément : toutes les couleurs, polices, talle du texte, etc.

    Avantages :

    • Chaque élément peut être distinct des autres.
    • Plusieurs éléments équivalents (que des objets, ou que des sliders, ou que des bangs...) peuvent être modifier ensemble d'un seul coup.
    • Chaque couleur peut être mémorisée.

    Inconvénients :

    • Ne permet pas d'enregistrer un ensemble de réglages
    • Ne permet pas de traiter des éléments différents ensemble
    • Il faut tout refaire pour chaque élément...

    Les ficelles

    Sélectionner une ficelle en cliquant dessus, ou plusieurs ficelles en cliquant en tenant la touche Maj.
    Clic droit / Color

    Enregistrer un style : panneau Format

    Quelques liens utiles

    https://docs.cycling74.com/max7/vignettes/max_colors
    https://docs.cycling74.com/max7/vignettes/format_palette_patcher_level
    https://docs.cycling74.com/max7/vignettes/styles

    Panneau Format

    C'est le petit pot de peinture dans la barre d'icônes en haut sous les menus.

    Style de couleurs

    Si un élément est sélectionné

    C'est comme l'inspector, il y a accès à tous les réglages d'apparence.
    Avantage : l'ensemble de couleurs défini pour cet élément est enregistrable gâce au menu déroulant à gauche :
    no style / flèche / Define new style

    Réglages généraux d'apparence du patch

    C'est là que cela devient intéressant.
    Quand rien n'est sélectionné, clic sur le petit (p) dans un lozange à gauche.
    Tous les réglages de couleurs et polices de tous les éléments sont accessibles d'un coup dans la barre, ce qui permet de définir un style cohérent avec des couleurs communes pour tous les éléments, MêME LES FICELLES (cône Patchline color) ou le fond du patch.

    Enregistrer avec le menu déroulant de gauche, Define new style.
    Pour enregistrer des modifications ultérieures, Redefine style.

    Pour utiliser dans d'autres patchs

    Menu déroulant à gauche / Copy style to Library
    Le style est ensuite accessible dans la ligne Library à partir de n'importe quel autre patch.

    Plusieurs styles dans un même patch

    Le style général sélectionné sera appliqué à tous les nouveaux éléments posés.
    Néanmoins chaque élément peut être

    • soit modifié individuellement,
    • soit associé à un autre style enregistré.

    Des couleurs