Virtual Workspace - "Encore Plus Belle" (Plus belle la vie)

Creating a
Virtual Workspace
for "Encore Plus Belle"

We collaborated with Cinetwork to create a fully customized virtual workspace supporting the production of Encore Plus Belle (the sequel to Plus Belle La Vie). This project involved designing an intricate map from scratch, focusing on both aesthetics and user functionality, while seamlessly integrating essential features such as collisions, interactive elements, and built-in video conferencing.

By leveraging WorkAdventure’s platform, we delivered a vibrant, interactive environment tailored to the needs of a modern production team. The result is a creative and efficient digital workspace that enhances collaboration and streamlines workflows, showcasing Cinetwork’s commitment to innovation in virtual office solutions.


I quit smoking

Houdini

I quitsmoking

is a video experiment aimed at replicating a macro shot of a burning cigarette. The entire cigarette texture is procedurally generated using custom attributes driven by multiple noise patterns in Houdini.

Kicking the habit of cigaret is a real srtuggle, so we decided to illustrate this and made a 3d animation of it !
And yes, it’s a looping video, cause every addiction is circular in its own way!

Sound design was made by @edgar.spms


Infinite Rear Tracking

Infinite
rear tracking

A visual experimentation, with some kind of infinite rear tracking, preview from an upcoming a short.
The video is fully made in #sidefx #Houdini / Karma XPU
The sound design has been made by the incredibly talented @edgar.spms aka ‘le magnifique’

We got some inspiration on the wonderful work of @panoplycreative on their short ‘Derealisation’


La Yegros - Haz / Album Art & Social Media Designs

Creation of the main visual and social media assets for the latest album by the queen of neo-cumbia, La Yegros. The artwork leverages the fascinating technique of pareidolia, where the face of the singer and the album title emerge through this optical illusion. This unique visual approach captures the essence of the album, blending vibrant aesthetics with a touch of surrealism, reflecting La Yegros’ innovative style in the neo-cumbia genre.


Aywa - Al Wan

Aywa
Al Wan

Après plusieurs mois de travail, je suis très heureux de pouvoir présenter le vidéoclip musical réalisé en 3D, pour le morceau Al Wan, du groupe Aywa. L’esthétique choisie représentait un défi à la fois artistique et technique, dans la mesure où il est intégralement composé de particules, et vise à reproduire l’effet de l’encre se mouvant dans de l’eau.

Inspiré par la calligraphie aussi bien que par l’atomisme dans anciens, il s’agit d’évoquer une méditation poétique sur la spiritualité et le rapport à ce qui nous dépasse. L’ambition du métrage est de figurer une histoire de l’humanité, depuis l’échelle microscopique des premiers organismes monocellulaires, jusqu’aux dimensions impensables des galaxies et de leur myriades de planètes.

Un petit défi, sur le plan artistique. car il s’agit non seulement de reproduire en 3D l’effet si spécifique de l’encre dans de l’eau, mais également de donner forme à travers ce prisme à un ensemble d’objets, d’êtres et de situations qui conservent malgré tout un sens, esthétique et visuel.

Sur le plan technique également, car il a été nécessaire de simuler, de manière physiquement réaliste, un très grand nombre de particules, et de rendre le tout de manière convaincante. Il y a en moyenne entre 50 et 100 millions de particules par plan moyen de 250 images. Le métrage est rendu en 24i/s, et il dure un peu plus de 4 minutes, ce qui monte le nombre final de particules à plusieurs milliards. Tout a été produit grâce au logiciel de production 3D/Simulation Houdini.

Le temps de travail total sur le film s’élève à 5 mois, et a demandé plus de 300h uniquement pour le rendu.

Al Wan signifie “couleurs” en arabe, mais peut métaphoriquement également décrire la variété, ou la diversité. C’est une signification que nous avons essayé de traduire visuellement, en produisant un métrage en noir et blanc, auquel s’ajoutent peu à peu des tâches de couleurs, pour culminer dans une symphonie chromatique.

Inspi

rations

L’une des inspirations principales est le petit chef-d’oeuvre de réalisation et de technique qu’est cette publicité pour la télévision chinoise CCTV. Un grand merci à certains de ses techniciens qui m’ont donnés quelqiues directions techniques pour la réalisation de ce clip, sur les excellents forums officiels de Sidefx ainsi que sur le Reddit dédié à Houdini, de vraies communautés de passionnés, et de grands techniciens et artistes.

