Variations on a theme by Casey & Finch #4

For the final variation I wanted to explore the linear progression of the video. That is, up till now all of the variations have jumped randomly between different parts of the video. A skipping CD will always attempt to play from start to finish, even if it does skip occasionally. So, for this variation I wrote a script that created sequenced segments of varying lenghts (between 0.1-0.99 seconds) and then repeats them up to six times.

Observations

This variation, like the last one, resembles a skipping CD. By sequencing the samples I’ve lost some of the unpredictable, YTP-style edits but have gained more clarity. It has also been pointed out (thanks Rosa!) that a skipping CD doesn’t always skip. There may be periods of it working followed by glitches/skipping.

[code language=”bash”]#Usage: ./movie_cut.sh /path/to/file.avi Clip-duration-in-seconds
#e.g. ./movie_cut.sh 4.01

#start position
startPos=0

filenumber=$(printf "%05d")
while [ $filenumber -le 50 ]
do

#define random integer
rand=$RANDOM

#define random duration (up to 0.999 seconds)
duration=$(echo "0.$rand")

#get path of file
path=$( readlink -f "$( dirname "$1" )" )

#get filename minus extension
file=$(basename "$1")
filename="${file%.*}"

#cut the video
avconv -i $1 -ss $startPos -t $duration -qscale 0 -ab 384k -y "$path"/"$filenumber"_"$filename"_cut.avi

filenumber=`expr $filenumber + 1`
filenumber=$(printf "%05d" $filenumber)

#increment the start position of the next video by the duration of the previous video
startPos=$(echo "scale = 2; $startPos + $(echo "0.$rand")" | bc | sed -e s/^/0/)

done[/code]

The following script was then run on the output files from the previous script. It creates numbered diplicates of the source files.

[code language=”bash”]#!/bin/bash

for file in *.avi
do

#number of times to duplicate the file (between 1 and 6)
max=$(shuf -i 1-6 -n 1)

number=1
while [ $number -le $max ]
do

#get path of file
path=$( readlink -f "$( dirname "$file" )" )

#get filename minus extension
file=$(basename "$file")
filename="${file%.*}"

#get extension
extension="${file##*.}"

#copy the file to a new file
cp $file "$path"/"$filename"_"$number".$extension

number=`expr $number + 1`

done

done[/code]

Variations on a theme by Casey & Finch #3

For the third variation I began to explore rhythm further by repeating the random segments a number of times. I used the script from Variation #2 – although I only created 20 segments – and then repeated these between two and six times each.

Observations

This variation bears more resemblance to a skipping CD than the previous two. The possibility of this being performed by live musicians becomes impossible due to the very short length of some of the segments.

Code

This script requires libav to run and has been tested on Ubuntu 13.04.
[code language=”bash”]#!/bin/bash
#Usage: ./movie_cut.sh /path/to/file.avi
#e.g. ./movie_cut.sh video.avi

filenumber=$(printf "%05d")
while [ $filenumber -le 20 ]
do

#calculate the length of the video
length=`expr $(avprobe -loglevel error -show_streams $1 | grep duration | cut -f 2 -d = | head -1 | cut -d "." -f 1) \* 100`

#start position
startPos=$(echo "scale=2;$(shuf -i 1-$length -n 1) / 100" | bc | sed -e s/^/0/)

#define random duration (up to 0.999 seconds)
duration=$(echo "0.$RANDOM")

#get path of file
path=$( readlink -f "$( dirname "$1" )" )

#get filename minus extension
file=$(basename "$1")
filename="${file%.*}"

#cut the video
avconv -i $1 -ss $startPos -t $duration -qscale 0 -ab 384k -y "$path"/"$filenumber"_"$filename"_cut.avi

filenumber=`expr $filenumber + 1`
filenumber=$(printf "%05d" $filenumber)

done[/code]

The following script was then run on the output files from the previous script. It creates numbered duplicates of the source files.

[code language=”bash”]#!/bin/bash

for file in *.avi
do

#number of times to duplicate the file (between 1 and 6)
max=$(shuf -i 1-6 -n 1)

number=1
while [ $number -le $max ]
do

#get path of file
path=$( readlink -f "$( dirname "$file" )" )

#get filename minus extension
file=$(basename "$file")
filename="${file%.*}"

#get extension
extension="${file##*.}"

#copy the file to a new file
cp $file "$path"/"$filename"_"$number".$extension

number=`expr $number + 1`

done

done[/code]

Variations on a theme by Casey & Finch #2

For the second and subsequent variations I used only seven instances of the chorus line as a source. For this variation I then wrote a script on each of the seven videos that created 90 segments of varying lengths (up to 0.999 seconds) from random positions in the video. I then finally composed them into one video.

Observations

With a shorter source input, this variation is more rhythmic than the first. There are more instances of the audio resembling a stuttering CD, though still lots of instances where it jumps around erratically.

Code

