Se connecter
Se connecter

ou
Créer un compte

ou
Test écrit
3 réactions

Tutoriel Max-MSP - Test Cycling'74 Max/MSP

Conçu par l'IRCAM et Cycling'74 pour les musiciens, les designers sonores et les enseignants, Max/MSP est un environnement de programmation visuel qui fait figure de référence pour la création d'installations sonores interactives.

En parte­na­riat avec www.ideci­bel.com, Audio­Fan­zine vous propose de vous initier en douceur à son fonc­tion­ne­ment via le didac­ti­ciel que voici.

Prin­cipe de Max-MSP

Un patch de Max-MSP ( IRCAM / Cycling'74)

Avant de commen­cer à créer quelque chose, il est préfé­rable de comprendre un peu le fonc­tion­ne­ment du programme. Le prin­cipe de Max/MSP est de géné­rer, de trans­for­mer et de gérer des sons, sans aucune limite (à part peut-être le temps que vous passe­rez dessus…)

Ce soft est construit sur le fait de poser au milieu d’une page blanche, des boîtes que l’on va connec­ter entres elles, chacune ayant un rôle diffé­rent, possé­dant des entrées et des sorties. Ce qui en sort est fonc­tion de l’objet et de ce qu’on lui rentre.

Ouvrez le programme, allez dans le menu file/new/patch.
Il vous ouvre une fenêtre blanche avec plein d’icônes en haut. Cette feuille blanche est notre plan de travail, à l’image de la feuille de papier pour un archi­tecte. Sur ce plan nous allons poser plein de « boîtes » pour créer ou trans­for­mer un son.

La barre d’icônes comporte toutes les boîtes dont nous pouvons nous servir :

La barre d'icônes de Max-MSP ( IRCAM / Cycling'74)

 

