More selected projects

Digital Feedback

A creative exploration of a feedback system which generates colourful abstract landscapes. The resulting captured image is a blue-print of moving spaces and the witness of the passing of time.

produced by: Raphael Theolade

A few years ago I purchased a video mixer Panasonic mx-50. This piece of vintage hardware from the 90’s allowed me to mix analogue video sources, transition from one to another, and add basic video effects. By plugging one output in one of the input, by feeding a second input with a camera stream, and playing with the different effects, the machine started to glitch. It happened to be an exciting video synthesizer generating moving shapes, vibrant saturated colours and textures, combination of primary video green, blue and red and secondary colours magenta, cyan and yellow. A couple of months later I bought a second one. Once plugged together in chain, even more interesting colours and possibilities were generated.

Hence, I digitalised the result in order to edit short videos and to create soundtracks with a synthesizer Moog, using the flow of colours as a score to compose the music.

I really enjoyed this experimental creative process. I had no idea of what would be the outcome at the beginning of each new session. I was exploring the realm of possibilities contained in this generated animation, going from one accident to another until I would stop on a pleasing fragment that I would eventually collect.

Therefore I thought it would be stimulating to attempt to recreate this system with code.

Firstly it would allow me to improve the interaction. I could design a controller myself, which would suit exactly my needs. Thus it would be easy to add any effect or functionality missing from the original machine into the program. And finally, the sound could be generated by the images in real time, or the opposite, the sound could create images.

The architecture of this program written in Processing, lies on the principle of ping-pong buffering. A buffer is a piece of code that can store data for a short amount of time. I used “PGraphics” objects to store a firstly generated noisy line on one side of the screen. A first buffer (A) store this image and send it to a second one (B) which offset it about a few pixels. Each frame the role of these buffers are inverted by drawing A into B and B into A. As a result a trail effect is produced. By varying the colours over time this trace will eventually fill the entire screen with a wavy pattern. Then to add some texture to it I used another buffer fed with a noise which masks the outcome of A. This noise can be modified in real time with the position of the mouse over the screen. Finally I programmed different noises and colours which can be changed by pressing different keys on the keyboard.

For a further development I would like to improve the speed of the program, which tends to be quite slow in HD resolution, and design a physical interface in order to make this “video synth" ready for performance.


1 - Jeremy Behreandt's, Pixel Array's tutorial, Available at: Accessed 12 Feb. 2019

2 - Ping Pong buffering with GPU tutorial, Available at: Accessed 12 Feb. 2019

3 - Daniel Shiffman's, Image and Pixels Tutorial, Available at: Accessed 12 Feb. 2019

4 - Angel Andres's sketch on OpenProcessing, Available at: Accessed 12 Feb. 2019

5 - AUTR | Gilbert Sinnott. Accessed 12 Feb. 2019.

6 - Jean-Baptiste Bernadet. Accessed 12 Feb. 2019.

7 - Sebastian H. M. Murdock. François Bayle - Toupie Dans Le Ciel (New Version 2009) [1979-1980]. YouTube, Accessed 12 Feb. 2019.