Feedback Loops in Pure Data

Recently I’ve been making a few video loops for Dreambait Recordings to use in their shows. The videos, made using video samples and Pure Data, focus on feedback loops. For BYOB Birmingham on Friday 16th March I decided to showcase these video feedbcak creations. Some photos of it in action:

BYOB Birmingham

BYOB Birmingham Flatpack Festival 2012

Photo by minuek

The Pure Data patch used to make these visuals, inspired by this patch is pretty simple: Put an object on screen, take a snapshot of the screen and then apply that snapshot as a texture to another object. You can download it below

Feedback Loops patch

Click to download

As a texture for the cube I used the Skin Cells video again. You could replace this with any video, image or webcam feed. The [pix_contrast] object is there purely to provide an over-saturated look (try bringing Saturation to a negative number). For BYOB I automated the controls by using random number generators (feeding [random] into [metro]). Here’s a render of what the audience saw:

All that is needed now is some cool audio to go with it! Thanks to all those that came to BYOB to see this and other awesome artworks!

BYOB Birmingham Thanks

BYOB Birmingham happened on Friday 16th March and it was a great success! For those who like statistics, in the end the event had 18 artists (plus videos from VIVID’s archives), 22 beamers, and nearly 200 people attend.

My thanks for making the night awesome go to:

  • Flatpack Festival, which has been going for six years, for putting on a great festival and allowing BYOB to be part of it
  • VIVID, whose amazing gallery space was perfectly suited for this event. There were worries about there being too many cables and causing a power outage due to too many beamers, but the excellent VIVID staff were on hand to make sure it all went swimmingly
  • Bobby Bird from Modulate and Gary Judge (aka Arcade) for providing awesome music throughout the night. Many times I received comments about how well the music matched the event. Also, Cylob FTW!
  • Shelly Knotts, for being helping me on the day, taking photos, keeping me sane, and for buying me lunch ;-)
  • Rafaël Rozendaal, for coming up with the BYOB idea and allowing anyone to do as they wish with it
  • The people of Birmingham and West Midlands, for coming out in your hundreds to support the event
  • And last, but not least, my thanks go to all of the artists that traveled from all over the country to be part of BYOB Birmingham!

Be sure to check out the artwork from all of the exhibiting artists:
Alan Brooker, Ewa Mos, Daisy Hogan, Antonio Roberts, Chris Plant, Modulate, James Warrier, Sarah Rose Allen, Paul Harrison, Kate Spence, Elizabeth Howell, Soraya Fatha, Leon Trimble, Michael Lightborne, Matt Murtagh, Pete Ashton, AAS

If any of my readers took any gifs, photos or videos (even phone quality is great) upload them to Flickr/Youtube/Vimeo and tag them “BYOB Birmingham” or send them to byobbirmingham@gmail.com and, with your permission, they’ll be used in a video documenting the event.

In the meantime here’s some photos from the event

IMG_04

Photo by Modulate

 

BYOB Birmingham

BYOB Birmingham

BYOB Birmingham Flatpack Festival 2012

Photo by minuek

 

Keep an eye on byobbirmingham.tumblr.com for more future events

Libre Graphics Research Unit article on Furtherfield.org

Last month I attended the Co-Position meeting in Brussels of the Libre Graphics Research Unit. I’ve already talked about one of the work sessions in a bit of depth. Today I was alerted that an article I wrote for Furtherfield that gives an overview of the meeting went live!

Libre Graphics Research Unit on Furtherfield

Click to view the article

How can designers and programmers work more harmoniously? How can the tools being created better meet the needs of users? There is a need for designers to have a greater role in the production of the tools that they use, aside from just reporting bugs, requesting features or designing logos for open source projects.

Head over to further field to read the whole article.

Here’s some of my favourite photos from the meeting from myself and Tom Lechner

The Libre Graphics Research Unit

Almost all of the LGRU attendees


LGRU Day 4 - Prototypes