Il existe deux grandes familles de boîtes :

  • boîte objet : elle sert à trans­for­mer l’in­for­ma­tion qu’elle reçoit en entrée.

    Cliquez sur cette icône dans la barre des menus : Icône Objet dans Max-MSP (IRCAM / Cycling'74)

    Posez la sur la page blanche, elle ressemble à ceci : Objet dans Max-MSP ( IRCAM / Cycling'74) (sans le texte car c’est à vous de le rentrer en cliquant dessus)
  • boîte message : elle sert unique­ment à envoyer un message.

    Cliquez sur cette icône dans la barre des menus : Icône Message dans Max-MSP ( IRCAM / Cycling'74)

    Posez-la sur la page blanche, elle ressemble à ceci : Message dans Max-MSP ( IRCAM / Cycling'74) (sans le texte car c’est à vous de le rentrer en cliquant dessus)

NB : Les entrées se situent en haut des boîtes, les sorties en bas.

Désor­mais, lorsque nous parle­rons du plan de travail, nous l’ap­pel­le­rons le patch.

Main­te­nant que nous avons pris connais­sance avec le programme, nous allons enfin pouvoir passer à la pratique.

Le premier son

Nous allons apprendre à nous servir de deux objets très employés :

  • DAC
  • l’objet [cycle~]

Ouvrez un nouveau patch (file/new/patch). Dans la barre d’icône, cher­chez DAC dans Max-MSP ( IRCAM / Cycling'74) et posez-la sur le patch.


Cette boîte s’ap­pelle un DAC (Digi­tal Analo­gique Conver­ter). Il va nous servir à conver­tir notre signal numé­rique en signal analo­gique. Si vous ne compre­nez pas ces mots, cela veut dire que c’est notre sortie audio. Si vous voulez entendre un son, il faut obli­ga­toi­re­ment le connec­ter (le son à entendre) au DAC.

Placez une boîte objet sur votre patch : Boîte objet dans Max-MSP ( IRCAM / Cycling'74)

Cliquez dessus et écri­vez [cycle~ 100] (les [] repré­sentent la boîte, donc ne les écri­vez pas).

Si tout s’est bien passé vous obte­nez ceci :Cycle~100 dans Max-MSP ( IRCAM / Cycling'74)

Vous ne savez pas comment faire pour faire le « ~ » ? Pour PC il faut faire ctrl+alt+2 puis espace. Pour Mac, il faut faire pomme+n puis espace.
Atten­tion ! N’ou­bliez pas l’es­pace entre le ~ et 100.

Bon, vous avez réussi, mais à quoi ça sert ?
Le mot « cycle~ » dans une boîte objet, permet de créer un signal sinu­soï­dal.
« 100 » est la fréquence de ce signal.
Vous venez donc de créez un signal sinu­soï­dal à 100Hz.

Pour l’en­tendre, il faut le connec­ter au DAC.
Vous remarque­rez qu’il y a des petits rectangles noirs en haut et en bas du cycle et du DAC. Ceux-ci corres­pondent aux entrées et sorties de chaque objet.
Nous voulons sortir le signal du cycle pour le rentrer dans le DAC. Cliquez sur la sortie du cycle et main­te­nez votre bouton appuyé. Un fil appa­raît. Allez le relier à l’une des entrées du DAC.

Le DAC est stéréo par défaut, ses deux entrées corres­pondent aux cotés gauche/droite. Donc si vous voulez entendre votre cycle des deux cotés, il faut reprendre la sortie du cycle et la connec­ter à l’autre entrée du DAC.

Vous obte­nez ceci :Cycle~100 dans Max-MSP ( IRCAM / Cycling'74)

Vous n’en­ten­dez toujours rien ?
C’est normal, il reste une dernière chose à faire et vous allez enfin pouvoir commen­cer à mani­pu­ler du son.

Il existe deux « modes » dans le programme. Lorsque vous êtes sur le patch et que vous ajou­tez et modi­fiez des boîtes en tous genre, vous êtes ce qu’on appelle en mode d’édi­tion, c’est à dire que vous pouvez modi­fier le patch à loisir. Imagi­nez vous en situa­tion de concert, vous faites une mauvaise manip et effa­cez une boîte ; la situa­tion est assez gênante. Pour éviter ceci, vous allez passer en mode de jeu. Dès lors, vous ne pouvez plus modi­fier les connexions ou les boîtes. Bien sûr, vous pouvez passer de l’un à l’autre comme bon vous semble, pour cela faites :

- ctrl+e (pc)
- pomme+e (mac)

Dans le cas qui nous occupe, nous avons fini de créer notre patch. Passez donc en mode de jeu, cliquez sur le DAC pour ouvrir celui-ci : Magie ! Vous avez du son !

Vous allez me dire que tout cela est bien trop long et trop compliqué pour obte­nir un son vide… En fait, si vous avez compris les manips que vous venez de faire, vous avez la base de Max/MSP, tout le reste fonc­tionne de la même façon. Seuls les objets changent, mais la façon de s’en servir reste la même.

Ce qu’il est bon de rete­nir :

  • Le « DAC » est votre sortie son.
  • [cycle~] est un objet qui permet de géné­rer un signal (sinu­soï­dal).
  • Les entrées se trouvent en haut et les sorties en bas.
  • « ~ » ctrl+alt+2 puis espace (pc), pomme+n puis espace (mac)
  • Passer du mode de jeu en mode d’édi­tion (et réci­proque­ment): ctrl+e ou pomme+e



 

Boîtes nombre

Un signal à 100Hz, c’est bien, mais si fina­le­ment on le veut à 200, 500, ou 10000 ? On peut bien sûr chan­ger le nombre qui se trouve à l’in­té­rieur de la boîte mais ce n’est pas très commode. Il existe une façon plus simple de faire.

Nous allons nous servir d’une « boîte nombre ». Cette boîte n’en­voie que des nombres que nous pouvons choi­sir en cliquant sur la boîte et en montant et descen­dant la souris en « mode de jeu ».

Repre­nons ça plus en détail.

Dans la barre d’icône, cher­chez cet objet Icône de boîte nombre de Max-MSP ( IRCAM / Cycling'74) et posez-le au dessus du cycle.

Vous obte­nez ceci :Max-MSP ( IRCAM / Cycling'74)

Passez en « mode de jeu » (ctrl+e ou pomme+e) et ouvrez votre DAC.
Cliquez sur la boîte nombre et main­te­nez le bouton de la souris enfoncé, montez et descen­dez avec la souris.
Votre boîte nombre augmente ou dimi­nue en fonc­tion de votre mouve­ment.
La première entrée du cycle corres­pond à la fréquence de celui-ci, quand il reçoit un nombre, il l’in­ter­prète comme sa fréquence.

Il existe un autre type de boîte nombre : les boîtes nombres flot­tants.
Celle que nous avons utili­sée ne comporte que des nombres entiers, c’est à dire sans virgule. (1 200 –759 6548 –8542…)
Les nombres flot­tants sont les nombres à virgules (0.2564 1.58 –654.1…). Dans la barre des icônes il existe un icône spéci­fique pour cette boîte.

C’est le même que pour les entiers mais avec un point : Boîtes nombres flottants dans Max-MSP ( IRCAM / Cycling'74)

Dans le logi­ciel, les nombres entiers sont appe­lés int (abré­via­tion d’ « inte­ger ») et les nombres à virgule sont appe­lés float. Notez que ces deux détails sont ici à titre infor­ma­tif et nous servi­rons plus tard. :-)

Connec­tez la sortie de la boîte nombre à l’en­trée du cycle. Passez en mode de jeu et modi­fiez sa valeur. Auto­ma­tique­ment le nombre indiqué devient la fréquence du cycle. Le 100 de la boîte cycle est là pour l’ini­tia­li­sa­tion, c’est à dire que c’est la fréquence du cycle par défaut lorsque vous ouvrez le programme. Mais celle-ci ne sert plus à rien dès que l’on rentre une autre valeur dans l’objet, comme ici par exemple.

Vous avez peut-être remarqué que lorsque vous descen­dez dans les néga­tifs, votre cycle inter­prète ce nombre comme un nombre posi­tif. Pour éviter ce genre de petit problème, nous allons « borner » la boîte nombre. C’est à dire que nous allons lui indiquer un mini­mum et un maxi­mum, au-delà desquels la boîte s’ar­rête.

Reve­nez en mode d’édi­tion. Cliquez sur la boîte nombre à borner. Si vous êtes sur PC, faites ctrl+i. Pour mac, faites pomme+i. Une fenêtre s’ouvre, se sont les proprié­tés de l’objet. Cette commande pour appe­ler les proprié­tés s’ap­pelle un « get info » et elle est très utili­sée car elle s’ap­plique à tous les autres objets.

Dans cette fenêtre vous avez quatre proprié­tés : range, options, display style, colors.
Ce qui nous inté­resse est le « range ». Vous remarquez qu’il y a un « min. » et un « max. ». Dans ces cases, mettez les valeurs que vous ne voulez pas dépas­ser, par exemple « min. »=50 et « max. »=4000.

Si vous repas­sez en mode de jeu, votre boîte n’évo­lue plus qu’entre cette four­chette.
Prenez l’ha­bi­tude de borner vos boîtes si possible car personne n’est à l’abri d’un excès invo­lon­taire. Or si vous travaillez sur le volume géné­ral, c’est un coup à perdre 10% de votre poten­tiel audi­tif en un instant. :-(

Une dernière petite chose à propos des boîtes float, si vous cliquez à droite de la virgule pour modi­fier le nombre, vous modi­fiez tout le nombre, alors que si vous cliquez à gauche de la virgule, vous ne modi­fiez que la partie entière (c’est à dire sans virgule). Imagi­nez ce type d’er­reur de manip sur un ampli… Je ne le dirai jamais assez, bornez vos boîtes…


Ce qu’il est bon de rete­nir :

  • il existe deux types de boîtes nombre :
    • int pour les entiers
    • float pour les flot­tants
  • get info : ctrl+i ou pomme+i : permet de « borner » (bloquer) une boîte nombre

Multi­pli­ca­teur de signal

Vous trou­vez que le cycle est un peu trop fort ? Pas de problème, nous allons apprendre à gérer les volumes.

Tout d’abord, je vous conseille de bien lire l’ar­ticle précé­dent sur les boîtes nombres car nous allons nous servir ici des boîtes float.

A la fin de l’ar­ticle précé­dent, votre patch ressem­blait à ceci :Patch dans Max-MSP ( IRCAM / Cycling'74)

Un cycle est un signal sinu­soï­dal qui va de –1 à 1 à une fréquence que nous avons défi­nie (ici à 134Hz).

Nous voulons dimi­nuer ou augmen­ter le volume du cycle, nous allons donc le multi­plier pour modi­fier son volume.

Prenez une boîte objet (Boîte Objet dans Max-MSP ( IRCAM / Cycling'74)) et écri­vez [*~].

Vous obte­nez ceci : Multiplicateur dans Max-MSP ( IRCAM / Cycling'74)

L’en­trée gauche va nous servir pour le signal à modi­fier (donc le cycle).
L’en­trée droite va être connec­tée à une boîte nombre float qui va nous permettre de modi­fier le volume.
La sortie envoie le signal modi­fié.

Si vous avez fait les connexions, vous devez obte­nir ceci :Patch contrôlant le volume dans Max-MSP ( IRCAM / Cycling'74)

Pour bien maîtri­ser cette boîte [*~] qui se nomme le multi­pli­ca­teur, il faut se rappe­ler de ses tables de multi­pli­ca­tion de 0 et 1, ce qui ne devrait pas être très dur. :-D

Le cycle varie de –1 à 1. Si vous le multi­pliez par 1, il aura donc le même volume.
Multi­plié par 0 (0×1=0) équi­vaut à aucun volume.
Multi­plier par 2 équi­vaut à avoir deux fois plus de volume.
Multi­plier par 0.5 équi­vaut à dimi­nuer le volume par deux…

L’im­por­tance de la boîte float par rapport à l’int est capi­tale. De plus je vous conseille plus que vive­ment de borner la boîte de 0 à 1 ou 1,5.

Contrôle du volume linéaire dans Max-MSP ( IRCAM / Cycling'74)

Vous avez peut être enten­due quelques clics lorsque vous modi­fiez le volume ? C’est normal.

Lorsque vous modi­fiez le volume à l’aide d’une boîte nombre, le chan­ge­ment de nombre peut parfois être un peu brutal et provoque ainsi des clics. Pour éviter ce petit craque­ment, il suffit de placer une boîte objet nommée [line~] entre la boîte float et le multi­pli­ca­teur.

Cet objet a pour fonc­tion de lisser, plus exac­te­ment de créer une rampe entre deux point. Ce temps de rampe peut être para­mé­tré par la deuxième entrée du line~ en connec­tant une boîte nombre. Le nombre indiquera le temps en milli­se­condes entre deux points. Notez que ceci est à titre infor­ma­tif et n’est pas très impor­tant pour notre appli­ca­tion actuelle. :-P

Dès lors que vous jouez avec les volumes, il se pose le problème de la satu­ra­tion, de plus, max-MSP étant assez libre d’un point de vue des mani­pu­la­tions, il arrive fréquem­ment de dépas­ser les limites, endom­ma­geant ainsi votre maté­riel et vos oreilles. Un petit objet simple nommé « meter » permet de voir où vous vous situez.

Dans la barre d’icône, cliquez sur Icône vu-mètre dans Max-MSP ( IRCAM / Cycling'74). C’est un petit vue-mètre à l’en­trée duquel on connec­tera le signal à visua­li­ser.

Assignation d'un vu-mètre dans Max-MSP ( IRCAM / Cycling'74)

Si vous voulez télé­char­ger le patch, faites un clique droit/enre­gis­trer sous (pour mac je ne sais pas comment il faut faire, si une âme chari­table connaît la manip, merci de me faire tour­ner l’info afin que je puisse la mettre ici. sachez que le lien pointe vers un docu­ment texte donc au lieu de télé­char­ger un fichier il ouvre la fenêtre texte).
Ouvez ensuite le fichier à partir de max-msp et non en cliquant direc­te­ment sur le docu­ment.

Addi­tion­neur, sous­trac­teur, multi­pli­ca­teur, divi­seur

Nous allons essayer de comprendre les autres objets permet­tant de faire des opéra­tions.

Lorsque vous étiez en primaire, vous avez appris l’ad­di­tion, la sous­trac­tion, la multi­pli­ca­tion et la divi­sion. Vous vous en souve­nez ? J’es­père que oui… :-P

Dans l’exemple précé­dent, nous avons multi­plié le signal. Sachez que vous pouvez aussi lui addi­tion­ner un nombre, le divi­ser par un nombre, ou encore lui sous­traire un nombre.

Un cycle sans modi­fi­ca­tion se présente comme ceci :   Cycle sans modification dans Max-MSP ( IRCAM / Cycling'74)
 
Le signal oscille entre –1 et 1.
Si on le divise par 2, alors le signal oscille entre –0.5 et 0.5 :
  Cycle divisé par 2 dans Max-MSP ( IRCAM / Cycling'74)
 
Nous pouvons aussi lui addi­tion­ner un nombre.

Si nous lui ajou­tons par exemple 1, le signal qui oscille de –1 à 1 oscil­lera main­te­nant de 0 à 2.
  Addition dans Max-MSP ( IRCAM / Cycling'74)
 
 
Cepen­dant, ce chan­ge­ment n’in­fluence pas le son, ce n’est pas parce qu’on lui ajoute 3 ou 4 qu’il sera trois ou quatre fois plus fort, ce qui fait le volume est l’am­pi­tude du signal.
 
Le sous­trac­teur repose sur le même prin­cipe que l’ad­di­tion­neur :   Soustraction dans Max-MSP ( IRCAM / Cycling'74)

Nous avons vu les opéra­tions que nous pouvons faire sur du signal, mais lorsque nous voulons le faire exclu­si­ve­ment avec des nombres ?

C’est le même prin­cipe sauf qu’il ne faut pas mettre de « ~ ».

Vous touchez là un point impor­tant. Max/MSP comporte en réalité deux banques d’objets. Max ne concerne que le trai­te­ment de nombre et MSP que le trai­te­ment de signal. « ~ » dans un objet indique que vous faites appelle à la banque d’objet de MSP, si il n’y a pas de « ~ », cet objet fait partie de la banque Max.

Vous avez pu remarquer aussi que certaines connexions sont jaunes et d’autres noires. Les jaunes trans­portent du signal alors que les noires trans­portent des nombres. Donc les connexions sortant d’un objet Max seront noires et celles sortant d’un objet MSP seront jaunes.
Si ce n’est pas très clair pour le moment ce n’est pas grave, faîtes seule­ment atten­tion à mettre le « ~ » quand il y en a besoin.

Reve­nons à nos moutons. Nous voulons faire des maths avec Max. C’est le même prin­cipe qu’avant sauf que l’on ne connecte que des boîtes nombres, ce qui donne ceci :

Calculs avec Max-MSP ( IRCAM / Cycling'74)

Atten­tion ! Le calcul n’est effec­tué que lorsque l’on change la valeur du nombre de gauche. Donc modi­fiez d’abord celui de droite puis celui de gauche.

De plus, si vous êtes amené à avoir un résul­tat à virgule comme l’exemple de la divi­sion, n’ou­bliez pas de mettre une boîte float en sortie et « 0. » en argu­ment pour lui dire de calcu­ler après la virgule.

(NB : Si vous voulez utili­ser l’os­cil­lo­scope, il est par défaut entre –1 et 1, pour chan­ger ses valeurs, faite un « get info » et modi­fiez son « range »)

Télé­char­ger le patch (clique droit/enre­gis­trer sous)

 

Envie d’al­ler plus loin avec Max/MSP ?

N’hé­si­tez pas dans ce cas à rendre visite à www.ideci­bel.com, le site dont provient ce didac­ti­ciel et qui s’im­pose indé­nia­ble­ment comme la réfé­rence fran­co­phone sur Max MSP.
  • nanard48 1 post au compteur
    nanard48
    Nouvel·le AFfilié·e
    Posté le 21/11/2013 à 16:34:38
    Merci pour ce tuto !! :)

    Nanard
  • Pem83 5 posts au compteur
    Pem83
    Nouvel·le AFfilié·e
    Posté le 26/03/2014 à 11:31:29

    Merci oui ;)

  • Zoomtop 4 posts au compteur
    Zoomtop
    Nouvel·le AFfilié·e
    Posté le 21/01/2015 à 10:26:02
    Genial !!!
    Merci beaucoup pour ce partage de connaissances. Limpide, clair et concis.

    J'attends la suite avec impatience.

    A vous lire !!

Vous souhaitez réagir à cet article ?

Se connecter
Devenir membre