Volume, extrusion sous contrôle sonore

J’ai réussi à créer quelques mouvements et variations dans MAX de Cycle ’74 en utilisant des propriétés d’une piste audio. Comme je ne saisis pas trop ce qui se passe, le résultat est assez aléatoire. Cependant, les effets moirés surtout au début de la vidéo sont récupérés par la suite et transformés en pinceau (brush) dans Photoshop.

* * *

“Volume, Extrusion Under Sound Control”

In MAX from Cycle ’74 I was able to generate movement and variations using audio properties. Since, again, I have no clue what I am really doing here, results are random and unexpected. This being said, the moiré effect that can be seen especially at the beginning of the video is recuperated as a brush in Photoshop.

Instantanés qui ont servi à créer le pinceau.

* * *

Snapshot that were used to create brushes.

extrusion final.00_00_00_00.Still001extrusion final.00_00_16_05.Still005

Ci-dessous, une création à partir de ce pinceau moiré. Certainement pas un chef-d’oeuvre mais c’est la texture qui m’importe ici.

* * *

Below, an experimental painting made using this brush. Obviously not a masterpiece but I draw you attention to the texture effect I was able to achieve.

_DSC2952 1200

Et un aperçu de la patch dans MAX. Un noeud en peu de temps.

* * *

And a snapshot of the patch in MAX. It does get messy very quickly.

2017-06-06_01-13-59

Dispositions 100, 101

Des Dispositions, pendant que j’essaie de mieux comprendre les objets de MAX et de pouvoir en tirer quelque chose qui ajoutera à mon travail graphique.

* * *

Creating “Dispositions” while still struggling with MAX until I can get it to do things I’d really use in my work.

 

disposition 100 1200disposition 101 1200

Lignes et courbes

Étant limité pour l’instant quant à la performance de génération des images dans Max de Cycle ’74, j’ai tenté un code très semblable en C# (.NET Framework de Microsoft). Le premier essai n’a pas été plus rapide. En fouillant un peu sur Internet je suis tombé sur du code et une technique incroyablement plus performante (quoiqu’elle fait référence à des trucs que je ne maîtrise pas du tout). Je peux générer des images beaucoup plus grandes avec du code en une fraction de seconde. En superposant deux images très lignées dans Photoshop et quelques petites déformations, j’arrive à produire un effet plus intéressant.

J’ai encore beaucoup de chemin à faire, mais chaque étape n’est pas perdue.

* * *

Being limited for the moment by the image generation performance in Max of Cycle ’74, I tried a very similar code in C # (.NET Framework of Microsoft). The first test was not faster. By digging a little on the Internet I came across some incredibly more performant code and (although it refers to a technique that I do not master at all). I can generate much larger images with code in a fraction of a second. By superimposing two images made up of thin lines in Photoshop and some small deformations, I managed to produce a more interesting effect.

I still have a long way to go, but each step is not lost.

randomImage0

Progrès et limitations

J’obtiens avec Max des textures plus fines mais j’ai atteint la limite pour une génération fluide en temps réel, la grille visuelle est réduite à 400 x 400 pixels, ce qui pourrait convenir pour certains projets. Le code scripté est moins rapide que du code compilé, ça je le savais. Alors je suis rendu à explorer d’autres options y compris certaines formes d’optimisation du calcul des couleurs.

* * *

I can now get finer textures with Max but I have reached the limit in terms of generative process in real time. Currently the image grid is being reduced to 400 x 400 pixels, which could work for some projects. Scripted code is slower than compiled one, that I already knew. Next step is to find other solutions including code optimization, especially the colour calculations section.

Progrès avec Max de Cycle ’74

Je suis parvenu à utiliser un script pour “écrire” une image colorée. Le script génère des images en temps réel (mais il y a une limitation au nombre de pixels qui peuvent être pris en charge). Finalement le script peut modifier une vidéo existante (à faible résolution).

* * *

I managed to be able to write a script that can “write” a colored image. The script generates real-time images (but there is a limit to the number of pixels that can be supported). Finally the script can modify an existing video (at low resolution).

Pour les curieux, le code :
* * *
FYI, the code:

the code

Une note change la teinte

Continuant mes explorations avec Max de Cycle ’74, j’ai réussi à créer un petit bout de code qui transforme le code d’une note d’un clavier virtuel (MIDI) vers un angle de teinte (mode couleur HSV), ce qui permet d’affecter en temps réel la valeur globale de la teinte d’une vidéo.

* * *

From Note to Hue

