2022
I don’t have too much to say about this year. It was of course difficult in many ways but there were some moments of relief, especially when I get to see people IRL. Of course the pandemic and everything else in this world is still happening but I really valued those little moments, especially around August - October, where I could just do things. Anyway, on with the overview of 2021!
Not much happened in January. The Idle Index exhibition at Phoneix concluded with a talk between some of the artists involved.
There were a lot of presentations, lectures and workshops delivered this year and this activity all started around February. After lectures for VCU and The Courtald I did a rather big presentation as part of the Screenwalk series from The Photographer’s Gallery and Fotomuseum . It was a general overview of my practice but also welcomed back a sonification performance but with added Korg Volca synths.
I also started delivering a four-part Blender workshop series. Side note, check out Devon Ko’s amazing thread on Blender resources and in particular why you shouldn’t follow the donut guy.
Finally this month I announced (Algo|Afro) Futures.
This programme is really important to me, and its launch comes/came at a time when it’s more important than ever to address racism and diversity in every aspect of art and culture.
This month I did two presentations which came out of my takeover on the Minorities in Stem twitter account in 2020. The first was a presentation about live coding for Nerd Nite London. The second presentation only two days later I had the honour of being a Guest Conductor on The Coding Train!
Although I don’t use Processing/p5.js in my work I do really admire the work that Dan Shiffman does and how accessible his tutorials are. He’s really one of my favourite online educators and so it was an honour to be asked to present my work and talk about live coding to his audience. I followed my presentation with a little performance too!
Fundraisers for both of those events helped to raise nearly £10,000 for Coders of Colour :-)
It was fairly quiet in terms of output, partly due to ill health. I spent a week in London delivering workshops for New Town Culture with Company Drinks.
After a long deliberation process I was happy to announce the successful applications to the (Algo|Afro) Futures programme, Jae Tallawah, Samiir Saunders, Rosa Francesca, and Emily Mulenga.
The Rules of Engagement exhibition that I curated for ODI happened back in November 2020, but in May I was in conversation with two of the participating artists, Everest Pipkin and Nick Briz, about their work . Always great to speak with them!
I also made a new video work for the Estuary Festival , which took a trip down the Thames Estuary, showing how it was projected to flood over 100 years. The video I created is titled A Short History of Nearly Everything (big-up to fellow Reuben fans).
Making this video was a real learning experience, particularly in making the soundtrack. I feel that since making the soundtrack for Windows Explorer and Nodes I’ve slowly begun to be more considerate about making music, and making a 40-minute soundtrack gave me a lot to think about in terms of pacing and transitions. Still more to learn about mixing and mastering, but I definitely could sense I made progress.
I also did visuals at the Overlap Social event, which was my first in-person performance since February 2020!
And also this month I contributed to an NFT artwork that was sold at the Proof of Sovereignty Christies auction. The artwork, F473 by Coin Artist was an NFT and also a game! I was really happy to be working with Coin Artist/Blockade Games again (I previously did some work with/for them in 2018 with Plasma Bears).
If you’ve been on the internet at all this year you will have no doubt seen the discourse around NFTs. I still have mixed-to-negative opinions about NFTs in general, so it’s very unlikely that you’ll see me “mint” or “drop” my own works,
This month I was really excited to finally launch A.M. Darke’s artwork that I commissioned for the ODI Rules of Engagement exhibition, fairlyintelligent.tech. To launch the artwork I was in conversation with A.M. about their work
Another huge announcement was that I Am Sitting in a Room was acquired by the Government Art Collection!
This artwork, originally made in 2010, is a remix of Alvin Lucier’s (RIP) work of the same name. I’m really happy that they chose to acquire this piece as it marked a significant moment in my career as a digital artist.
The big thing to happen this month was the conclusion and celebration event for the (Algo|Afro) Futures programme. After a bunch of in-person and online workshops each of the participants presented a new performance at Vivid Projects!
The whole event was live-streamed:
I’m really proud of what they all achieved in just a few short months!
I also made a music video for Affirmation by Echo Juliet
I did an online performance for Flash Crash and then presented some illustration work for Birmingham Design Festival’s Creative City exhibition
Another month of not much output, primarily as I was busy preparing new works. I celebrated my birthday with a performance at an Algorave in Sheffield, my first in-person live coding performance since February 2020!
I also produced a new commission for Beatfreeks’ Youth Trends report. You can see the commission and listen to a discussion I had about art made with data.
By far my highlight of September was Errorcamp, which saw around 50 live coders spend a few nights in the Lake District. We did some performances, some workshops, and some talks, but the most important thing for me was all of us just being in the same space together. The community aspect of Algorave and live coding is so important and I was really missing the in-person stuff, so I was glad to be there with others :-)
I also appeared as a guest on the BBC Arts & Ideas podcast.
This was a big month! It seems as though almost everything that was postponed in 2020 was rescheduled to take place in October 2021! My month of events started with a couple of performances at No Bounds Festival in Sheffield. Part of it was a presentation of prerecorded performances by (Algo|Afro) Futures participants and music by me, and then I performed visuals with both Alex McLean and eye measure.
Then, a week later I presented new video work at the Corridor of Light festival in Manchester. The video, Move Fast And B̴͓̝͉͝r̴̞͕̬͒̾̃e̷̜̖̾̊a̸͙̲̾͐́k̴̡̩̥̆͘ Things is quite possibly my biggest projection and was placed in a very prominent position on Oxford Road. It was such a joy to see people stopping and watching the piece.
This was another instance where I was really happy with the music that I made. It was made primarily using TidalCycles which I mostly used as a sequencer, and then did lots of editing in Ardour.
I also co-cutrated an Algorave, which saw Bad Circulation do their only public performance of the year.
The following week I was in Nottingham to deliver a few workshops and then to install my work for the Cut & Mix exhibition at New Art Exchange. The conversations with the exhibition’s curator, Ian Sergent, started in February 2020, and so I’m glad that the exhibition was postponed rather than cancelled.
[video width=“480” height=“432” mp4=“https://www.hellocatfood.com/wp-content/uploads/2022/01/animation_4.mp4”][/video]
The exhibition is quite close to my heart, and it’s the first time I’ve ever really focused on race in my own work, but it’s something I’ve been wanting to do for a long time. I’m already planning an extension of the work and will definitely talk and write more about the concepts behind it in the future. Also happy to see the exhibition get a mention in the Guardian.
On the same night Careful Networks also launched.
I started running another short course in Blender and then started doing Hydra workshops at Site Gallery in Sheffield.
I also made a variable glitch typeface and some gifs for the Animate Assembly website.
By far the biggest thing was the Concerning Photography event by The Photographers’ Gallery and Paul Melon Centre. I did a keynote artist talk about my practice on the third day of the conference. I’ll update this post with a recording once it’s published.
As usual December was quite quiet. I did a performance for the Between Sound and Concept: Listening with the CCRU event at Coventry Biennial. I was quite ill that day so wasn’t my usual energetic self, but did use it as a chance to do a live debut the Pulse and Nodes tracks. I’m definitely near the point where I’m ready to make an EP or something more official.
I then took part in a discussion with Alexandra Cardenas at ICLC.
We were discussing diversity within the live coding community and the challenges we have both faced in this area. I was really happy to discuss the (Algo|Afro) Futures programme further. In general I really hope that the programme inspires live coders and algoravers in other communities to start their own similar programme. I would hate it if people saw this programme and thought that the work to combat racism is now “done”.
I finished the year by taking part in the TidalClub Longest Night live stream event. My performance was similar to the CCRU set but with a more refined and a new ending piece.
Also in December a remix I provided for Phoneutrian’s Sercle EP was released! My contribution was a remix of the song Crystal Mashup. Lots of other great songs on there!
So that was the year! No specific hopes for the future other than to survive and continue to learn and develop. Vague, I know, but then so is the future.
I’m happy to share that my 2010 video, I Am Sitting In A Room, has been acquired by the Government Art Collection as part of Art X-UK, a permanent collection of works by 45 visual artists from across the UK.
In this difficult and unusual year, the Collection invited the networks for nine regions in England, and the networks in Wales, Northern Ireland and Scotland, to nominate artists as part of a special project, Art X-UK. Our collection curators went on a virtual tour of artists’ studios from Penwith to Ballygally, to select works for the Collection to display in government buildings worldwide. Art X-UK, supported by the Advisory Committee on the Government Art Collection, was a unique way of responding to the impact of COVID-19 on the visual arts sector.
This project has enabled the Collection to support 45 artists, acquiring over 90 works, and spending £230,000 across the UK. As part of the nomination process, we asked each network to form a group and put forward the artists’ names, providing a statement on their selection process for transparency, including a list of the selectors. Asked to consider diverse representation of artists within each region, 24 of the artists are women, 2 identify as non-binary, 20 as minority ethnic, 6 as LGBTQ+, and 4 with disclosed disability.
I Am Sitting In A Room is my take on the 1969 artwork of the same name by Alvin Lucier, in which he recorded himself narrating a text, then played the recording back into the room, re-recorded it, played it back etc.
In my take I used a process of repeatedly glitching font files. I documented this process in several blog posts at the time, including a recent blog post where I tried to recreate the work in 1920x1080 resolution.
I’m really happy that they chose to acquire this piece as it marked a significant moment in my career as a digital artist. It was one of my first works to incorporate automation/programming and the work being screened at GLI.TC/H 2010 in Chicago represented one my first significant international screenings. The piece even was screened at Alvin Lucier’s 80th birthday celebrations in 2011!
Really happy that my work is part of this round of acquisitions along with a lot of great artists :-)
In 2020 I did quite a number of workshops in using the Improviz visuals live coding environment. Improviz can be thought of as a fork of Livecodelab, especially as its developer, Guy John, is one the developers of Livecodelab. However, it has some key differences that make it stand out as its own unique software:
Being able to load your own textures might in itself be a reason for many people to switch from Livecodelab to Improviz. Things can be that just a bit more personalised when you’re using your own images and objects rather than only colours, gradients and basic geometrical shapes. Another potentially useful difference is that in Improviz you can interface with the software using Open Sound Control (OSC). This opens up the possibility of using software or external hardware devices. In this blog post I’ll take you through how you can connect a midi controller to Improviz via OSC and Pure Data.
To get started you first need to define a variable in Improviz that you want to be changed by OSC/midi. The name of this variable can be anything as long as it’s not a name already used as a function or variable in Improviz. Check the reference page for a list of reserved names. In my example I’ve used the variable name size.
size = ext(:size, 1)
Next, we need to connect to it via osc so that we can change its value.
When you launch Improviz via the terminal one of the messages you’ll see printed is the port it is using for sending message over OSC.
2021-03-25 20:53:.732595 INFO: Running at 640 by 480 2021-03-25 20:53:.732733 INFO: Framebuffer 640 by 480 2021-03-25 20:53:.390032 INFO: Loaded 3 texture files 2021-03-25 20:53:.437047 INFO: Loaded 8 material files 2021-03-25 20:53:.441641 INFO: Loaded 5 geometry files 2021-03-25 20:53:.441718 INFO: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 2021-03-25 20:53:.441766 INFO: Creating Improviz Environment 2021-03-25 20:53:.466755 INFO: Loading ./stdlib/variables.pz 2021-03-25 20:53:.466846 INFO: Loading ./stdlib/transformations.pz 2021-03-25 20:53:.466890 INFO: Loading ./stdlib/shapes.pz 2021-03-25 20:53:.466930 INFO: Loading ./stdlib/style.pz 2021-03-25 20:53:.466968 INFO: Loading ./stdlib/textures.pz 2021-03-25 20:53:.467004 INFO: Loading ./stdlib/screen.pz 2021-03-25 20:53:.467039 INFO: Loading ./usercode/grid.pz 2021-03-25 20:53:.467078 INFO: Loading ./usercode/seq.pz 2021-03-25 20:53:.467116 INFO: Improviz OSC server listening on port 5510 2021-03-25 20:53:.467297 INFO: Improviz HTTP server listening on port 3000 2021-03-25 20:53:.467405 INFO: Improviz resolution: 640 by 480
Of course you can, at this stage, use any software that can send data over OSC, but for this blog post/tutorial I’ll be using Pure Data. Alternatives exist but I like using it as it’s lightweight, stable and is cross platform.
To send OSC messages use the [netsend] object to connect to the same ip address as Improviz (usually 127.0.0.0) and same port (5510). [udpsend] will output a 1 from its only outlet to show a successful connection. With the connection established I can now send values from a number box to the variable via OSC!
Right now I’m using number box which has its values being set by me manually clicking and dragging. I could have the numbers being generated randomly by using the [random] object, or even have some level of audio reactivity by using the [adc] object. If that’s your thing you do it! Keeping to this blog post’s title I’ll be using a midi controller to change these values. For this next stage you should know that I’m using Ubuntu (20.10) as my operating system. This means that the instructions, especially those concerning connecting a midi controller, may be different for your operating system. Sadly I can’t help with that.
Connecting a midi controller to Pure Data is quite easy. I’m using an Akai MPK Mini MKII, but the instructions on connecting the controller are the same for pretty much any midi controller. First make sure that Pure Data is exposing at least one midi port. Change your midi backend to ALSA-MIDI in Media > ALSA-MIDI. Then go to Media > MIDI Settings… and make sure you have at least one midi input.
Then, open QjackCtl, click on the Connect button and under the ALSA tab connect the MPK Mini Mk II output port to the input port of Pure Data.
In Pure Data you can now read the Control Change (CC) values of a one of the knobs or pads using the [ctlin] object. On my MPK the first dial (K1) is [ctlin 1]. It outputs values from 0 - 127 (128 values). I want it to change the size of a cube from 0 - 4, so I need to map the ranges. I found this very handy mapping abstraction so I’ll be using that. With the ranges mapped I can use the knob on my controller to change the size!
[video width=“1280” height=“316” mp4=“https://www.hellocatfood.com/wp-content/uploads/2021/03/pd_improviz_4.mp4”][/video] Pure Data patch in Improviz code is here: pd_improviz_4.zip
For my next trick I want one octave, C5 to G5, to alter the shades of grey of the cube. The [notein] object will tell me the current midi number of the key being pressed. From that I can deduce that C5 to G5 is midi notes 48 - 59. Using the [maxlib/scale] object again I can map those ranges to 0 - 256 and send those values over OSC to a variable in Improviz that will be used to change the fill function.
[video width=“1280” height=“316” mp4=“https://www.hellocatfood.com/wp-content/uploads/2021/03/pd_improviz_5.mp4”][/video] Pure Data patch in Improviz code is here: pd_improviz_5.zip
For my final form I’ll use one of the pads on the midi controller to toggle a random colour generator.
[video width=“1280” height=“316” mp4=“https://www.hellocatfood.com/wp-content/uploads/2021/03/pd_improviz_6.mp4”][/video] Pure Data patch in Improviz code is here: pd_improviz_6.zip
One of the possibilities of using a midi controller to control visuals in this way is that you can control the audio and visuals simultaneously, rather than one being triggered in reaction to the other. In my experience of doing live visuals it has been quite normal for visuals to move or, as is quite often the case, pulsate in reaction to the amplitude of the music. In fact I did this many years ago for a video for My Panda Shall Fly.
What I’ve sometimes noticed is that there’s latency and the reactive visuals often feel like they’re coming in too late after the beat/instrument has hit. Of course the latency can be reduced by adjusting the sensitivity of the audio input device (microphone or line in) but then it’s a fine balancing act of both the musician and visualist adjusting levels. Achievable but a pain!
By having one device/controller triggering both you can, in theory, have both happen simultaneously. Here’s a demonstration of this from October 2020
[video width=“1920” height=“1080” mp4=“https://www.hellocatfood.com/wp-content/uploads/2021/03/improviz_pd_7.mp4”][/video]
As you can see the midi controller is controlling both the visuals and the audio. When I eventually get back to performing live gigs this is definitely something I’m going to explore further. Until then, have fun mixing live coding with midi controllers!
I’m happy to launch (Algo|Afro) Futures, a mentoring programme for early career Black artists in the West Midlands who want to explore the creative potential of live coding.
Live coding is a performative practice where artists and musicians use code to create live music and live visuals. This is often done at electronic dance music events called Algoraves, but live coding is a technique rather than a genre, and has also been applied to noise music, choreography, live cinema, and many other time-based artforms.
(Algo|Afro) Futures will take place between April - June online and at Vivid Projects and will consist of four sessions. Dates will be confirmed in response to lockdown restrictions and participant availability.
Four participants will receive mentorship from myself and Alex McLean on all things live coding. Each participant will receive a fee of £100 per mentoring session attended plus reasonable travel expenses.
This opportunity is open for Black West Midlands-based artists only. The call is open now until 23:59 GMT on 14th March . Further information about the programme, FAQs and the application form can be found at the (Algo|Afro) Futures website.
(Algo|Afro) Futures is organised with FoAM Kernow and Vivid Projects, in collaboration with and funded by the UKRI research project “Music and the Internet: Towards a Digital Sociology of Music”