Blog

Pop! Bang! Wallop! - TROVE's 3rd Birthday Party

TROVE, whom I recently did an exhibition with, will be celebrating its third birthday on 12th October 2012 5-9pm. To celebrate this occasion they’ve invited past artists and collaborators to exhibit some work with them

TROVE’s 3rd Birthday

Over the past three years TROVE have worked with 146 local, national and international artists that have created, exhibited and performed as part of TROVE’s programme. TROVE have realised over 36 shows in the wonderful TROVE home, the Old Science Museum, and in offsite projects, with venues including Curzon Street Station, mac birmingham, Edible Eastside, DownStairs Gallery, FarGo, The Burlington Fine Art Club, Coexist and ARC. TROVE is an independent art gallery who have worked with Fierce Festival, Hereford Photography Festival, Hedge Enquiry, Minnie Weisz Studio, Museum of Lost Heritage, Birmingham Architects Association, Birmingham City Council, Clarke Gallery, Birmingham City University and Crowd 6. At Pop! Bang! Wallop! there will be presents, piñatas and pass the parcel! There will be artworks and cards from past TROVE artists! There will be a bouncy castle! And much much more!

Come and celebrate TROVE’s 3rd Birthday on 12th October 2012 5-9pm.

TROVE, Newhall Square, off 144 Newhall Street, Birmingham, B3 1RY

To celebrate the occasion, in addition to making/glitch a birthday card, I circuit bent a toy for them:

A present for TROVE

I received this toy as a present from the micro residency that I did in 2011 at Fargo Hack Play Space. Although it’s really small, this toy contains a lot of bits to bend and break! The toy originally played several nursery rhymes, contained a single-purpose light and had its own speaker and headphone port.

A present for TROVE

Using great science a lot of guesswork I added in a light-dependant resistor to control the speed of playback, repurposed the light switch to reset the device and made the light only turn on when noise is being made. Pressing and holding the play and skip button causes the speed of playback to double (or triple). I also replaced the sticker on the front with some of my own art. The below video probably explains it a lot better than words ever could:

(If pictures are worth 1000 words then the above video is worth 2095000 words)


Databit.me #2, 13-20 October 2012

I’m happy to announce that I’ll be taking part in Databit.me #2 in Arles, France from 13-20 October.

databit.me 13-20.10.2012

databit.me 13-20.10.2012

What is Databit.me?

With workshops, conferences, residences, performances and video & musical evenings , the third edition of Databit.me invites you to discover the mysteries of digital art in all its forms 13th October to 20th October …

This year Databit.me offers an “electronic free market” on 14th October 2012 in the main venue of the festival in the centre of the city of Arles. As in previous editions, we will conclude with party and its international line-up, that showcases electronic music, VJ and other digital experiments, several of them will be create during a session of residencies during the week.

In short, lot of artists to discover, throughout the week.

An Archaeology of the computer!

I’ll be part of a roundtable discussion on Saturday 20th October with the likes of Sébastien Magro, Jacques Perconte, Yannick Vernet and Alexandre Simonet

Time of the first computers is not so far away. What remains today of these machines, software programs, practices, …? The future of digital files also seems very uncertain and computer languages today could soon become “dead” languages of tomorrow. Create an archeology for computing is an actual question…

Open Camera

I’ll be working throughout the week with Gijs Gieskes and others to create an “Open Camera” that is built from easily accessible components.

Closing Party