Périmètre
Technique

L’ensemble du clip a été réalisé sous cette merveille de logiciel qu’est Houdini, avec quelques éléments de textruging réalisés avec Substance Painter.

L’essentiel du travail (et de la difficulté !) a consisté à trouver des solutions à la fois techniques et artistiquement satisfaisantes pour diriger un très grand nombre de particules.

Si on veut faire les calculs, il y a entre 50 et 100 million se particules constantes par shot moyen de 250 images, le film est rendu en 24 images/s, et il dure au total un peu plus de 4mn, ça fait en tout plusieurs milliards de particules générée pour tout le film ! Et l’ensemble du cache de simulation pèse un peu plus de 600go

 

La technique utilisée est celle de l’advection de porticules à partir de volumes. Elle consiste, en résumé, à produire une simulation de fumée (volume), dirigée selon un certain nombre de paramètres physiques (turbulences, noises, flotabilité, etc…), et de « calquer » dans un second temps la vélocité des particules sur celle de la simulation de fumée.

Un (très) grand nombre de particules

L’encre, et l’effet si particulier qu’elle donne lorsque plongée dans l’eau, est composée en réalité de milliers de particules microscopiques qui, mises bout-à-bout, forment cet effect filandreux caractéristique. Dans la mesure où on essaie au maximum de se rapprocher des conditions réelles, il faut donc simuler exactement la même chose en 3d, avec un système de particules. Et ça tombe très bien, car Houdini est spécialisé dans ce genre de simulations, au point où il est utilisée pour élaborer des simulations scientifiques.
L’idée est donc d’augmenter considérablement le nombre total de particules, à plusieurs millions (50/100 millions par plan). L’une des techniques utilisées pour cela est appelée « wedging ». Elle consiste à mettre en cache plusieurs fois le même ensemble de particules, mais en changeant à chaque itération la « seed » dirigeant la position de départ de chaque particules. On densifie ainsi le nuage de particules pour s’éloigner de l’effet granuleux et s’approcher au maximum de l’effet filandreux en question.

Wedging

En savoir plus sur l'aspect technique du wedging dans Houdini

Lors de la mise en cache de la simulation, dans le même nœud, on crée un attribut de wedge qu’on utilise pour piloter le paramètre ‘seed’ de la simulation de particules (‘pop’, dans le langage H). De cette manière Houdini mettra en cache la simulation autant de fois que le nombre de wedges indiqué (c’est-à-dire que si la simulation a 500 000 particules et que 2 wedges sont indiqués, on obtient 2 caches avec 500 000 particules chacune). Mais comme on utilise l’index de wedge pour piloter l’attribut seed de la simulation, chaque cache aura un attribut seed différent, et donc chaque particule dans la deuxième simulation sera à un emplacement légèrement différent de sa jumelle dans l’autre simulation. Conceptuellement, comme beaucoup de choses dans Houdini, c’est similaire à une boucle « for » dans les langages de programmation : on itère sur une opération spécifique tout en modifiant certains de ses paramètres internes.

Enfin, on merge le nombre total des wedges dans le nœud de cache (il sortira 1 million de particules, selon mon exemple précédent). C’est ce que j’ai fait dans la plupart des plans, en montant parfois jusqu’à 6 wedges, chacun avec 10 ou 20 millions de particules.

Interpolation

Je ne vais pas entrer trop dans les détails ici, car cela implique un peu de code vex et prendrait du temps à détailler. Mais autant que je sache, certains systèmes (comme Krakatoa, qui est toujours le roi dans ce domaine, mais que je n’ai pas réussi à configurer et à utiliser efficacement, donc j’ai opté pour une solution ‘full’ Houdini) ont une manière très spécifique d’interpoler entre les différentes positions des différentes particules. Dans certains des rendus du clip, j’ai essayé de reproduire cette façon de travailler, en calculant la position intermédiaire de la même particule à deux instants de temps, et en positionnant les particules à ces emplacements intermédiaires.

Enfin, ce genre de simulation exige un assez grand nombre de substeps.

Matériaux et rendu

