Artistic Inspiration Research #1: Anna Ridler

Anna Ridler: ‘Let Me Dream Again’ (2019-2020)

 

Project brief here

Film here

Introduction

Artist Background + Process

Anna Ridler is a London-based artist and researcher whose work has been exhibited at institutions worldwide. Having earned the distinction of being one of the nine “pioneering artists” examining the intersection of art and AI by ArtNet, her work process involves the study and employment of emerging technologies and methods of measurement and their place in the world. In Let Me Dream Again, Ridler attempts the restoration of lost films using machine learning. The application of machine learning reflects her wide exploration of the profound capabilities of AI: where she had once used machine learning as a “disintegration loop,” to “destroy what there was until no meaning was left,” in Let Me Dream Again, she uses it to create what has disappeared, to fill in blank spaces.

Visual, Technical, Material Features

Let Me Dream Again is a series of experiments resulting in the creation of one ever-evolving GAN generated film. GANs, or generative adversarial networks, is a class of machine learning frameworks composed of two models (Generator and Discriminator) that check for patterns in data. The models “compete” with each other to replicate the patterns, generating new data that plausibly could’ve been drawn from the original input. GANs is powerful in generating images indistinguishable from the original visuals it was trained on or textual descriptions it received. While Ridler worked with lost films, these films were not altogether “lost;” fragments existed online. In one experiment, she utilized film of still images from found cinema clips (the original archival footage) as the backdrop, overlaying it with a reel of GAN generated film. The result is a film that intercuts the modern and the past, fact and fantasy, and pays homage to the original work while being wholly Ridler’s own.

Conceptual Background (Ridler’s inspirations, intentions, historical context).

Ridler noticed parallels between the early cinema of Hollywood and Western Europe and machine learning-generated imagery: both early auteurs and current artists working with machine learning had to invent and are honing new visual languages in a burgeoning, but still niche, field. Both strive to document and reflect on the world. Keeping with the fact that she had to fill in the gaps of missing film, Ridler used GANs to experiment with the space between and bring together reality and dreamworld.

The phenomenon imbued throughout ‘Let Me Dream Again’ is the act of dreaming. Dreams are often bizzare in that they are quasirealistic, sometimes only having a single thing “off” from reality. GANs have come to be called an algorithm that “dreams” or “hallucinates” based on how it tweaks real imagery. 

During the period that silent films were most popular, scientists discovered a man in Russia who had a perfect memory. Although this sounds as if this would be the perfect stop against this
decay and fragility, he was miserable .
so much information was overwhelming. Perhaps missing things should remain missing. Although the intention of these experiments were to try to recreate what was lost. Ultimately I feel they all fail in this regard: what comes out is clearly not a missing film. But I am happy with this outcome – something that is taking what has
gone but reworking and reconfiguring it to make new.

The Film

“Let Me Dream Again” shares its name with an early Victorian film that is “thought to be the first known instance of a dreamscape in cinema and a transition between dreams and reality.” 

 

Discussion: Findings + Connection to Creative Coding

What’s the significance of the work? What impact does/doesn’t it have?

Ridler’s own words are interesting. She concludes: “Perhaps missing things should remain missing. Although the intention of these experiments were to try to recreate what was lost. Ultimately I feel they all fail in this regard: what comes out is clearly not a missing film. But I am happy with this outcome–something that is taking what has gone but reworking and reconfiguring it to make it new.”

I don’t really know anything about film archival, but my first impression was that GANs might provide a unique opportunity to truly bring back/add to things that are lost, which I assume is what Ridler is striving to do. Watching the film though, I realized it is bizarre and somewhat eerie. I don’t know if GANs potential lies in serious archival, but more likely what Ridler suggests, which is repurposing. I would like to know which fragments of lost film(s) she used, if they were ever named, and where she sourced them from.

What are the connections with the concepts we are learning in CCLab?

We haven’t really talked about machine learning much, but creative coders can utilize it. What Ridler has created here in her exploration of dream vs reality and past vs present, also can let us further explore the boundary between human (director, film editor, programmer) and computer. 

What does the work inspire you to do next

I’m interested in the way she used machine learning to generate a narrative.  One of the ideas I had early on was to incorporate one of Sylvia Plath’s quotes from The Bell Jar, which has very evocative language. 

I saw my life branching out before me like the green fig tree in the story. From the tip of every branch, like a fat purple fig, a wonderful future beckoned and winked. One fig was a husband and a happy home and children, and another fig was a famous poet and another fig was a brilliant professor, and another fig was Ee Gee, the amazing editor, and another fig was Europe and Africa and South America, and another fig was Constantin and Socrates and Attila and a pack of other lovers with queer names and offbeat professions, and another fig was an Olympic lady crew champion, and beyond and above these figs were many more figs I couldn’t quite make out. I saw myself sitting in the crotch of this fig tree, starving to death, just because I couldn’t make up my mind which of the figs I would choose. I wanted each and every one of them, but choosing one meant losing all the rest, and, as I sat there, unable to decide, the figs began to wrinkle and go black, and, one by one, they plopped to the ground at my feet.”

 

References

