You’ve probably heard of glitch art, but do you know how it’s created? Artists dive into the code of an image file, editing tiny portions of data to create errors in the image. German multimedia designer Georg Fischer has created a script that automates this process.

Joshnilayglitch_560

Fischer’s script powers a simple interface that lets you slide bars to adjust the type, size, and prevalence of your glitch. As you tweak each setting, the results appear in real time. The work is, as Fischer notes, derivative of a similar experiment called Smack My Glitch Up, but the ease of experimentation in this implementation is impressive nonetheless. You can play with the glitch generator through Fischer’s GitHub, or check out the designer’s other manipulation experiments here.

Lightglitch

Sometimes it’s good to break things…

During a recent project I needed to find a way of simulating digital interference on an image / video stream. At first, it seemed the best approach might be to use the graphics API or Bitmap effects, but why imitate when you can have the real thing.

The principle is incredibly simple. Corrupt / alter a byte (or several bytes) in the ByteArray of a JPEG and then load this back into a DisplayObject using Loader.loadBytes(). Because of the way in which JPEGs work, the image will still display but the corrupt bytes will mangle the output to varying degrees, depending on how many bytes have been corrupted. The result is an interesting glitch pattern, a bit like those which were accidentally created when my webcam drivers lost the plot.

It is also possible to corrupt other image formats (png, gif etc) in the same way, by first passing the image ByteArray through a JPEGEncoder.

I’ve implemented this technique in the Glitchmap class, which you can download and play with at the bottom of this post. I hope that it will provide a few moments of fun, if not a practical use (I’m thinking image gallery transitions or music visualisations).

The small gottcha is that it isn’t desirable to mess with the JPEG headers, so when the clean ByteArray is passed to the Glitchmap class, it will determine the length of the header by reading through the bytes until it finds the SOS (start of scan) declaration (0xFFDA). The next two bytes represent the length of the SOS, so it skips forward by this amount – the resulting position in the ByteArray should be the end of the header, and so between this point and theEOI (end of image) the data corruption takes place. I’m not sure whether this is the best way of determining the JPEG header size; perhaps any CS graduates / students out there can help me out?

After I posted the webcam glitch images, Jon used them in his title sequences for the 48 hour film gala. If you find a similar creative use for this script or the glitch generator then please let us all know.

I think the next step is to experiment with merging the bytes of multiple glitched images in order to create transition effects. I may also build an AIR app and see what the best way of outputting video might be (using NativeProcess for screen capture perhaps?).

 

 

 

Glitch art is the practice of using digital or analog errors for aesthetic purposes, either by corrupting digital data or by physically manipulating electronic devices.

History of the term

In a technical sense, a glitch is the unexpected result of a malfunction, especially occurring in software, video games, images, videos, audio, and other digital artefacts. Early examples of glitches used in media art include Digital TV Dinner (1978) created by Jamie Fenton and Raul Zaritsky, with glitch audio done by Dick Ainsworth. This video was made by manipulating the Bally video game console and recording the results on videotape.[1] Predecessors include examples of mechanical and digital noise in visual art such as A Colour Box (1935) by Len Lye, MagnetTV (1965) byNam June Paik and Panasonic TH-42PWD8UK Plasma Screen Burn (2007) by Cory Arcangel.[2]

The term glitch came to be associated with music in the mid 90s to describe a genre of experimental/noise/electronica (see glitch music). Shortly after, as VJs and other visual artist began to embrace the glitch as an aesthetic of the digital age, glitch art came to refer to a whole assembly of visual arts.[citation needed]

In January 2002, Motherboard, a tech-art collective, held a glitch symposium in Oslo, Norway, to “bring together international artists, academics and other Glitch practitioners for a short space of time to share their work and ideas with the public and with each other.”[3]

On September 29 thru October 3, 2010, Chicago played host to the first GLI.TC/H, a five-day conference in Chicago organized by Nick Briz, Evan Meaney, Rosa Menkman and Jon Satrom that included workshops, lectures, performances, installations and screenings.[4] In November 2011, the second GLI.TC/H event traveled from Chicagoto Amsterdam and lastly to Birmingham, UK.[5] It included workshops, screenings, lectures, performance, panel discussions and a gallery show over the course of seven days at the three cities.[6]

Methods

Glitch art is made either by “capturing” an image of a glitch as it randomly happens, or more often by design when an artist manipulates digital technology to induce a glitch to happen. There are many approaches to making these glitches happen on demand, ranging from physical changes to the hardware to direct alternations of the digital files themselves. [7]

  • Datamoshing – Data moshing refers to the manipulation or breaking of data in a video, picture, for an aesthetic purpose.[8][9] Tools commonly used to datamosh include Audacity, Avidemux,[9] and WordPad. Datamoshing is the most common method for achieving glitched files and creating glitch art. In the case of video, this involves the manipulation of different frame types:

    Datamoshing involves the removal of an encoded video’s I-frames (intra-coded picture, also known as key frames—a frame that does not require any information regarding another frame to be decoded), leaving only the P- (predicted picture) or B- (bi-predictive picture) frames. P-frames contain information predicting the changes in the image between the current frame and the previous one, and B-frames contain information predicting the image differences between the previous, current and subsequent frames. Because P- and B-frames use data from previous and forward frames, they are more compressed than I-Frames.[10]

  • Circuit bending– Circuit bending refers to the manipulation and customization of wires and circuits within electronic devices for the purpose of achieving new sounds and visuals.[11] For example, by damaging internal pieces of something like a VHS player, one can achieve different colorful visual images.
  • 3D model glitching– A newer type of glitch art which refers to the purposeful corruption of the code in 3D animation programs resulting in distorted and abstract images of 3D virtual worlds, models and even 3D printed objects[12].

Tools

  • Audacity – Designed as audio editing software, Audacity can be used to create glitch art.[13][14] By importing and exporting raw image data as “U-Law” or “A-Law,” one can use Audcity to manipulate an image by applying various filters and effects. The best image file types to use for this method are “.TIF” and “.RAW”, as these are uncompressed formats. Other file types normally contain data which acts as a specifier, letting the computer program know what the file is. If this data becomes corrupted the image will no longer be able to be read by the computer. If the artist wishes to use a protected file type such as “.BMP” one method to circumvent file corruption is to skip about halfway through the data and only add effects to areas past this point since protective code is always found at the beginning of the files data. The audacity method of glitching is considered to be “organic” glitching, which means the effects generate random visuals within the image. Since this is still something that is fairly unexplored, it is hard to say for sure if there is any way to control the effects but there is some aspect to it which can be controlled. For example, adding reverb will always produce color changes and using a “wah wah” effect will create a wavy visual within the image.
  • WordPad – The WordPad method is a Windows specific form of glitching that uses Windows WordPad as a tool for creating visual artistic images by corrupting the code of an image file.[11][15] Similarly to the Audacity method, the effects are for the most part random, yet a user with knowledge of binary coding would have advantage when using this method. In order to perform this glitch, first, convert any image file into a Bitmap (.BMP) format. Open the .BMP file in WordPad and randomly change sections of the code. Open the image back up in any photo viewer to view the changes. Keep in mind, the file type of the image selected with does matter, since some file contain protective coding. Skip through about half of the binary code, when glitching, to avoid this part of the code and rendering the file unreadable.
  • Avidemux – Avidemux is a free video editing application for both Mac and Windows which can be used to datamosh video by compression to create colorful and abstract visuals.[9] This method of glitch requires removing most of the I-frames from a video, leaving only mostly P-frames. The result will cause the original image of the initial I-frame to be displayed over all the other P-frames in the video which control the pixel movement in the visuals.

See also

Annunci