<p style= »text-align: justify; »>Donc, l’idée est d’avoir un très grand nombre de particules, à une échelle très petite, mais cela peut ne pas suffire pour obtenir l’aspect vaporeux désiré. Un matériau qui n’est pas totalement opaque à certains endroits permet de révéler la profondeur du nuage de particules.

Une touche finale consiste à d’activer les options de flou de mouvement et de vitesse sur le moteur de rendu (ici Redshift), cela aidera à éviter l’aspect granuleux abhorré (!).</p>

Aywa

Al Wan


Houdini - Karma Automatic Material Importer (Karma Automat)

Al3ph

Karma Auto(matic) – Efficient Material Importer for Houdini

Karma Automatic Material Importer is a streamlined script developed for SideFX Houdini that simplifies the process of setting up materials with the Karma renderer and MaterialX standards. This tool is designed to enhance productivity, especially when working with numerous texture files.

Features Overview

  • Automatic Texture Detection: Identifies and categorizes textures in a specified folder based on naming conventions.
  • Material Node Creation: Automatically generates mtlximage nodes for each detected texture.
  • Automatic Node Connections: Links textures to their appropriate slots in the mtlxstandard_surface shader according to texture type.
  • Node Renaming: Automatically renames the main material node based on the imported folder name.
  • Node parm: Automatic fill correct signature and filecolorspace.

Usage Instructions

  1. Toolshelf Integration: Add the script to Houdini’s toolshelf for easy access.
  2. Select the Karma Material Builder Node: Make sure to select the karmamaterialbuilder node in your scene before executing the script.
  3. Execute the Script: Run the script from the toolshelf. You will be prompted to select a folder containing texture files. The script supports formats like .png, .jpg, .jpeg, .exr, .tif, and .tiff.
  4. Processing: The script scans the selected folder, automatically creates material nodes, and configures connections based on the identified texture types.

Supported Textures The script handles textures like Base Color, Specular Roughness, Normal, Displacement, Opacity, and Metalness, mapping them to the appropriate MaterialX inputs.

Customization Modify the texture_types dictionary within the script to include additional texture types or adjust existing mappings to suit your workflow needs.

Open Source License This project is released under the MIT License, allowing free modification and use in your projects.

Contributing If you have suggestions or enhancements, contributions to the repository are welcome.

Karma Auto(matic) – Efficient Material Importer for Houdini

Karma Automatic Material Importer est un script conçu pour SideFX Houdini qui simplifie le processus de configuration des matériaux utilisant le moteur de rendu Karma et les standards MaterialX. Cet outil est conçu pour améliorer la productivité, particulièrement lorsqu’on travaille avec de nombreux fichiers de textures.

Aperçu des fonctionnalités

  • Détection automatique des textures : Identifie et catégorise automatiquement les textures dans un dossier spécifié selon les conventions de nommage.
  • Création de nœuds de matériaux : Génère automatiquement des nœuds mtlximage pour chaque texture détectée.
  • Connexions automatiques des nœuds : Relie les textures à leurs emplacements appropriés dans le shader mtlxstandard_surface selon le type de texture.
  • Renommage des nœuds : Renomme automatiquement le nœud principal de matériel en fonction du nom du dossier importé.
  • Paramètres : Remplissage automatique de la signature correcte et de l’espace colorimétrique du fichier.

Instructions d’utilisation

  1. Intégration à la Toolshelf : Ajoutez le script à la toolshelf de Houdini pour un accès facile.
  2. Sélectionnez le nœud Karma Material Builder : Assurez-vous de sélectionner le nœud karmamaterialbuilder dans votre scène avant d’exécuter le script.
  3. Exécutez le script : Lancez le script depuis la toolshelf. Il vous sera demandé de sélectionner un dossier contenant des fichiers de texture. Le script prend en charge des formats tels que .png, .jpg, .jpeg, .exr, .tif, et .tiff.
  4. Traitement : Le script analyse le dossier sélectionné, crée automatiquement des nœuds de matériaux et configure les connexions en fonction des types de textures identifiés.

Textures prises en charge Le script gère des textures comme la Couleur de base, la Rugosité spéculaire, Normale, Déplacement, Opacité et Métallicité, les mappant aux entrées MaterialX appropriées.

Personnalisation Modifiez le dictionnaire texture_types dans le script pour inclure des types de textures supplémentaires ou ajustez les mappages existants pour adapter le script à vos besoins de workflow.

