Change quelque chose! Une approche de la gestion des paramètres infinis avec des médias temporels interactifs

Tutoriels Max MSP pour les débutants

@VJLoopZone
Le patch dans l'image de la bannière ci-dessus ne fait rien, donc je déconseille de le recréer. Le but de l'image est plutôt un aiguillon conceptuel. Les médias informatiques organisent les données en possibilités quasi infinies de manipulation des données et de leurs ensembles de paramètres définis. Alors, comment gérons-nous cette quasi-infinité de changements de sortie ?
Le changement quelque chose! Cette approche est un moyen de gérer de manière pragmatique la multitude de variations littéralement innombrables dans la sortie d'un programme - dans ce cas, un patch Max - dans un média temporel en temps réel.
L'idée est simple - créez simplement un énorme bouton pour déclencher le changement - et liez la sortie de ce déclencheur à de nombreux (et idéalement, beaucoup de nombreux - ce qui n'est pas une quantité, en fait...) paramètres de votre programme que vous avez configurés pour subissent des variations lorsque le déclencheur est reçu. Ici, Max send
et receive
les objets en magenta sont utilisés pour acheminer l'action d'appui sur le bouton de déclenchement.

Ce que le patch conceptuel ci-dessus vise à illustrer, c'est qu'il existe de nombreuses façons de traiter les données de déclenchement d'une simple pression sur un bouton une fois reçues (illustrées par la réception de la pression sur un bouton via différents objets) et de lui faire produire une sorte de changement quelque part qui peut être utile sur le plan créatif.
En action, il ne vous reste plus qu'à exécuter votre programme. Chaque fois que vous souhaitez modifier sa sortie, appuyez simplement sur le bouton, et maintenant le flux de sortie sonnera différemment ! La différence ou la similarité sera déterminée par votre programmation, et vous pouvez affiner la quantité et les qualités des changements grâce à l'itération de votre programme. Si vous n'aimez pas la nouvelle sortie, appuyez à nouveau sur le bouton. Lorsque vous aimez la sortie mais que vous avez besoin de nouveauté, appuyez à nouveau sur le bouton. C'est si simple : )
Dans un contexte en temps réel, vous devrez faire des jugements de valeur esthétiques très rapides pour savoir si la sortie est appropriée, et être prêt pour une pression rapide sur la gâchette si ce n'est pas le cas. Dans un contexte d'enregistrement en studio, vous pouvez toujours éditer les mauvais morceaux.
La valeur de cette approche est qu'elle résume ou généralise ce qui pourrait littéralement être des millions de variations en une seule pression sur un bouton, et qu'est-ce qu'il n'y a pas à aimer à ce sujet ?

Ce n'est pas la même chose que randomiser tout
De nombreuses applications ont des fonctions Randomize All, mais la fonction ChangeSomething! (qui peut aussi s'appeler ChangeAnything! Maintenant que j'y pense) diffère d'une manière fondamentale - Randomize All randomise littéralement toutes les valeurs des paramètres, et peut-être en plus randomise quels paramètres sont randomisés. Cela produit des résultats pour la plupart inutilisables, tels que du bruit visuel ou auditif, et seulement occasionnellement utilisables.
Une implémentation décente de Randomize All, qui randomise également les paramètres qui sont randomisés, est le processeur d'image en ligne de Photomosh.com , illustré ci-dessous. Le bouton Mosh en bas de la capture d'écran est l'équivalent du bouton géant Max dans mon patch conceptuel. À droite, vous pouvez voir quels paramètres ont été sélectionnés au hasard pour la randomisation des valeurs :


Le changement quelque chose ! La méthode vise à ce que la plupart des sorties soient utilisables de manière créative, car le jeu de paramètres n'est pas limité à des valeurs aléatoires, mais peut incorporer n'importe quel objet dans le jeu de langages du programme. Comme le montre l'image de la bannière ci-dessus, random
il ne s'agit que d'un objet parmi tant d'autres, et non de tout l'intérêt.
D'autres choses peuvent être modifiées avec le bouton de déclenchement : les positions d'index, les mouvements de compteur, les préréglages stockés, les positions de porte, les messages, les listes et également les valeurs aléatoires elles-mêmes peuvent être traitées ultérieurement, par exemple en ne laissant passer que les valeurs modifiées devant un change
objet. Le centre d'intérêt ici est le changement , pas l'aléatoire, et l'aléatoire n'est qu'une forme particulière de changement.
Bien sûr, des couches supplémentaires de contrôle manuel peuvent être insérées entre la pression sur le bouton principal et la réception du signal de déclenchement, dans lesquelles des catégories ou des nombres de paramètres peuvent être définis pour subir une sorte de changement à chaque déclenchement.

Plus +ML
Si vous souhaitez faire passer cette approche au niveau supérieur, vous pouvez connecter un algorithme d'apprentissage automatique pour analyser le résultat et découvrir quel est votre goût artistique pour un changement particulier ! programme que vous avez créé. Mais, cela pourrait éventuellement supprimer la nécessité d'appuyer sur ce bouton unique, alors méfiez-vous de l'automatisation de votre existence professionnelle !
Un guide de contenu complet pour le son et le design


Articles Liés
Phénoménologie dans la conception d'algorithmes générateurs de mélodies
Roll Your Own Cthulhu : programmation d'un séquenceur d'accords dans l'environnement Max
Exploiter l'aléatoire dans le séquençage de batterie
Programmer des séquenceurs de batterie improvisés dans l'environnement Max