I’ll be doing a short performance at the closing party, also on 20th October. The night will feature performances from a wide range of artists, including 69DB, [JUNIOR CONY & Sista Chance](http://jankenpopp.com/>Jankenpopp, <a href=), THX1137, BITCRUSHER & MORUSQUE, HASSAN K and many more!

There’ll otherwise be entertainment in the evenings and workshops. Lots more information is available on the main databit.me website and their Page on Facebook. If you feel like sharing, here’s some posters for the festival.

In completely unrelated news I recently started to learn French.


Create jpgs in Pure Data

For Some of My Favourite Songs I utilised Pure Data Extended (I’m using a beta version) to read the audio files and then save them as images. Pure Data is usually used for the production of music and/or generative live visuals, so to using it to produce jpg images from almost nothing, or random data input is quite new to me!

In search of a jpg header

The most important part of this process is knowing how to construct and apply a jpg header to data. Wikipedia informed me that all jpg images begin with FF D8. I thought that all I would need to do is use a hex editor, such as Ghex or Bless Hex Editor, to add those byte values to a file.

Unfortunately this is not the case at all. There’s so much more in a jpg header, such as Huffman Tables, Quantization Tables, bytes to define the width and height of an image, and much more that I still don’t quite understand.

I attempted to grab data from the beginning of a random jpg file, but this included lots of extraneous data such as camera make, program(s) used to modify the photo, gps data and creation date. This data amounted to several kilobytes, which is far too much data for a header. What I needed was a “vanilla” or plain header that I could apply to any file.

mesmeon showed me the HEADer REMIX project by Ted Davis. The header values on the left of the screen are used for glitching every image, be it the default image or one taken by a user.

[Header Remix by Ted Davis](http://www.ffd8.org/header_remix/)
Header Remix by Ted Davis

I saved the default image, manually extracted the header image, ran it through exiftool and then ended up with a header for a 640x480 image that is only 588 bytes!

Enter Pure Data

Now that I had a vanilla header I had to devise a way to use it in Pure Data. The [binfile] object allows the reading and writing of binary data. Adding data to [binfile] is a case of sending a message containing numbers to the object.

[binfile] reads and outputs data as decimal values i.e. numbers from 0 to 255. I needed to find a way to add the decimal values of the vanilla header to a message box. Martin Meredith helped me with this whilst we were tackling bugs at the Ubuntu Global Jam. Using hexdump I was able to output all of the hex values to decimal values.

hexdump -v -e '1/1 &quot;%02u &quot;' filename.here &gt; decimalvalues.txt

Produced this output:

255 216 255 219 00 132 00 03 02 02 03 02 02 03 03 03 03 04 03 03 04 05 08 05 05 04 04 05 10 07 07 06 08 12 10 12 12 11 10 11 11 13 14 18 16 13 14 17 14 11 11 16 22 16 17 19 20 21 21 21 12 15 23 24 22 20 24 18 20 21 20 01 03 04 04 05 04 05 09 05 05 09 20 13 11 13 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 255 192 00 17 08 01 224 02 128 03 01 17 00 02 17 01 03 17 01 255 196 01 162 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 10 11 16 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 125 01 02 03 00 04 17 05 18 33 49 65 06 19 81 97 07 34 113 20 50 129 145 161 08 35 66 177 193 21 82 209 240 36 51 98 114 130 09 10 22 23 24 25 26 37 38 39 40 41 42 52 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 131 132 133 134 135 136 137 138 146 147 148 149 150 151 152 153 154 162 163 164 165 166 167 168 169 170 178 179 180 181 182 183 184 185 186 194 195 196 197 198 199 200 201 202 210 211 212 213 214 215 216 217 218 225 226 227 228 229 230 231 232 233 234 241 242 243 244 245 246 247 248 249 250 01 00 03 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 10 11 17 00 02 01 02 04 04 03 04 07 05 04 04 00 01 02 119 00 01 02 03 17 04 05 33 49 06 18 65 81 07 97 113 19 34 50 129 08 20 66 145 161 177 193 09 35 51 82 240 21 98 114 209 10 22 36 52 225 37 241 23 24 25 26 38 39 40 41 42 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 130 131 132 133 134 135 136 137 138 146 147 148 149 150 151 152 153 154 162 163 164 165 166 167 168 169 170 178 179 180 181 182 183 184 185 186 194 195 196 197 198 199 200 201 202 210 211 212 213 214 215 216 217 218 226 227 228 229 230 231 232 233 234 242 243 244 245 246 247 248 249 250 255 218 00 12 03 01 00 02 17 03 17 00 63

(The output is sent to a text file for ease of copy/pasting)

With this output I copy/pasted the values into a message box, and whenever I needed to add a jpg header to a file I clicked on the message box! To then write the file I sent the message [write filename.jpg( to the [binfile] object.

A jpg header in Pure Data
A jpg header in Pure Data

Using this data alone you may notice that the jpg image doesn’t open in certain image viewers or is blank/black. That is because all that was added is the header. Image data is also needed! For this I added a few [metro]s to generate random numbers between 0-255. The output image then looks a little bit more colourful now.

jpg created by Pure Data
jpg created by Pure Data

For some websites and image viewers the End Of Image bytes (FF D9/255 217) need to be added in order for it to be viewed properly. To start this process again send [clear( to [binfile]. This clears all binary data. Below is all of this theory put into one patch.

The finished Pure Data patch

Generate jpg images -  [click to download](images/generate_jpg_pure_data.zip)
Generate jpg images - click to download

To use it, first click on the button to start the jpg file, then click the toggle button to add lots of random data. This may take a minute or so. Once done turn off the toggle, click on the button to end the file and then write the jpg image.

Further options

If you know the structure of a certain file type, in theory, it is possible to construct one in a similar way to this. I’ve already used this method to construct a bmp, but they produce far less interesting results. png files seem to be more fragile and, as such, I haven’t managed to create one using this method.

If you use a second [binfile] object you can load the bytes from another file and use them, in conjunction with random data, to produce glitchy - but slightly recognisable - images!

Is it also possible to reduce the size of the jpg header even further?

Create jpgs in SuperCollider

Holger Ballweg (uiae) has recreated this progress in SuperCollider. Check it out!


Some of My Favourite Songs

In early 2012 I made a music compilation that attempted to summarise my musical tastes on a 700MB/80 minute CD. ‘cause I’m a special kinda guy I’ve decided to share it wit y’all… as images! Below are some of my favourite songs, presented in the order that they appear on the CD. You should listen to them.

The images were made by reading the audio files into Pure Data as binary data and then saving them as jpgs. I’ll do a writeup of the process soon!

SikTh - Scent Of The Obscene
SikTh - Scent Of The Obscene
Jairus - Film Noir
Jairus - Film Noir
Look What I Did - Fade to Daft
Look What I Did - Fade to Daft
Foo Fighters - DOA
Foo Fighters - DOA
Rival Schools - Everything Has Its Point
Rival Schools - Everything Has Its Point
Deftones - Minerva
Deftones - Minerva
Cave In - Sing My Loves
Cave In - Sing My Loves
Squarepusher - Iambic 9 Poetry
Squarepusher - Iambic 9 Poetry
Dosh - The Magic Stick
Dosh - The Magic Stick
Sonic Youth - Sugar Kane
Sonic Youth - Sugar Kane
Thingy - Plenty
Thingy - Plenty
Pavement - Cut Your Hair
Pavement - Cut Your Hair
Self - Flip-Top Box
Self - Flip-Top Box
Alien Ant Farm - Sticks And Stones
Alien Ant Farm - Sticks And Stones
Adebisi Shank - Snakehips
Adebisi Shank - Snakehips
The Octopus Project - Catalog
The Octopus Project - Catalog

BZF 2012

BZF (formerly Birmingham Zine Festival) is back for its third annual festival from 12th-15th October and once again - though for the final time - I’m happy to be part of the team organising it!

BZF 2012

All of the events are still being planned, but as usual there’ll be the Independent Publishing Fair which has over 30 exhibitors!. All other events and information can be found on the main website. If you’re a social media use why not “Like” and “Follow” BZF on Facebook and Twitter.