Collections de sons et videos

IV - Belgariade : exemple de dispositif interactif - Part 5

Le dispositif que nous voulons programmer diffuse plusieurs sons et images différents au cours du temps.
Pour que le patch ne se complexifie pas plus que nécessaire, il faut que ces médias ne soient lus que par un seul objet sfplay~ et un seul objet jit.movie.

5 - Collections de médias

Lire une (longue) liste de fichiers sons

But : déclencher la lecture de nombreux fichiers sons en gardant un patch Max simple, parcourir un ensemble de sons en les choisissant juste avec un nombre.

Fonctionnement de l'objet coll

Fonctionnement du coll

L'objet coll fait appel à un fichier .txt qui peut être créé indépendemment de Max dans un quelconque bloc-note / notepad++ / Emerald Editor / etc.
Ce fichier contient une liste de paramètres, qu'on peut appeler en donnant au coll le numéro de ligne.
Il est possible de stocker dans un coll des nombres, des mots, des paramètres de volume, des noms de fichiers...

  • Créer un fichier texte avec plusieurs lignes numérotées
  • Poser un coll appelant ce fichier
  • Mettre un objet counter sur l'entrée gauche du coll : cela crée un compteur, activé par un bang
  • Le counter est paramétré de 1 à 10 ici car il y a 10 lignes dans le coll
  • Brancher un objet print sur la sortie du coll, pour afficher dans la console Max le résultat.

Formatage du fichier .txt :

numéro de ligne, paramètres;
Exemple :
1, open nomdufichier.wav;
2, open autreson.mp3;

Remplacer le message open par un objet coll

Comme précédemment, dans cet exemple, le déclenchement des sons est provoqué par les données d'un capteur dépassant un seuil.
Le capteur peut être simulé par un slider actionné à la souris.
Dans les patchs précédents, le fichier son était choisi dans un message open fichierson.wav.
Ce message est ici remplacé par un objet coll qui fait appel à un fichier .txt enregistré dans le même dossier que le patch.
Le fichier texte contient une liste de paramètres, ici tous les éléments nécessaires à créer l'équivalent du message open fichierson.wav à envoyer dans l'objet sfplay~.
coll et sons

  • Si les valeurs du capteur dépassent le seuil, elles activent le counter.
  • Le counter donne un nombre entre 1 et 10.
  • Quand il reçoit un nombre, le coll sort un message open fichier_de_cette_ligne,
  • ce qui change le son chargé dans l'objet sfplay~.
  • Le t b b assure que le message 1 est ensuite envoyé au sfplay~ pour déclencher la lecture du son.
  • Le son change.

Démarrage automatique

Certains événements sont systématiquement activés dans un patch, comme par exemple l'audio quand on lit un fichier son (le bouton en bas à droite).
Il est pratique de mettre ces éléments en démarrage automatique.

Objet loadbang :
Il envoie un signal, un bang, à l'ouverture du patch.
Cela permet d'initialiser les paramètres au départ.

Ici il active un message startwindow branché sur l'objet dac~, ce qui revient à activer l'audio.

Lire une (longue) liste de fichiers videos

But : parcourir facilement une banque de videos.

Le principe est le même que pour le son : la liste des fichiers viédos ou images à afficher est enregistrée dans un fichier txt.

La syntaxe des lignes est à adapter à ce que nous souhaitons en sortie : pour le son, le message le plus pratique commence par open. Pour la video, il faut utiliser read afin de choisir l'image chargée dans jit.movie.
Exemple : 1, read bubles.mov

Le qmetro 30 est mis en démarrage automatique : il faut de toute façon qu'il soit activé pour afficher une video.

  • Le changement de video est provoqué par un capteur, avec un seuil
  • Le message read mavideo.mov est remplacé par les objets counter et coll
  • Le counter est paramétré en fonction du nombre de lignes dans le coll

coll et videos