Record Riffing

It started with a tweet:

Then Alan: Spinning Albums from Reclaim Records made this:

Which was asking for a gif:

jim-reclaim

This was a little quick and dirty, it used my original Dancing Jim from ds106 Assignments: Dancing Jim all over the world. I knocked it up just before bed time last night.

Method:

  1. Download video (I use YouTube downloader tool – Fastesttube!)
  2. Export some frames with MPEGStreanClip
  3. Import into fireworks, as layers and distribute to frames.
  4. Import gif 3 times an 1st, 10th and 19th frame
  5. Export to gif, bit of loss 256 colours

This morning I remembered a cleaned up version of the gif: August 2013 GIF Challenge #2: Dancing Jim All Over the World | I am Talky Tina and a tip to clean up further: He’s a Maniac! And He’s Dancing Like He’s Never Danced Before | de•tri•tus.

I grabbed that and:

jim-reclain-3

Finally I though to add some music:

Having downloaded Minutemen – I Felt Like a Gringo from YouTube and pulled out a bit of audio, crushing to 32bps, with audacity.

GifMovie with my GifMovie Plugin.

If you can’t tell I love the connections in this #DS106 story.

#tdc1547 Van Gogh goes #DS106

First Daily in a while, so though it was worth a quick post.

#tdc1547 Make a Van Gogh – Make him go for DS106 | The (new) Daily Create

The original DS106 image from DS106: The Open Online Community of Digital Storytellers by Jim Groom — Kickstarter Not sure who to credit as Google didn’t turn up a backstory.

The Van Gogh picture from File:Vincent van Gogh – Self-Portrait – Google Art Project.jpg – Wikimedia Commons where it says:

This is a faithful photographic reproduction of a two-dimensional, public domain work of art. The work of art itself is in the public domain for the following reason:

The author died in 1890, so this work is in the public domain in its country of origin and other countries and areas where the copyright term is the author’s life plus 100 years or less.
This work is in the public domain in the United States because it was published (or registered with the U.S. Copyright Office) before January 1, 1923.
This file has been identified as being free of known restrictions under copyright law, including all related and neighboring rights.

Which is good enough for me.

Process

vg-layersDownload both images. Open in Photoshop.

The Quick Selection Tool is my Friend.

  1. Select Van. and make new layer via copy.
  2. Duplicate that layer into DS106 image.
  3. Quick  Selection tool to cut out rear figure to new layer. Then headphones and cables to new layers too. Hide figure.
  4. Move VG layer behind main layer resize to fit.
  5. Image-> Adjustments -> Black & White…

vg-b-w

I messed about till I got it as B&W as I could.

Cropped and exported to jpg.

Other possibilities

I did think about the dark glasses:

make-art-vg-2-dg

But think the eyes had it.

 

I also though about tracing the VG picture to make it more in the style of the DS106/Sonic Youth.

Or sending the ds106 image to the twitter bot that does impressionist images…

Updates

Worth noting I flipped the VG image.

More important we know the DS106 Artist:

And I claim a couple of assignment stars: ds106 Assignments: Remix an Album Cover 😉

A Short Intermission

We see a deluge of media dumped into twitter, Facebook, tumblr with no context. Fwooooooooooom it goes, down the stream, with no context. Wheeeeeee.

Too bad, because I think you are missing out if you are not narrating your work.

from: The Good, The Bad, and The Puppy (and some pondering on Making / Making of)

Alan reminds us of the importance of narrating our work and learning, so here is a short story about mine at the weekend.

Over on twitter I was pointed to The Walk of Life. This is a amusing site playing with the idea the The Walk of life works with any movie ending as background music. The creator has carefully edited a spectrum of movie endings to prove his point.

A nice wee twitter chat bubbled up, until Mariana asked David what he though would be a better tune. He proposed, intermission, from the end of the Monty Python movie.

A this point I though that is might be easy and fun to make a webpage that could show a variety of videos with that music behind it.

First I needed the music. As I was reading twitter on my phone at the time, I copied the url to the intermission clip on youtube and passed it to Workflow.app. There is a workflow to convert YouTube videos to mp3s and save them to your phone. I put it in dropbox.

