I'm describing my big Bloomsday Halifax project by writing up what I did for each episode. In this entry, I'm covering Episode 15 of "Ulysses": "Circe".
Circe is perhaps the most daunting episode in "Ulysses". Physically it takes up nearly a quarter of the whole book, and the writing is especially dense and difficult to follow. The episode is named after a witch in the Odyssey who turns Odysseus' crew into pigs, and this is reflected in the many metamorphoses and transformations and hallucinations that take place in this episode. The episode is written as a play script—or, I would argue, possibly a movie screenplay, since the surreal transformations feel a lot like film edits and effects, and we know Joyce was fascinated by cinema.
The episode takes place in the rowdy dangerous streets of Dublin's red light district "Nighttown" and in the lounge of a brothel, where Bloom finds Stephen and several friends being entertained by prostitutes. Visions intrude of Bloom's past selves, personifications of his desires, and visions of public punishment. There are parades, holy and unholy masses, court trials, sacred visions, and some very explicit gender-swapping sadomasochism. Finally, Stephen panics, damages a lamp, flees drunkenly into the street, gets punched out by a soldier, and finally rescued and led away homeward by Bloom.
In an ideal world, this episode would have been represented by a crazed retro-tinged drag burlesque show, probably at the old Company House or even Menz/Molly's bar, up in the old "gay village" of north-end Gottingen. I wouldn't even know where to start in organizing something like that, and besides that those venues have been long closed. In honour of their past glory, I set this episode in that stretch of Gottingen.
But the real action was in the app itself. I had been experimenting with LLMs and diffusion image generators for a while, and was excited to try OpenAI's new and powerful API. I use their text generation tools for some other episodes, but Circe seemed perfect for trying out images.
While they have improved greatly in recent years, AI-generated images still often feel uncanny, often inadvertently becoming fully surreal. For this episode, the uncanniness turned out to be a feature not a problem. I wanted pictures that looked strange. For this to work, I set up a special screen with three buttons that would let the user generate three different images based on three environments in the episode: The Lounge, The Stage, and The Street. The app would contact the API server, which would generate the prompt and send it to OpenAI. Every participant would get their own unique images, and to make it even more personal, the images would feature one of the virtual objects that they had collected earlier.
For "the lounge" the prompt was:
"A vintage 1900s image of a lounge in a brothel in Dublin Ireland. 3 sultry young ladies in gowns and corsets and kimonos are lounging on couches and chairs. Three men loiter nearby in shirtsleeves. The mood should be smoky, woozy, decadent, seedy, and a bit uncanny. Surreally, a large version of #{random_item} is prominent in room. "
Here are some of the pictures that I was able to generate while testing:
(I did a lot of testing with "gorgonzola sandwich")
(I like how specifying a bowler hat made Dall-E add hats to several of the people as well)
For "the stage" the prompt was:
"A stage play in Dublin Ireland in June 1904, where the main prop is a giant version of #{random_item}. There should be 5 actors on stage. Some of the actors should be cross-dressing or in drag, and others should be dressed as animals."
Here are some of the pictures:
(Once again with the cheese sandwich. The grotesque semi-melted faces generated here actually make the picture work better with the theme of the episode.)
(This was one of the first images I tried, featuring the famous bar of lemon soap. This is from before I specified details about the costumes, but it reassured me that this surreal images project was going to work.)
For "the street" the prompt was:
"A vintage black and white photograph of a street scene in Dublin Ireland in June 1904, with a celebratory crowd watching a big parade, where a giant version of #{random_item} is the focus of attention. The buildings should be decorated with flags and bunting."
This was maybe my favourite of the prompts, as it created ridiculous giant parades of random objects.
(This is one of my favourite pictures of the whole Bloomsday Halifax project, tying the surreal street parades of Circe with the opening lines of Telemachus. I also like the Black Parade vibe.)
To get the prompts to work properly, I added an alternate description field to the collectible items, so instead of, for example, "a statue of not Terence Mulcahy" which is a reference to a joke in the Hades episode, instead it's a "a graveyard statue of Jesus" so Dall-E would have something more concrete to work with.
I enjoyed using AI in this project. It allowed me to provide custom images for every participant, and the limitations of the technology actually made it more suitable. I'll go into more of my thoughts on AI in the other episodes, but my main takeaway is that AI content is best as part of a work, not the entire work. I think AI is best if used for inspiration, or to create something you couldn't have done otherwise, or in a new way. There's a lot to say about where AI gets its source images and how it's often used as a short-cut to reduce staff. That said, I've spent much of the last decade and a half using technology to create new images from combinations of found originals and I think AI imagery is an updated version of the same idea.
Last but not least was the background image for the location. I've always liked the big mural beside the empty lot near the Bus Stop Theatre featuring a surreal image of a dog and a clown—it's always seemed perfectly evocative of this episode, especially the unholy mass read in reverse, where the congregation repeatedly chants "DOG". To link it back to the episode, I found an old 1900s photo of a sex worker from New Orleans who reminded me a bit of the "Zoe" character in the episode. I had to do some touch-ups to make her look a little less naked underneath her sheer clothes.