I saw my life branching out before me…… quote by “Sylvia Plath”: What should I read next? What Should I Read Next? Book recommendations from readers like you. (n.d.). https://www.whatshouldireadnext.com/quotes/sylvia-plath-i-saw-my-life-branching.

 

British Film Institute. (n.d.-a). let me dream again. BFI Player. https://player.bfi.org.uk/free/film/watch-let-me-dream-again-1900-online.

 

Mini Project 2: Interactive Memories and Dreams

Project Title: to be loved is to be changed

Partner: Ariel

Original Sketch

Link to her sketch.

 

Her Memory

Ariel and I didn’t really talk about very specific dreams/memories (both of us don’t remember our dreams that well), but she still told me something that I thought I could use. We both love cats, and she told me that she raised her cat from when it was a tiny and skinny kitten, and it’s now fluffy and chubby. I loved this story, and wanted to portray it through her sketch since she happened to add a cat to it already.

 

Description and Concept

In Ariel’s self portrait, you see a girl, with half her face visible, holding a spoon with a cat sitting in it. Details to note are her red painted fingernails and lines and curves making up her ear and details in the top left hand corner of the canvas. Ariel said she added the cat and the details in the corner (the crescent moon, the dashed lines) to make for a more visually interesting sketch. The nails I think are important to note, as Ariel is passionate about doing nail art, and has been doing her own nails for several years.

I wanted to portray Ariel’s love and care for her cat through my manipulation of her sketch. Between learning more about her and her memory, I totally forgot about the detail about her nails, which I would’ve included by making her nails change color, shape, or size in the sketch if I were to do this again. I liked the colors she used–it gives the entire sketch a sort of bubblegum palette, and wanted to use similar colors. that would complement it.

Demo

 

Link to my sketch.

Coding Process

The first step I completed was making the red dot on the orange lines move. I had no particular vision in mind yet, I just wanted to practice with the mouseIsPressed, keyIsPressed, or mouseX and mouseY functions first. 

I later had the idea to “feed” the cat, by moving the red dot down on the y-axis and having it stop  moving when it reached the cat, to demonstrate how Ariel’s care gave her cat a healthy and good life. I did this by constraining the dot to not move beyond y=450. Here is the code for the dot:

Next, since I wanted to demonstrate that Ariel’s cat changed under her care, I wanted the focal point to be the cat growing bigger when the dot reached it. Unfortunately I had no idea how to do this–we’d learned how to code growing and shrinking circles, but the cat is made up of multiple ellipses and triangles and I didn’t know how to manipulate this group of shapes. Instead, I added a heart to appear only if the dot reached the cat.

 

I had a lot of trouble with this as well. I first coded the heart by itself using two circles and a triangle, reference taken from this page of the p5.js reference. To make the heart only appear when the dot reached the cat, I used a conditional statement. Since I added constrain under the code for the red dot to not make it move past y=450, I coded for the heart to appear if mouseY>440. This way the heart would appear around the time the dot reached the cat. I also added another command for the text “please grow!” to show up simultaneously.  My main issue here was that the heart would not show up at all when the cursor moved between 440 and 450. To fix this, I had to get help from Professor Moon. We found that I had mistakes in the order of execution I was telling p5.js to perform, as well as with my variables. I had multiple x and y variables that were for different actions. We fixed this by rearranging the code and declaring global variables. 

assigning global variables before function setup
reddot code
cat code
heart code AFTER cat code

Once I understood how to use the global variables, I had no issue adding the command to write “please grow!” on the first try.

 

Now that I had an element that changed and followed the mouse cursor, I added one that would change if the mouse is pressed. I used an if-else conditional statement. For this. If the mouse is pressed,  a different moon phase (full moon, ellipse) would appear. Otherwise Ariel’s original crescent moon would be there.

 

I added a key is pressed  element using the same if-else statement.  If you pressed any key, her mouth would close and turn into a smile. Otherwise it would be an ellipse.

Then I added elements that would change over time, independently and without user input. The first one was multicolored circles that would flash across the canvas. The reference I used was Moon’s code in class.

variables defined before function setup: circleX, circleY, rgb

The next element was the earring color. For this, I referenced this code by user hosken as a guide. Before function setup, I declared the counter=0 and assigned earringColor for the color of the earring. 

 

earring code
earringColor declared before function setup

 

Finally, the last elements I added was the star from Moon’s sketch and a sparkle that took the place as the cursor from the p5.js reference.

 

 

Reflection

I am not very satisfied with this sketch because I did use lots of code either from the p5js reference, public examples, or practice we did in class, and overall feel like I didn’t tweak very much. I didn’t feel like I’d practiced enough beforehand to feel confident in being able to write and execute my own code, and ran into a lot of errors and confusion.  After finishing this project, I feel a little more competent in using variables and conditionals, being more aware of syntax, but feel I could use more practice and care in my order of execution. Also, I overall feel more confident in using conditionals than variables.

One resource I came across that helped me understand everything better and that I will refer back to in the future is happy coding. 

I think that my sketch only covered a minuscule part of possible real world-to-digital interactions, and that there is so much more to explore. I think an interactive device that could bring this memory to life is anything that involves the action of giving/adding to or caring for something, such as some kind of VR game that monitors motion (like pouring food for a cat) and displays progress on a screen.