At the roundtable discussion (there was no table to speak of)


Preparing the round table

Preparing the roundtable discussion


LGRU Day 3 - Shared Vocabularies

Toonloop performance by Alexandre Quessy

More can be seen on the LGRU Flickr tag

Non-Destructive Image Editing and Git

One of the hot topics at the Lbire Graphics Research Unit Co-Position meeting came from the Visual Versioning work session. The work session focused on creating mockups for ways to improve their Visual Culture Git Viewer.

OSP Visual Culture Git Viewer

This tool goes some way to addressing the issue of not being able to visualise the contents of a repository by providing thumbnails of the contents. One of the functions missing from this tool is the ability to compare and merge different versions images. Github already provides the ability to compare still images (.jpg .png etc) in various different ways:

Image view modes

However, this is only a way to compare the output of the program. How could revision tools work with PSD/XCF, SVG or SLA files that contain more information such as layers and tools used to complete tasks?

Non-Liner Version Control in GIMP

A team of researchers has attempted to address this problem, at least in GIMP. Their work demonstrates an extremely effective way of doing version control from within GIMP

The research surrounding this tool is available to view and hopefully it’ll one day be implemented into GIMP. Whilst this solution is very effective and address every problem mentioned so far, it creates another problem: It is tied to GIMP and is not easily transferable to other programs. Trying to apply this to other programs such as Scribus or Inkscape would require extra resources, which are in scarce supply. Essentially what is needed is a program-neutral solution that would require few additionaly resources to implement.

Ctrl+Z

Almost all modern programs allow you to undo your actions. When you look at this with more detail you begin to see that undo is a (highly unsafe) method of revision control. By using Ctrl + Z and Ctrl+Y/Ctrl+Shift+Z you can scroll through previous states of a file. All of the data surrounding your use of the program, such as what tools you have used, what files you have opened and possibly even the time each action was executed, are being recorded in the undo history. One solution proposed in the work session was to devise a way to capture and record this data. By doing so you could “play back” the file through each of its stages. Once you have this data you could then begin to build a standalone tool that operates in a similar way to the GIMP revision control tool

Edit Decision List

A very common way in which people implement their own version control system is to create numbered revisions of their files. For plain text files this presents few problems, but for binary files (PSD/XCF etc) it could mean that you have many large files which present a whole host of problems around bandwidth and storage space. Ana Carvalho and Ricardo Lafuente, who produce Libre Graphics Magazine with ginger coons, revealed that the repository for the magazine – including previous issues – has reached 8GB.

The solution proposed at the work session would address this issue as you would only need one copy of the original files that you work from. The “undo data” would be captured to a separate file that would then simply apply those actions to the file.

GEGL

GEGL, which is the new core powering future versions of GIMP is, to my knowledge, already working in a non-destructive way. Peter Sikking, the lead interaction and UI designer for GIMP, has more to say on this topic.

Blender node editor by Dykam

Users of Blender and other node-based compositors will already be familiar with this approach. Effects are chained together in a non-destructive and then sent to an output file. As Pete Sikking describes:

If the structure of [the] graph is written to a file—apart from the input images, all other boxes are just snippets of XML—and a year later it is re‑opened in GIMP, then each of the operations and their parameters; each of the vector shapes or text can be freely changed

If the time can also be recorded then you could essentially reconstruct an image using nothing but the input files and this XML file.

Next steps

Of course, at the moment, all of this is theory and ideas which, in some ways, was the purpose of the work session. For this to be taken further what needs to be done is to first find a way to expose the data that is saved in the undo states. If this data is useful then the next steps can begin. Then, if it looks like a viable solution, all that is needed is developers willing to take on the task.

Thanks…

My thanks go to Constant and its many partners for organising for Libre Graphics Research Unit and to those in the work session – Ana Carvalho, Eric Schrijver, Ale Rimoldi, Gijs de Heij, Thomas Laureyssens and Camille Bissuel – whose ideas this blog post contains, along with some of my own.