I then search YouTube for movie endings. Searching for ‘movie endings’ found collections of 10 best movie endings and the like, but changing the search to particular movies title and ending indicated there were enough to play with.

Moving to my computer I had a look through old projects to see if I had youtube player code handy. I did, but found out pretty quickly (these were broken) that the YouTube API had changed. Over to Google and I got this:
YouTube Player API Reference for iframe Embeds  |  YouTube IFrame Player API  |  Google Developers

The plan was to get one movie playing with intermission in the background then change it so that different movies could be used instead.

I created a empty html page and put the intermission mp3 in the same folder. I was not intending to do anything fancy like turn the audio on and off when the movie played or paused (I don’t think that would be too hard). so I just created an audio tag: No controls so that the player would not show; autoplay and looping on.

<audio src="monty_python_and_the_holy_grail-_intermission_music.mp3" id="intermission" looping></audio>

Next I copied the example player code from the API page. I now had a page that played the movie and the audio at the same time in an appalling fashion.

Digging round the api pages, I found out how to mute the video, start it playing as soon as it loads and hide the controls.

Starting it and hiding the controls is done in script that loads up the iframe, autoplay: 1, & controls: 0.

Muting is just player.mute();

One of the problems with using google for this, is that there is often more information and answers that point to older and unsupported APIs. Sometimes it is better to look through the docs than type questions into the address bar.

Loading other movies. You can load movies into a player with:

player.loadVideoById(videoid);

Using the movie ID, the movie ID is easy to find from a youtube page URL:

https://www.youtube.com/watch?v=O0wOD9TWynM

So I could hard code a few buttons to load some different movies.

Next I want to allow folk to use their own choice of movie, so I added a field to paste in a YouTube URL. From that I would need to extract the v parameter, google took me to: javascript – how to get youtube video id from url – Stack Overflow that worked a treat.

Finally after a tweet from Alan suggesting a movie I added the ability to pass the webpage a youtube ID in the url:

http://intermission.surge.sh?v=Mwq0mgvC1eY.

Of course all of the code can be viewed in the source of Sounds Bad!.

I decided, for ease and fun to use Surge to publish the page. Surge is very neat for this sort of project, it allows, for free, the publishing on static web content from the commandline.

So what have a learned. I didn’t end up with anything earth shattering. I’ve got a couple of new snippets of JavaScript that could be used elsewhere. I’ve had a bit more practise in simple JavaScript and html. I enjoyed the process.

The featured image on this post is a gif ripped carelessly from the Monty Python and the Holy Grail- Intermission Music youtube video with MPEGStreamclip and stuck together with Fireworks.

Along the Daily Trail

I’ve not been keeping up with #western106 much other than a couple of artonthecouch posts.

But I have done the odd Daily Create. I am noting them here as some sort of record before they are lost in twitter.

The 4th February:

Create an Oregon Trail Game Screen for DS106

ds106-nyan

A quick google for the Oregon Trail found a pile of bitmap art. Seemed like a nyan cat riff might be appropriate. Downloaded the gif, opened in fireworks and chopped away.

5th February:  Create some stop motion using Vine

I’ve not got a vine account so just make a 6 second stop motion video. Snapped some photos with my iPhone (sitting on a lego mount), stitched together with the 5secondApp and exported as a video. I had to speed it up a bit to get 6 seconds, here is a 17 second version.

 

7th February  Add to the Code of the Cowpoke

A one line response:

8th February  5 Years Since Dr Oblivion Disappeared: Craft an Western…

coyboyoblivion

The idea of Cowboy G-Men is a a wee bit mind boggling. This is a really badly edited file. Quick & dirty. I did run a quick fliter over the cover to try and match the Doctor’s face, but didn’t spend enough time on it to do a good job.

11th February  Treasure of the Hills

We were to draw a map. Remembering the ‘lights out for the territories’ above I remembered that the map is not the territory. So my tweet went:  this mondrian is not the territory

mondrian-map

Which lead to a nice bit of twitter banter.

and so on…

12th February  Extra Terrestrial Visitors from the Far Frontier?

nyan-cow

Was a no brainer, back to FireWorks for a quick edit. The cow head was found on Flickr with a no known copyright restrictions filter.

Yesterday:  Caption Remington

an-unbranded-cow

I was trying to hint to other folk that they should license their DS106 content to make it review and remix friendly.

