Multimedia Programming with Pure Data

A new book by Bryan Chung, Multimedia Programming with Pure Data was recently published by Packt Publishing.

Multimedia Programming with Pure Data

Multimedia Programming with Pure Data

Multimedia Programming with Pure Data

Despite it being a big part of Pure Data Extended, GEM – and making visuals in PD – doesn’t get as much attention as audio processing. Whereas sound-makers have resources such as Loadbang and excellent tutorials from Obiwannabe, visual artists have little access to such a comprehensive resource, which can be a bit off-putting for new users. With that in mind I was more than happy to be a reviewer for this book that focuses almost entirely on GEM and making visuals in PD.

Although it is definitely suited to new users this book does get quite complex in later chapters where it begins to detail camera tracking, OpenCV and particle generators. I even learnt a couple of things!

Most of the tutorials are written to work on all operating systems (Linux, Mac and Windows) though some instructions, such as installing libraries, aren’t always covered. That could be another book in itself!

Get yourself a copy now!

fizzPOP’s New Home

Those of you who have been following my blog since around 2009 will remember that myself and Nikki Pugh once ran a hackerspace in Birmingham called fizzPOP. Actually, calling it a hackerspace was a bit of a stretch as we never had our own permanent, access-any-hour space and always relied on organisations such as VIVID, Birmingham Friends of the Earth and Friction Arts for space to hold our fortnightly meetings (thanks!).

Fast-forward to 2012/2013 and a new group of brave people have taken over the running of fizzPOP and, in July 2013, acquired an actual space!


Photo by Tom Hodson

fizzPOP's new home

fizzPOP's new home

The new residence is located at 28 Floodgate Street in Digbeth. As you can see from the photos they’re still busy cleaning up and moving everything in, which they always need help with. If you can help with anything just contact them on the mailing list to arrange everything.

Membership looks set to be £25 a month, which seems more than reasonable for access to a massive toolshed and great company. I’ll be signing up for sure!

Congratulations to all involved for making this a reality!

BYOB Boiler Room – 22nd July

On Monday 22nd July I’ll be off to London to take part in a rather special edition of Bring Your Own Beamer (BYOB), which sees the usual barrage of artists project against a backdrop of music from Mark Ronson and others!

BYOB Boiler Room

This edition of BYOB will feature 28 visual artists (myself included) and will run from 7pm-11pm at a venue somewhere in East London. It’s invite-only, but as with all Boiler Room shows it’ll be streamed live, so tune in!

Video documentation

Kinglux X hellocatfood

Recently Tony Hill and I have collaborated on a few videos, combining glitch art aesthetics and 3D fractals.

Kinglux X Hellocatfood ‘Temptations’

The electronic landscapes provide temptation and distraction of every possible combination in ways alien and inhuman.

Kinglux X Hellocatfood ‘Escape Velocity

An exploration between the angel and technology, an interplay between humanity, space and gravity

An overall fun collaboration 🙂 With both of us now based in remote locations I wonder what opportunities for live collaboration there are…

Dark, Eerie and Manic

The first output of my circuit bending the VEC1070 comes in the form of this collaboration – me on visuals – with Alex Juno (of Elmo Sexwhistle)

For the input I rendered a translucent green triangle onto the screen in Pure Data. The rest is just adjustments in the contrast (in Pure Data and on the VEC1070) and twiddling of some knobs.

I sense this circuit-bending is the start of something good…

Circuit bending a Video Tech VEC1070 Video Processor

I had the pleasure of meeting up with Tony Hill recently, where I acquired a copy of his new glitch zine, Junk DNA of the Digital Mind. He was kind enough to divulge that he used some of the devices by Video Tech Designs to create content. Being relatively cheap (due to their limited functions) I immediately got onto ebay to find my own to bend, which I did at the Many & Varied Skills Share Jamboree!

Bending the VEC1070

Video Tech VEC1070 Video Processor

The unit itself is a fairly simple one when compared to actual video mixers like the Panasonic WJ AVE3. Karl Klomp has a more in-depth look at the hackability of video mixers.

Aside from basic video adjustments, like brightness and contrast, there isn’t much else you can do. That is until the bending begins!

Many & Varied Skills Share Jamboree

For this modification I simply added an on/off switch to the first and middle pins of the potentiometer controlling contrast. When the switch is turned on and the contrast turned up to its maximum things start to get glitchy! The results are probably easiest shown in the below video:

As you can see things looked great when the unit was connected to an analogue TV but less so when connected to a monitor or projector via the composite port, and by that I mean there was often no display at all! As a perpetual beginner to the world of circuit bending I’ll admit that my understanding of why this is happening is still hazy, but I’m led to believe that the glitchy video causes synchronisation errors, causing the device reading the signal to get confused and fall over. To rectify this I (may) need a time base corrector. Any expert knowledge regarding this is warmly welcomed!

I did not let this glitch in the works stop me from trying to find a way to record at least a bit of output to my computer. Upon my return to basecamp home I raided my device clump and found a hacky solution that utilises the VEC1070, my laptop (running Ubuntu 12.04 on a Dell Studio 1555), an external monitor Easy Cap USB TV capture card and a scan converter (this one).

Creating a loop

Perhaps the hardest part to configure in this connection was the Easy Cap USB TV Capture Card. There exists a blog dedicated installing a using the USB card with a particular bias towards those with the DC60 chipset. Luckily the one that I purchased years ago has that chipset and so installation was fairly painless but time consuming. The aforementioned blog has all the info you’ll need/find regarding finding, installing and using the card on Linux.

The rest of the connections are perhaps best explained in the following diagram:


The reason for the external monitor is to monitor the output of the VEC1070 and do some feedback loops! It’s not necessary in all cases. For this scenario I also set my display to extend the desktop, rather than mirror it.

Recording the output

Displaying the output was not always a big headache. Now that the USB capture card is a video device (mine is /dev/video3) I could display it on screen using avplay -f video4linux2 /dev/video3. The output sometimes stuttered, but it was otherwise ok. Unfortunately, as with the VGA monitor and projector, the moment I turned on the glitch switch it almost instantly cut out. This left me ~1 second to capture some of the visuals using screen-recording software. 🙁

Strangely, however, Pure Data (yet again) came to my rescue. Using Pd-extended 0.43.4 I was able to send the message [device /dev/video3 ( to [pix_video] to display the output of the VEC1070. Furthermore, it didn’t cut out as often when I flipped the glitch switch! The only drawback? The colour is mostly yellow and green. :-/

h̸̴̪̘̞͓̓ͭ̅ͤͫ̈̿̂͋̈́̍̽́̔̈́̓͡͡ȇ̓̽̃̏̃́̈ͣ́ͥ̓ͤͦͬͧ̀̅҉̮̜̖̙̤l͛̆̏ͯ̔̈͒̑͏̖̯̬͚͓̺͎̳͝l̴ͨ͛ͮͦͥ͒̂͛ͬ͌ͤ̾ͦ̋̏ͯ̎̚͢͏̝̥̤͖̻̫̰͍̲͚̮̱̯͇ͅơ̲͔̫̱͍̦̩͎̝͖̞̦̘̖͙̖ͭ̀ͮͪͮ̚͢m̢͖̺̥̻̫̖͎̪̥̝͓̝̺̞͉͎ͥ̈́̓ͣ͛ͭͮ̄͆̈́̄͋̂̄ͯ͞e̶̶͙̰͓̹̖̝̎̂ͣ̒̑͌͗́́̚͡!̷̢̬̪̺͖̟̗͍̖̬̻ͩ̔́̅̇̈́͆̾̋̄̇̏̔̂͢ h̸̴̪̘̞͓̓ͭ̅ͤͫ̈̿̂͋̈́̍̽́̔̈́̓͡͡ȇ̓̽̃̏̃́̈ͣ́ͥ̓ͤͦͬͧ̀̅҉̮̜̖̙̤l͛̆̏ͯ̔̈͒̑͏̖̯̬͚͓̺͎̳͝l̴ͨ͛ͮͦͥ͒̂͛ͬ͌ͤ̾ͦ̋̏ͯ̎̚͢͏̝̥̤͖̻̫̰͍̲͚̮̱̯͇ͅơ̲͔̫̱͍̦̩͎̝͖̞̦̘̖͙̖ͭ̀ͮͪͮ̚͢m̢͖̺̥̻̫̖͎̪̥̝͓̝̺̞͉͎ͥ̈́̓ͣ͛ͭͮ̄͆̈́̄͋̂̄ͯ͞e̶̶͙̰͓̹̖̝̎̂ͣ̒̑͌͗́́̚͡!̷̢̬̪̺͖̟̗͍̖̬̻ͩ̔́̅̇̈́͆̾̋̄̇̏̔̂͢ h̸̴̪̘̞͓̓ͭ̅ͤͫ̈̿̂͋̈́̍̽́̔̈́̓͡͡ȇ̓̽̃̏̃́̈ͣ́ͥ̓ͤͦͬͧ̀̅҉̮̜̖̙̤l͛̆̏ͯ̔̈͒̑͏̖̯̬͚͓̺͎̳͝l̴ͨ͛ͮͦͥ͒̂͛ͬ͌ͤ̾ͦ̋̏ͯ̎̚͢͏̝̥̤͖̻̫̰͍̲͚̮̱̯͇ͅơ̲͔̫̱͍̦̩͎̝͖̞̦̘̖͙̖ͭ̀ͮͪͮ̚͢m̢͖̺̥̻̫̖͎̪̥̝͓̝̺̞͉͎ͥ̈́̓ͣ͛ͭͮ̄͆̈́̄͋̂̄ͯ͞e̶̶͙̰͓̹̖̝̎̂ͣ̒̑͌͗́́̚͡!̷̢̬̪̺͖̟̗͍̖̬̻ͩ̔́̅̇̈́͆̾̋̄̇̏̔̂͢ h̸̴̪̘̞͓̓ͭ̅ͤͫ̈̿̂͋̈́̍̽́̔̈́̓͡͡ȇ̓̽̃̏̃́̈ͣ́ͥ̓ͤͦͬͧ̀̅҉̮̜̖̙̤l͛̆̏ͯ̔̈͒̑͏̖̯̬͚͓̺͎̳͝l̴ͨ͛ͮͦͥ͒̂͛ͬ͌ͤ̾ͦ̋̏ͯ̎̚͢͏̝̥̤͖̻̫̰͍̲͚̮̱̯͇ͅơ̲͔̫̱͍̦̩͎̝͖̞̦̘̖͙̖ͭ̀ͮͪͮ̚͢m̢͖̺̥̻̫̖͎̪̥̝͓̝̺̞͉͎ͥ̈́̓ͣ͛ͭͮ̄͆̈́̄͋̂̄ͯ͞e̶̶͙̰͓̹̖̝̎̂ͣ̒̑͌͗́́̚͡!̷̢̬̪̺͖̟̗͍̖̬̻ͩ̔́̅̇̈́͆̾̋̄̇̏̔̂͢

This, I believe/am hoping, can be fixed in an update to the Easy Cap kernel module. I’ll be doing some bug reporting…


I should probably just buy a time base converter and a composite to VGA scan converter.