This script requires libav to run and has been tested on Ubuntu 13.04.
[code language=”bash”]#!/bin/bash
#Usage: ./movie_cut.sh /path/to/file.avi
#e.g. ./movie_cut.sh video.avi

filenumber=$(printf "%05d")
while [ $filenumber -le 90 ]
do

#calculate the length of the video
length=`expr $(avprobe -loglevel error -show_streams $1 | grep duration | cut -f 2 -d = | head -1 | cut -d "." -f 1) \* 100`

#start position
startPos=$(echo "scale=2;$(shuf -i 1-$length -n 1) / 100" | bc | sed -e s/^/0/)

#define random duration (up to 0.999 seconds)
duration=$(echo "0.$RANDOM")

#get path of file
path=$( readlink -f "$( dirname "$1" )" )

#get filename minus extension
file=$(basename "$1")
filename="${file%.*}"

#cut the video
avconv -i $1 -ss $startPos -t $duration -qscale 0 -ab 384k -y "$path"/"$filename"_"$filenumber"_cut.avi

filenumber=`expr $filenumber + 1`
filenumber=$(printf "%05d" $filenumber)

done[/code]

Variations on a theme by Casey & Finch #1

For the first variation I used the video of the entire performance – minus the introduction from Don Cornelius and the fade out – as input. I then wrote a script that created 600 segments of varying lengths (up to 0.999 seconds) from random positions in the video and finally composed them into one video.

Observations

This variation is perhaps too chaotic to be considered a reproduction of the aesthetics of a skipping CD. The individual segments jump from extreme ends of the video too quickly to be recognisable, which bears little resemblance to skipping CDs or broken video files, which often repeat segments at the point at which they encounter an error.

Code

This script requires libav to run and has been tested on Ubuntu 13.04.
[code language=”bash”]#!/bin/bash
#Usage: ./movie_cut.sh /path/to/file.avi
#e.g. ./movie_cut.sh video.avi

filenumber=$(printf "%05d")
while [ $filenumber -le 600 ]
do

#calculate the length of the video
length=`expr $(avprobe -loglevel error -show_streams $1 | grep duration | cut -f 2 -d = | head -1 | cut -d "." -f 1) \* 100`

#start position
startPos=$(echo "scale=2;$(shuf -i 1-$length -n 1) / 100" | bc | sed -e s/^/0/)

#define random duration (up to 0.999 seconds)
duration=$(echo "0.$RANDOM")

#get path of file
path=$( readlink -f "$( dirname "$1" )" )

#get filename minus extension
file=$(basename "$1")
filename="${file%.*}"

#cut the video
avconv -i $1 -ss $startPos -t $duration -qscale 0 -ab 384k -y "$path"/"$filenumber"_"$filename"_cut.avi

filenumber=`expr $filenumber + 1`
filenumber=$(printf "%05d" $filenumber)

done[/code]

Variations on a theme by Casey & Finch

Between 2002-2011 Erik Bünger composed the piece Variations on a theme by Casey & Finch, in which the sound of a CD skipping is recreated and written out as a score. Bünger described the process of creating the piece:

The chorus line of the disco tune ‘That’s the way I like it’ was chopped up into short fragments, the order of the fragments rearranged and the result written out as a score.

The resulting piece, consisting of a downloadable score, was performed live by a group of nine musicians:

Aside from the admirable skill of the musicians, the video is impressive in how, using the skipping CD as inpsiration, it creates a sound which still has a sense rhythm amidst the chaos.

When watching the piece I am reminded of Hyperactive (2005) by Lasse A Gjersten, the erratic editing style of “YouTube Poopers” including cs188, DaThings1 and DurhamrockerZ, and more recently the Videomusic work of Gabriel Shalom (who introduced me to Bünger’s work).

One thing is notable in the work of all the aforementioned artists: The editing and composing is done manually. This allows for the artist to have control over the piece but means that erratic nature of a skipping CD cannot faithfully be reproduced. This isn’t a criticism, just an observation, as perhaps it was never the intention of Bünger to faithfully reproduce this sound, more inform his own editing and composing techniques.

In my reinterpretation of Bünger’s piece I aim to explore what happens when randomness and chance are introduced into the editing and composing process. I aim do so through writing of computer scripts that take a video file of the performance of That’s The Way (I Like It) by KC & The Sunshine Band, dissect it in segments of varying sizes, and then recompose them in a variety of ways.

In the upcoming blog posts I’ll take you through four of the results of my experiments, along with my methods and a few observations. But first, an introduction from Don Cornelius:

8 Bit Lounge – Alex Juno v hellocatfood

With my hardware now fully functioning I’ll be providing visuals for the awesome Alex Juno (of Elmosexwhistle) at 8 Bit Lounge at the Hare and Hounds on 13th August (yeah, I know it’s late notice).

8 Bit Lounge - Alex Juno v hellocatfood

The event starts at 8pm, is free, and, in addition to awesome performances, will feature the usual assortment of retro console games!