The stream for the daily create has been pretty active and it is great to see all of the different responses. I am not sure I’ll get to doing much more on #western106 but I am certainly enjoying the odd 15 minutes on the daily create. Thanks to Alan (and Mariana) for the continual work on organising the fun.

 

Drunken Gifs

One should always be drunk. That’s all that matters…But with what? With wine, with poetry, or with virtue, as you chose. But get drunk.

― Charles Baudelaire

I find gifs intoxicating, not the looking at them but creating. This is ridiculous. I find sitting down to rip a gif out of a movie and crush it to as small as possible, or to script some sort of weird concoction a lot of fun.

This morning I read Alan’s post: Ooh Ooh Mr Kotter! I Know How To Optimize My GIFs!. It is great, a reminder than some of the fun of giffing is keeping the file size down.

Alan uses photoshop. I’ve never really got a grip of that application. I tend to use firefox, gifsicle or even javascript.

I though that I would se if I could replicate the sort of optimisation he writes about using gifsicle, for a wee bit of fun and learning. I’ve blogged about gifsicle a fair bit here. Gifsicle is a commandline application for working with gifs. It can be downloaded from Gifsicle: Command-Line Animated GIFs.

I stared by a sort of replication Alan’s use of GIPHY’s GIF Maker. I took:

and fed it through the giffy tool.

Like Alan I ended up with a huge gif 4.5MB worth.

So I downloaded it and got some info about it with gifsicle on the commandline:

john$ gifsicle -I drunk.gif
* drunk.gif 45 images
  logical screen 480x270
  global color table [256]
  background 2
  loop forever
  + image #0 480x270 transparent 2
    disposal asis delay 0.07s
  + image #1 480x270 transparent 2
    disposal asis delay 0.06s
  + image #2 480x270 transparent 2
    disposal asis delay 0.07s
  + image #3 480x270 transparent 2
    disposal asis delay 0.07s
  + image #4 480x270 transparent 2
    disposal asis delay 0.06s
  + image #5 480x270 transparent 2

There were a good few more lines, but I got the idea that there were 45 frames, each about 0.07 seconds long.

The plan was to reduce the colours, the number of frames and increase the length of frames to compensate.

The first thing I tried was:
gifsicle -U -O3 -d 28 --colors 128 drunk.gif `seq -f "#%g" 0 4 45` -o drunk-128.gif

What this does

-U: unoptimises the input gif

-O3: optimises the output

-d 28: set the delay to 28/100 sec

  • colors 128: cuts down the number of colours

seq -f "#%g" 0 4 45 is a clever bit:-) it produces a sequence of numbers with # in front between 0 & 45 in jumps of four. This causes gifsicle to use those frames of the original gif. We have reduced the number of frames and increased their length to keep the animation the same length.

This resulted in a 1.1MB file, not too good. I repeated the exercise with 64 colors, which got the gif down to 800kb

drunk-64

Not too bad but still a bit big. I then remembered there was a version of gifsicle that could do lossy production of gifs. Alan mentions using this in photoshop. I had downloaded this before but lot it. A qick google found this interesting post: Lossy Optimization for Animated GIFs – Rigor and lead to Lossy GIF compressor where I downloaded the modified version again.

I could now:

gifsicle -O3 --lossy=80 -U -d 28 --colors 128 drunk.gif `seq -f "#%g" 0 4 45` -o drunk-lossy-128.gif

Which give me, a 480k gif:
drunk-lossy-128

gifsicle -O3 --lossy=80 -U -d 28 --colors 64 drunk.gif `seq -f "#%g" 0 4 45` -o drunk-lossy-64.gif reduces the colours and weighs in at 391k (from the original 4.5MB).

drunk-lossy-64

I decided to push the lossyness a bit to:
gifsicle -O3 --lossy=160 -U -d 28 --colors 64 drunk.gif `seq -f "#%g" 0 4 45` -o drunk-lossy-160-colors-64.gif

drunk-lossy-160-colors-64

This only shave the gif down to 325K so I think lossy=80 seems a good compromise.

This sort of gif fun might not be everyones drink, but if you are interested, I’ve some more scattered around this blog including: Taking Command of Gifs – 106 drop in and Gifsicle Comparison