Ceci est une ancienne révision du document !
Artificialité insolente
6/10 septembre 2021
Avec production d'un fanzine regroupant les travaux de la semaine.
Pages au format A5 (148 x 210 mm), définition de 150 DPI (874 x 1240 pixels)
Nathalie
GPT-3 -> VCV-Rack
Neuranim
Apprentissage de la marche par renforcement et par un algorithme génétique pour des robots virtuels.
Ici : https://github.com/gweltou/Neuranim
Zine
Un zine a été concocté pendant la résidence, il reprend les textes créés avec GPT-3, des images créées avec VQGAN-CLIP, etc. Le zine est en partie «dynamique», certaines pages sont différentes entre chaque exemplaires.
On peut en télécharger une version lisible ici : (les pages sont dans l'ordre) ou en imprimer une version personnalisée depuis les scripts disponibles sur github, ou en commander un exemplaire auprès des portes logiques (prix : 5 euros) en nous contactant à xor@lesporteslogiques.net
télécharger : zine artificialité insolente (pdf, 10 Mo)
code : https://github.com/lesporteslogiques/zine_artificialite_insolente
Comment l'imprimer sur le matériel de la baleine ?
A partir d'un exemplaire pdf :
- ouvrir avec le visionneur de documents pdf, imprimer sur papier couché 90g
- réglages d'impression :
- général : A4, paysage,
- ajustement des pages : aucun, décocher les 2 cases
- avancé : position de reliure : reliure haut, type d'impression : 2 faces, pas d'économie de toner
Une fois imprimé :
- marquer le pli de la couverture en la pliant, pour faciliter le positionnement des agrafes
- régler la profondeur de l'agrafeuse si nécessaire, agrafer
- plier l'ensemble
- massicoter le bord des feuillets pour obtenir un bord plat
Les premiers exemplaires ont été imprimé avec des agrafes 23/8 (8 mm de profondeur), pour 16 pages des 23/6 seraient plus appropriées
Graphisme procédural
Réalisé avec Processing.
Peut-être une âme poétique pourrait y voir un lien avec l'IA. Les motifs a aussi servi à illustrer en filigrane les pages “Guru Artificiel Personnel”.
hole.pde (cliquer pour afficher le code)
- hole.pde
import peasy.PeasyCam; PeasyCam cam; int num = 888; float noise_scale = 0.05f; float z_scale = 30f; float radius = 60f; float min_size = 20f; float rotation = 0.0f; int counter = 0; void setup() { size(800, 600, P3D); //fullScreen(P3D, 2); cam = new PeasyCam(this, 500); strokeWeight(1.2); } float angle_offset = 0f; void draw() { background(255, 220, 234); if (counter > 100) { rotateZ(rotation); rotateY(rotation*0.2); rotation += 0.0004f; } angle_offset += 0.00004f; float angle_step = TWO_PI / (num-1); for (float angle = angle_offset; angle < TWO_PI+angle_offset-angle_step; angle += angle_step) { float distance = radius; float x = distance * cos(angle); float y = distance * sin(angle); float z = calcHeight(x, y, distance); // First point in multi-line PVector prev = new PVector(x, y, z); float size = min_size * (1 + 8 * noise(x, y)); float dist_step = 1.3f; for (distance += dist_step; distance < radius+size; distance += dist_step) { x = distance * cos(angle); y = distance * sin(angle); z = calcHeight(x, y, distance); stroke(60, 60, 80, 1.5f*(distance-radius-20)); line(prev.x, prev.y, prev.z, x, y, z); prev.set(x, y, z); } distance = radius+size; x = distance * cos(angle); y = distance * sin(angle); z = calcHeight(x, y, distance); line(prev.x, prev.y, prev.z, x, y, z); } counter += 1; } float calcHeight(float x, float y, float dist) { return noise(x*noise_scale, y*noise_scale) * z_scale + 20*log(dist-radius-min_size+0.001f) - 42; }
Et aussi
Le robot de discussion de Serge @ Labomedia : https://ressources.labomedia.org/dialogpt