Licence Open Source Ce projet est publié sous la Licence MIT, permettant la modification et l’utilisation libres dans vos projets.

Contributions Si vous avez des suggestions ou des améliorations, les contributions au dépôt sont bienvenues.

import hou
import os

# Dictionnaire des types de textures et de leurs noms associés
texture_types = {
    "BASE_COLOR": ["diff", "dif", "basecolor", "base color", "base_color", "albedo", "alb", "diffuse", "color"],
    "SPECULAR_ROUGHNESS": ["roughness", "gloss", "glossiness", "rough"],
    "NORMAL": ["normal", "bump", "norm"],
    "DISPLACEMENT": ["displacement", "height", "disp", "dis"],
    "OPACITY": ["opacity", "alpha", "transparent", "transparency"],
    "METALNESS": ["metal", "metalness", "mtl", "metallic"]
}

# Fonction pour déterminer le type de texture en fonction du nom du fichier
def get_texture_type(file_name):
    for texture_type, keywords in texture_types.items():
        for keyword in keywords:
            if keyword in file_name.lower():
                return texture_type
    return None

# Fonction pour créer un nœud mtlximage à l'intérieur du nœud sélectionné
def create_mtlximage_in_selected_node(selected_node, image_path, texture_type):
    try:
        mtlximage_node = selected_node.createNode('mtlximage')
        if mtlximage_node is not None:
            mtlximage_node.setName(os.path.basename(image_path), unique_name=True)
            filename_parm = mtlximage_node.parm('file')
            if filename_parm is not None:
                filename_parm.set(image_path)
                return mtlximage_node
            else:
                return None
        else:
            return None
    except Exception as e:
        hou.ui.displayMessage(f"Error creating mtlximage node: {e}")
        return None

# Obtenir le premier nœud sélectionné
selected_nodes = hou.selectedNodes()
if not selected_nodes:
    hou.ui.displayMessage("Please select a node.")
else:
    selected_node = selected_nodes[0]  # Prend le premier nœud sélectionné
    # Demander à l'utilisateur de choisir un dossier
    folder_path = hou.ui.selectFile(start_directory='/', file_type=hou.fileType.Directory, title='Select Folder')
    if folder_path:
        # Extraire le nom du dossier à partir du chemin du dossier sélectionné
        folder_name = os.path.basename(os.path.normpath(folder_path))

        # Renommer le noeud principal sélectionné avec le nom du dossier
        selected_node.setName(folder_name, unique_name=True)

        # Scanner tous les fichiers images dans le dossier
        image_files = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f)) and f.lower().endswith(('.png', '.jpg', '.jpeg', '.exr', '.tif', '.tiff'))]

        if not image_files:
            hou.ui.displayMessage("No image files found in the selected folder.")
        else:
            # Variable pour compter le nombre d'images créées
            image_count = 0

            # Créer un nœud mtlximage pour chaque fichier image
            for image_file in image_files:
                image_path = os.path.join(folder_path, image_file)
                texture_type = get_texture_type(image_file)
                if texture_type is not None:
                    image_node = create_mtlximage_in_selected_node(selected_node, image_path, texture_type)
                    if image_node:
                        image_node.setComment(texture_type)  # Définir le type de texture dans le commentaire du nœud
                        image_count += 1

                        # Connecter les nœuds d'image au nœud mtlxstandard_surface
                        if texture_type == "BASE_COLOR":
                            selected_node.node('mtlxstandard_surface').setInput(1, image_node)  # Index pour 'base_color'
                        elif texture_type == "SPECULAR_ROUGHNESS":
                            selected_node.node('mtlxstandard_surface').setInput(6, image_node)  # Index pour 'specular_roughness'
                            image_node.parm("signature").set("default")
                            image_node.parm("filecolorspace").set("Raw")
                        elif texture_type == "NORMAL":
                            normal_map_node = selected_node.createNode("mtlxnormalmap")
                            normal_map_node.setInput(0, image_node)
                            selected_node.node('mtlxstandard_surface').setInput(40, normal_map_node)
                            image_node.parm("signature").set("vector2")
                        elif texture_type == "DISPLACEMENT":
                            mtlxdisplacement_node = selected_node.node('mtlxdisplacement')
                            if not mtlxdisplacement_node:
                                mtlxdisplacement_node = selected_node.createNode("mtlxdisplacement")
                            mtlxdisplacement_node.setInput(0, image_node)
                            image_node.parm("signature").set("default")
                            image_node.parm("filecolorspace").set("Raw")
                        elif texture_type == "OPACITY":
                            selected_node.node('mtlxstandard_surface').setInput(368, image_node)
                        elif texture_type == "METALNESS":
                            selected_node.node('mtlxstandard_surface').setInput(36, image_node)  # Index pour 'metalness'
                            image_node.parm("signature").set("default")
                            image_node.parm("filecolorspace").set("Raw")

            # Layout automatique des nœuds enfants du subnet
            selected_node.layoutChildren()

            if image_count > 0:
                hou.ui.displayMessage(f"{image_count} mtlximage nodes created and connected.")
            else:
                hou.ui.displayMessage("No mtlximage nodes created.")