Pursuing my work with Max from Cycle ’74, I was able to create a snippet of Javascript code that receives as input a MIDI note value from a virtual keyboard and change it to a hue angle value (HSV colour model) which can affect the overall hue of a video in real time.

Max de Cycle ’74, en couleurs

Sensiblement le même exercice que les jours précédents mais en utilisant trois LFO pour fournir des données à la matrice en RGB. La vidéo est en accéléré la plupart du temps, donc le son entendu ne reproduit pas les fréquences exactes générées par les LFO.

* * *

A similar exercice to what I have done previously, except with three LFO to generate RGB values to the matrix. The video is accelerated most of the time, so the soundtrack does not reproduce the exact frequencies generated by the LFOs.

Utiliser les résultats de la veille

Les images générées par Max hier n’ont rien d’extraordinaires. J’ai quand même tenté de les intégrer dans quelques transformations.

* * *

The images generated yesterday via Max are not very spectacular. Nonetheless, I tried to use them in pictures transformations.

monogram 1 1000station 1 1000surf 1000wave 1 1000

L’image ci-dessous utilise une des images générées par Max. Ensuite dans Photoshop j’ai augmenté le contraste puis créé un tracé (path) de contours. Ensuite ce tracé a été rendu automatiquement en utilisant un pinceau (brush) et une couleur choisie au hasard. Par la suite couches et filtres ont donné ce résultat.

* * *

The image below uses one of the patterns generated by Max. Then, in Photoshop I increased the contrast and mapped its contour as a path which was then auto painted using a brush and a colour picked at random. Then it’s just a matter of layering and filters.

industrial sky 1000

Pour donner une idée du travail, une suite d’instantanés du processus.

* * *

Below I show a few snapshot of the transformation process.

industrial sky demo 1industrial sky demo 2industrial sky demo 3industrial sky demo 4industrial sky demo 5

Max de Cycle 74′, une suite

J’ai réussi à générer une image de manière automatique avec des variations, primitives, mais intéressantes (mais rien de nouveau sous le soleil). J’arrive même à sauvegarder l’image. Me reste une multitude de trucs à apprendre mais l’essentiel est là.

Parce qu’un métronome limite la vitesse de remplissage de la grille image, le processus peut apparaître très lent mais il y a sûrement d’autres moyens de travailler.

* * *

I was able to automatically generate an image with basic variations (but this is nothing new in town). I am even able to save snapshots of the image being processed. There is still so much to learn and discover.

At the moment, a metronome is limiting the rendering speed which causes the process to appear slow, but there surely is a better way.

 

Expérience

J’apprends doucement à utiliser Max de Cycle 74′ ( https://cycling74.com/products/max ) ; produit qui m’apparaît prometteur en ce qu’il me permettrait de générer sons et images par toutes sortes de moyens parce que j’envisage à plus ou moins long terme de créer un générateur d’art. Ah ! Mais oui ça existe déjà ! Il y en a partout. Mais je veux faire le mien, celui qui contiendrait des textures visuelles et sonores qui me plaisent, pas juste répliquer le truc trendy.

Pensant pouvoir attaquer la bête de front, je me suis rendu compte que la courbe d’apprentissage ressemble plutôt à une falaise. Alors je reviens à des essais plus modestes et plus concluants, encourageants.

Ici, en suivant les instructions claires de cette vidéo ( https://www.youtube.com/watch?v=5RYy8Cvgkqk ) j’ai réussi à comprendre certains mécanismes de base et manipuler certains outils. Ci-dessous, une vidéo montrant ma version fonctionnelle me permettant de générer des sons soit à partir du clavier virtuel ou encore en utilisant le clavier de l’ordi.

* * *

Step by step, I am learning to use Max from Cycle 74′ (https://cycling74.com/products/max), an application that seems quite promising in that it would allow me to generate sounds and images by all sorts of means because I plan, eventually, to create an art generator. Ah! But yes such things already exist. They are everywhere. But I want to make my own, one that would contain visual and sound textures that I like, not just replicate the trendy stuff.

I thought I was able to easily tame the beast but I realized that the learning curve looks more like a cliff. So I took a few steps back and just work on simpler projects for now, with more conclusive and encouraging results.

Here, following the clear instructions found in this video (https://www.youtube.com/watch?v=5RYy8Cvgkqk) I managed to understand some basic mechanisms and manipulate a few tools. Below is my working example : I can create sounds either by clicking on the virtual keyboard or using my computer keyboard.

 

To learn more about the Karplus-Strong algorithm : https://en.wikipedia.org/wiki/Karplus%E2%80%93Strong_string_synthesis