Emojify all the things

There’s no doubt that emoji is here to stay and will infiltrate your artwork, desktop, phone screens and inboxes if it hasn’t already done so. In a similar vein to ASCII art, recently apps have been released to convert pixels in images and video to emoji. Emoji Video and Emojify are two iOS apps that can convert content to emoji, with the former appearing to be able to do this in realtime with video.

In a time before emoji two popular libraries existed to do the same thing, only using text and colour blocks (y’know, ASCII). AAlib and libcaca are two popular open source libraries that have been used extensively.

dramaticcaca

Although the two aforementioned emojifying apps work really well, unfortunately there are not yet any open source libraries available to achieve the same effect. Until one is built I took it upon myself to spend a few hours making something that uses Imagemagick and the Twitter emoji set. It’s not nearly as efficient as the emojifying apps or libcaca/libaa, and cannot be used on live video, but as a short experiment I think it works nicely.

The script works by using symbol patterns for dithering. This process uses the frames in an animated gif to replace blocks of colour. As shown in the Imagemagick example any gif can be used. The first step to using the script finding an emoji icon set. The Twitter emoji set is really good and is released under a Creative Commons licence, but feel free to use whatever you want. Download this to your computer.

As mentioned before, this dithering method makes use of the frames from an animated gif. For true emojification all of the emjoi in the set could be converted into one gif, but that would result in a loss of colour, a huge file size and possibly epic processing times! For that reason I decided to pick six random emoji each time the script was run. With each element in place I now just executed the script. You’ll need to modify line three to point to the directory containing the emoji set.

Cat Eye emojified
Original

Freudenberg sg Switzerland emojified
Original

Ipomoea aquatica flower emojified
Original

Studio portrait emojified
Original

Not bad for a few hours of work!

If you’re starting to think that you’ve seen this aesthetic in my work before then you would be right. I have previously used this technique, instead using some randomly generated symbols, for the CóRM image set and some t-shirt/logo designs for NESkimos that I think were never used.

If anyone every creates an open source library for emojifying things I’d be happy to know about it 🙂

g12

Glitch Webcam

Glitch Webcam* is a small script that was developed during my time at Databit.me as part of the Open Camera project, which aimed at finding inexpensive ways to take images. Since then it has been in the MEMIC exhibition in November 2012 and usually makes an appearance wherever my laptop goes.

At only five lines of code and ~254 bytes, this script is a very quick way to glitch photos taken automatically by a webcam. The project was originally demoed using a Raspberry Pi/Raspbian and a digital photo frame, though problems with USB have prevented me from doing that since.

Below is the script, which requires you to have installed Streamer, feh (1.3.4 used), sed and xdotools:

#!/bin/bash
mkdir output & streamer -s 640x480 -o ./output/glitch_00000000.jpeg -t 1000000000000 -r 0.48 &
sleep 1.8 ; feh --action1 ";sed -i s/g/2/ %f" -F -r ./output/ --force-aliasing -Z -Y --reload 1 --slideshow-delay 2 &
while true ; do xdotool key --delay 200 1 ; done

The script works by using Streamer to capture sequentially-numbered images to a folder called “output”. feh is then used to display the image and also to run a sed command, thanks to the –action1 option. Actions in feh can only be run via a key press, so xdotools is used to automatically press a key (1). feh is then finally used to display each image full-screen.

It’s not the most efficient way of glitching from a webcam – e.g. you can get glitch plugins for Pure Data, Quartz Composer and other software – but as a small utility it works well. Also, it saves all of the images so you can make an animation out of it!

Glitch Webcam

*terribly unimaginative name, I know!

Scripted Bends

Recently there’s been a trend amongst glitch artists to do more video glitches. I’ve been pretty quiet on that front whilst I work on my techniques. Here’s the first results of my experiments using Chris Cunningham‘s short film Rubber Johnny as a test subject

Just from these tests I can see the opportunities that using video presents, especially when using audio. I can definitely see more of my work being like this

Echobender

Myself and Mez recently finished a script called Echobender that automatically databends images.

Click to view on GitHub

To use it you’ll need:

  • A computer with Linux installed. I don’t have a Windows or Mac PC so I can’t test it on those
  • Sox. On Ubuntu you can install it via sudo apt-get install sox
  • Convert, which is part of ImageMagick. On Ubuntu you can install it via sudo apt-get install imagemagick

Once you have those installed just execute ./echobender.sh from the terminal and then drop a .jpg or .bmp file into it. The output will be in a folder called “echo”.

If you look closely at the script you can see a way to convert any data into an image! I’ll leave that one up to you… Here’s the source code for all those interested:

Thanks to Imbecil‘s MPegFucker script for much of the inspiration.

Family Build Up

One of the most common questions I, and possibly any other digital artist gets when they present their work is how they do it. I occasionally reveal some of my methods in my tutorials but otherwise I like to show screenshots taken at various stages. I came across this build up script a few months back and have now finally got it to work! Here’s my previous family portrait being reconstructed:

This script isn’t a true reflection of how I drew it but gives a good idea about the amount of detail I go into with my work. The reason I didn’t finish it is that I had already had the script running for ten hours and it was only half finished! Luckily there’s options to resume, but at this rate I’ll be doing it until February!

I think I may do this a lot more with my work.