iZem feat. Flavia Coelho & Luiza

Al3ph

Le clip de Sua Pele se veut un hommage aux productions visuelles des années 80/90, dans un esprit « DIY ». Inspiré d’une esthétique lo-fi, légèrement kitsch, celle de l’époque des VHS, du magnétoscope et de sa lecture parfois aléatoire, où la matière visuelle était conservée sur bande, nous avons cherché à évoquer un temps révolu, mais pas si lointain, qui nourrit encore nos imaginaires visuels. Cela nous semblait intéressant, pour un morceau intitulé « Sua Pele » (« ta peau »), composé et interprété pendant les périodes de confinement du Covid, moment où les corps étaient par définition distants, de nous éloigner des rendus numériques modernes, et de leur perfection lissée. On leur a préféré la nostalgie organique des vidéos conservées sur bande, avec leurs nécessaires imperfections, erreurs d’encodage et autres glitchs venant perturber la matière visuelle. Cette esthétique nous semblait un contrepoint intéressant et ludique au thème du morceau, qui évoque l’éloignement contraint des corps, et donc aussi la perturbation du rapport à notre sensualité.


Tracking, keying & green screen for the Supermassive band

Tracking, green screen & keying

I conceptualized, did all the tracking and green screen work for this Instagram reel, for the social networking superstars, Supermassive.


We_Are_Making_Artist_Disappear

artistisdead.ai

This project was born from a reflection on the status of the artist, concerning the new technologies devoted to artificial intelligence and, in particular, those allowing the production of images from a simple textual « prompt » (MidjourneyStable Diffusion etc…).

Idea

We know that, as a social, conceptual, and imaginary category, the very notion of artist has a history. That is to say that one does not represent the artist in the same way according to whether one is a Greek of Antiquity, a painter of the 13th century, or a contemporary artist of the 20th century. To put it in a nutshell, before the 13th century, in the West, there were only craftsmen.[mfn]https://www.cairn.info/revue-la-pensee-de-midi-2000-2-page-6.htm[/mfn][mfn]https://www.cnrseditions.fr/catalogue/arts-et-essais-litteraires/le-geste-la-pensee/[/mfn]

Before that, the very notion of the artist as a true creator is not even conceivable: in the Christian context, the possibility of creation, in the true sense of the word, is a divine prerogative, and in no way human.[mfn]https://www.persee.fr/doc/raipr_0033-9075_2011_num_179_1_4317[/mfn][mfn]https://www.librairie-gallimard.com/livre/9782070272617-l-oeuvre-d-art-et-ses-significations-essais-sur-les-arts-visuels-erwin-panofsky/[/mfn]

"Creatura non potest creare"
[The creature cannot create]

St Augustin - [354 - 330]

