Skip to content
Random Quark. creative technology studio
A row of imaginary AI-generated flowers in green, purple, yellow and white on a black background

Brainwave Flower Bloom

An interactive installation for Fort Kniepass in Austria that reads your brainwaves and grows you a garden of flowers that have never existed.

A visitor wearing an EEG headband looks at a tall screen showing green, purple, white and yellow flowersA visitor wearing an EEG headband stands before the installation, a screen on a wooden plinth showing four glowing flowers

Visitors put on an EEG headset and stand still for twenty seconds while it listens to the electrical activity of their brain.

Moments later, their mind blooms on screen: four flowers grow out of the dark, one for each type of brainwave, each shaped by what was happening in their head.

Hire this experience

A full reading takes about 45 seconds. Each flower grows live with its brainwave's score beside it, and the garden ends with a one-line reading of the visitor's state of mind, such as "Balanced & Bright".

The Brainwave Decoder: a guide explaining what each flower colour and height says about a visitor's brainwaves

Every garden is a portrait. Alpha waves grow green, beta purple, gamma yellow and theta white, always in the same order, and the stronger the signal, the taller and fuller the flower.

That consistency is the point. Most generative AI art is beautifully vague; here, people can actually read their result and compare it with their friends'.

A QR code lets each visitor take their garden home, together with a decoder that explains what their flowers say about them, from "Your mind is serene and supple" to "Your brain just lit up!"

How it works

Generative AI video is famously hard to control: shapes melt, colours drift from frame to frame, and any data you feed it tends to get lost. For a work people would read as a portrait of their own mind, that wasn't good enough, so we built a pipeline that keeps the AI on a tight leash.

The pipeline in seven steps: p5.js control animation, ControlNet edge detection, IP-Adapter reference, generated frame, AnimateDiff frames, upscaling and compositing, and the final labelled video
From data to final video in seven steps.

1. The data draws the skeleton

Each brainwave drives a procedural growth animation, written in p5.js: how tall the flower grows, how fast, how thick the stem gets. A touch of noise adds wind and varies the petals, so no two flowers are the same, but every one stays true to its reading.

The animation also records where the flower head is in every frame, which we use later to pin the live labels to each bloom.

Three stages of one frame: a simple flower silhouette, its outline, and the finished glowing purple flower

2. The AI paints over it

Frame by frame, ControlNet turns each silhouette into an outline that Stable Diffusion XL must follow, which locks the shape and motion to the data. An IP-Adapter anchors the look to one reference image, so the flower keeps its identity from the first frame to the last, and the text prompt barely gets a say.

AnimateDiff then smooths the motion across frames, removing the flicker that usually gives AI video away.

Thirty-two imaginary flower species in white, yellow, purple and green, resembling coral, jellyfish and alien plants
Part of our botany of imaginary species. We generated 160 reference images with Flux, from prompts about sea creatures, soft coral, bacterial growth and alien life, and let the pipeline read them as flowers.

3. Results within seconds

Each finished video takes close to an hour of GPU time to generate, far longer than a visitor can wait. We therefore rendered a library in advance: 160 flower animations, 40 for each brainwave, combined into more than 2,000 gardens, with over 400,000 possible arrangements.

When the reading ends, the visitor's four brainwaves are scored relative to one another, and the garden that matches their reading begins to grow on screen within seconds.

Client: Fort Kniepass, Austria

Technology: EEG // p5.js // ComfyUI // Stable Diffusion XL // ControlNet // IP-Adapter // AnimateDiff // Flux // Python // openFrameworks

Research: our approach is described in the paper Brainwave Bloom: A Controlled Generative AI Pipeline for EEG-Driven Visualisation (submitted to SIGGRAPH Asia).

Hire this experience