["This creative axis from nothingness constitutes the proper of God alone, and does not constitute the proper of any other creature."J

Jean Scot Érigène - [815 - 877]

This reflection is accompanied by Pierre Bourdieu’s analyses of the notion of art, taste, and creation. In a famous book (La Disctinction, essai pour une critique sociale du jugement [mfn]http://www.leseditionsdeminuit.fr/livre-La_Distinction-1954-1-1-0-1.html[/mfn]),

he shows in particular how the social category of « art » or « artist » can be analyzed according to a logic copied from an economic model. What makes the value, the recognition of a work or an artist, is also his position in a « market », which is not to be understood only in the strict sense of the economy (without excluding it). There is thus a market of the taste, a market of the artist, in the specifically sociological sense of the term.

And in this market, what makes the value of work, the value of an artist, is notably his rarity, how he distinguishes himself from his other competitors in the same market (hence the main title of the book: La Distinction). This rarity can be understood in at least two senses. For a long time, in pre-20th century art, rarity was fundamentally related to the technical capacity of the artist/craftsman: the greater mastery of technique ensured the production of works or objects of high quality, which allowed one to distinguish oneself in the market in question, and thus to have a higher rarity index. In the art of the 20th century, it is not so much the technical quality that is important, but the capacity to make legitimate and original a specific idea, and to make it legitimate in the eyes of the social world. That is done by a vast system of validation (institutional in particular), by a curriculum in fine arts, by the awarding of prizes, etc…

However, it seems to me that the new technologies of image creation by artificial intelligence come, in part, to question this very concept of scarcity, which is what our modern conception of the artist is based on. With these new technologies, anyone can create very high-quality images, in infinite styles, with a few clicks of the mouse. The possible consequence is that with such a leveling of all by this technology, the rarity is diluted, and thus the very concept of artist (visual, in our case), which is based on it, loses its prestige. Or in any case, be subject to profound upheavals.

We_Are_Making_Artist_Disappear

The goal of the WAMAD project is to illustrate these questions, at the intersection of computer science and artistic creation.

The idea is to create an Instagram account, which is fully self-powered, automatically, via code programmed in Python language and the artificial intelligence Stable Diffusion.

Stable Diffusion is an open-source image creation AI, which allows the production of images from a simple textual « prompt », filled in by the user. For example, the following image was automatically generated by Stable Diffusion from the following prompt:

“weird and disturbing portrait of mike patton puking blood, vivid colors, death, neon, art by ( ( ( kuvshinov ilya ) ) ) and wayne barlowe and francis bacon and artgerm and wlop and william - adolphe bouguereau”

The specificity here is that the prompt itself was generated by artificial intelligence, and not by a user.
Thus, the whole process of image creation happens without any human intervention.

To summarize the workflow:

  • When the script is launched,
  • A prompt is automatically generated,
  • Which automatically produces an image via S.D,
  • This image is « upscaled » via another python script (By default, Stable Diffusion produces images of 512 x 512px, we can increase this resolution, but at the cost of computation times much too long. So we use here a new algorithm that allows to enlarge the image, without losing quality, to reach 1024 x 12024px)
  • Hashtags are created automatically
  • This image is automatically uploaded on Instagram.

artistisdead.ai

Ce projet est né d’une réflexion sur le statut de l’artiste, en regard des nouvelles technologies concernant l’intelligence artificielle, et en particulier celles permettant de produire des images à partir d’un simple « prompt » textuel (Midjourney, Stable Diffusion etc…).

Idea

On sait que, en tant que catégorie sociale, conceptuelle et imaginaire, la notion-même d’artiste a une histoire. C’est-à-dire qu’on ne se représente pas l’artiste de la même manière suivant si l’on est un grec de l’Antiquité, un peintre du 13e s., ou un artiste contemporain du 20e siècle. Pour le dire de manière ramassée, avant le 13e siècle, en Occident, il n’y avait que des artisans.[mfn]https://www.cairn.info/revue-la-pensee-de-midi-2000-2-page-6.htm[/mfn][mfn]https://www.cnrseditions.fr/catalogue/arts-et-essais-litteraires/le-geste-la-pensee/[/mfn]

Auparavant encore, la notion même d’artiste comme véritable créateur n’est même pas pensable : en contexte chrétien, la possibilité d’une création, au sens propre du terme, est une prérogative divine, et en aucun cas humaine.[mfn]https://www.persee.fr/doc/raipr_0033-9075_2011_num_179_1_4317[/mfn][mfn]https://www.librairie-gallimard.com/livre/9782070272617-l-oeuvre-d-art-et-ses-significations-essais-sur-les-arts-visuels-erwin-panofsky/[/mfn]

"Creatura non potest creare"
[La créature ne saurait créer]

St Augustin - [354 - 330]

"Cet axe créateur à partir du néant constitue le propre de Dieu seul, et ne constitue le propre d’aucune autre créature."J

Jean Scot Érigène - [815 - 877]

Cette réflexion s’accompagne des analyses de Pierre Bourdieu, sur la notion d’art, de goût, et de création. Dans un livre fameux (La Disctinction, essai pour une critique sociale du jugement [mfn]http://www.leseditionsdeminuit.fr/livre-La_Distinction-1954-1-1-0-1.html[/mfn]), il montre notamment comment la catégorie sociale d’ « art » ou d’ « artiste » peut s’analyser selon une logique calquée sur un modèle économique. Ce qui fait la valeur, la reconnaissance d’une œuvre ou d’un artiste, c’est aussi sa position dans un « marché », qui n’est pas à entendre uniquement au sens strict de l’économie (sans pour autant l’exclure). Il y a donc un marché du goût, un marché de l’artiste, au sens spécifiquement sociologique du terme.

Et sur ce marché, ce qui fait la valeur d’une œuvre, la valeur d’un artiste, c’est notamment sa rareté, la manière dont il se distingue de ses autres concurrents sur un même marché (d’où le titre principal de l’ouvrage : La Distinction). Cette rareté peut être comprise en au moins deux sens. Pendant longtemps, dans l’art pré-20e siècle, la rareté est fondamentalement reliée à la capacité technique de l’artiste/artisan : la plus grande maitrise de la technique assure la production d’œuvres ou d’objets de grande qualité, ce qui permet de se distinguer sur le marché en question, et donc d’avoir un indice de rareté plus haut. Dans l’art du 20e siècle, ce n’est plus tant la qualité technique qui prime, mais la capacité à rendre légitime et originale une idée spécifique, et de la rendre légitime aux yeux du monde social. Cela se fait par un vaste système de validation (institutionnelle notamment), par un cursus aux beaux-arts, par la remise de prix, etc…

Or, il me semble que les nouvelles technologies de création d’image par intelligence artificielle viennent, en partie, remettre en cause ce concept même de rareté, qui est ce sur quoi se fonde notre conception moderne de l’artiste. Avec ces nouvelles technologies, n’importe qui peut créer des images de très grande qualité, dans des styles infinis, en quelques clics de souris. La conséquence possible, c’est qu’avec une telle mise à niveau de tous par cette technologie, la rareté se dilue, et donc que le concept même d’artiste (visuel, dans notre cas), qui se fonde dessus, perde de son prestige. Ou en tout cas soit sujet à de profonds bouleversements.

We_Are_Making_Artist_Disappear

Le but du projet WAMAD est d’illustrer ces questions, au croisement de l’informatique, des nouvelles technologies et de la création artistique.

L’idée est de créer un compte Instagram, qui soit intégralement auto-alimenté, de manière automatique, via du code programmé en langage Python et l’intelligence artificielle Stable Diffusion.

Stable Diffusion est une IA de création d’image, en open source, qui permet de produire des images à partir d’un simple « prompt » textuel, renseigné par l’utilisateur. Par exemple, l’image suivante a été automatiquement générée par Stable diffusion à partir du prompt suivant :

“weird and disturbing portrait of mike patton puking blood, vivid colors, death, neon, art by ( ( ( kuvshinov ilya ) ) ) and wayne barlowe and francis bacon and artgerm and wlop and william - adolphe bouguereau”

La spécificité ici, est que le prompt lui-même a été généré de manière informatique, par une intelligence artificielle.

Ainsi, la totalité du processus de création d’image se déroule sans aucune intervention humaine

Pour résumer le workflow :

  • Quand on lance le script,
  • Un prompt est généré automatiquement,
  • qui produit automatiquement une image via S.D.,
  • Cette image est « mise à l’échelle » via un autre script python (Par défaut, Stable Diffusion produit des images de 512 x 512px, on peut augmenter cette résolution, mais au prix de temps de calculs beaucoup trop longs. On utilise donc ici un nouvel algorithme qui permet d’agrandir l’image, sans perdre en qualité, pour atteindre 1024 x 12024px)
  • Des hashtags sont créés automatiquement
  • Cette image est automatiquement uploadée sur Instagram.

Technique

The different scripts used for this project are the following:

  • The main script is written in Python
  • Stable diffusion
  • txt2imghd, is used to upscale images to a higher resolution.
  • The prompts are generated automatically from a custom script based on a mix of GPT-3 and a combination of words classified according to a python dictionary.