Patternuary 2023

During January 2023 a number of people active in the livecoding community participated together in a ‘patternuary’ https://club.tidalcycles.org/t/patternuary-2023/4474/1 aiming to make one pattern every day during the month.

Some people worked in TidalCycles https://tidalcycles.org/, while many chose to use the Strudel platform https://strudel.tidalcycles.org/.

Some of the patterns were posted on the Tidal Club thread above, while many otherers appeared under the #patternuary thread on Mastodon https://post.lurk.org/tags/patternuary.

Given the strong likelihood of bitrot, I created a single video https://archive.org/details/jsvdwpatternuary2023 that captures brief excerpts of all of the patterns I made: mostly in Strudel, but also in SuperCollider, Pd and one composition notated in MuseScore.

The audio is also released as an album on bandcamp: https://tedthetrumpet.bandcamp.com/album/everyday-jan-63

(Most of) the code is available as a gist https://gist.github.com/tedthetrumpet/0410ae1cd2ad0a2837a36aca94e5b5ea

Livecoding Audacity – the outcome

So, here’s how it turned out: attempting to ‘livecode’ Audacity by saving a file out periodically to SuperCollider. A slow start, but gets more interesting towards the end of the twenty minutes.

Also available here https://archive.org/details/nightstream-dec-2022-tedthetrumpet

Tiny Estuary Jams

I seem to have started doing that thing where I post a small piece of work each day: so far, four very short jam sessions in Estuary:

Gamelan sounds in GarageBand on iPad

This posting shows how I was able to get the sounds of the pelog half of the Spirit of Hope gamelan here in Glasgow to work in GarageBand on an iPad.

First install an app called ‘SoundFonts’ from the App Store: it’s £4.99.

Go to this link https://archive.org/download/sohgamelanbalunganpelog, and download the file called SoH Gamelan balungan pelog.sf2

The file should end up saved in the Downloads folder in iCloud Drive.

Open the SoundFonts app and click the + button.

This took me straight to the correct file in iCloud Drive: you might have to browse to find it though. Select the file to import it to the SoundFonts app.

Once you select the sound called ‘balungan_pelog’ you should be able to play it. You might need to change octave to get all of the sounds, there should be slenthem, demung, saron and peking.

Repeat the process above to download the other soundfont, that includes gongs, kenongs, kethuk and drums. Here is the link https://archive.org/download/so-h-gamelan-gongs-drums-etc-pelog

To use the sounds in GarageBand, you need to find – I don’t know what it is called, this track browser thing! – and select the ‘External’ pane.

Select the SoundFonts icon

And you can now play and record tracks using the gamelan samples in GarageBand!

Sound from SuperCollider to OBS on macOS

The principle here is that sound is sent from SuperCollider to the virtual audio driver BlackHole, and from BlackHole to OBS. You then listen to the sound through OBS.

Install https://github.com/ExistentialAudio/BlackHole

screen-shot-2020-03-14-at-09.42.56.png

Set the mac sound output to ‘BlackHole 16ch’ using the widget in the menu bar:

Boot or reboot the server in SuperCollider – this is a key step, the SC server will not pick up a change of audio device without a fresh boot or a reboot:

After boot, check that the SC post window says ‘”BlackHole 16ch” Output Device’:

(If you’re using Tidal you’ll need to run SuperDirt.start here again.)

In OBS, click on ‘Settings’ and go to the ‘Audio’ pane. Set ‘Mic/Auxillary Audio’ to ‘BlackHole 16ch’ and ‘Monitoring Device’ to ‘Built-in Output’:

Screen_Shot_2020-03-15_at_19_56_47.png

In OBS, look for a gear icon for settings in the Audio Mixer panel select ‘Advanced Audio Properties’:

Screen_Shot_2020-03-14_at_09_47_41.png

Under Audio Monitoring select ‘Monitor and Output’:

Screen_Shot_2020-03-15_at_20_06_42.png

Play a sound in SuperCollider. In OBS, turn up the slider in the Audio Mixer Panel, and you should see the Mic/Aux slider picking up sound:

Sound should now be playing from SC into OBS and through into your speakers/headphones. Adjust volume as usual from the widget in the menu bar.

Update: it seems that on macOS 10.15 you may need to go back to the volume widget in the menu bar and select the output you want to hear there. (I can’t test this directly, I’m still on 10.13).

That syncing feeling

In order to be able to work up sketches for ‘Perang Gagal’ at ICLC in Limerick, I wanted to use Logic to compose demos of the material for the live players that I could then improvise with in SuperCollider. This poses the problem of how to sync the pulse and tempo between the two programmes, which proved annoyingly difficult to accomplish!

Ideally, I would have liked to set the tempo in SuperCollider for Logic to follow. A straightforward way to do this would have been for SC to send MIDI clock and have Logic follow but, annoyingly, Logic does not support slaving to MIDI clock.

According to the Logic help, it should be possible to sync to an audio click from Logic. I couldn’t get this to work, and nobody on the Logic Users Group seemed to be able to help either.

The eventual solution was less than perfect. I used Logic to send MIDI clock, and had SuperCollider slave to that. This involved using the MIDISyncClock extension from H. James Harkins ddwMIDI quark. Not perfect, but got the job done.

What did work very well indeed was the recently released Blackhole tool for passing audio between mac applications. I’d definitely recommend this as a replacement for Soundflower!

Livecoding gamelan

The work that I will be taking to ICLC 2020 in Limerick is entitled ‘Perang Gagal: a Series of Inconclusive Battles’, and is a collaboration with Professor Mel Mercier at the Irish Word Academy of Music and Dance. I will performing livecode in SuperCollider as part of a small gamelan ensemble let by Mel. Here’s the demo video I submitted to the conference call:

I had thought that the eventual piece would be straightforward to devise, but it is proving trickier than I thought. There are couple of limitations. We won’t have access to a full gamelan for the conference. I had hoped to visit Limerick to work with the players in advance, but that has not proved possible: instead, I am going to send sketches of the material I am working on to Mel, and we will put the piece together during the conference.

The third limitation is around pulse. I want this piece to be rhythmic, but I do not feel confident about trying to get SuperCollider to follow the tempo and pulse of a live ensemble of gamelan musicians. Consequently, I am having to devise material where SuperCollider establishes some sort of groove that the live players will follow.

So far I have four potential sections for the piece. As ever, I am reworking existing materials. ‘fibblesticks’ and ‘Adrift & Afloat’ are ‘counting pieces’ that employ numerical frameworks to allow performers to play together in time, while leaving pitch inderminate: or rather, when working with the gamelan, projecting the entire complement of available notes, pelog in this case.

I have on a number of occasions performed a sort of quasi-Javenese gamelan texture in SuperCollider, using samples of the Spirit of Hope instruments here in Glasgow. For Limerick, I have reworked this by adding a balungan part for the live players.

The fourth section for the piece is new, and is based around a couple of musical ideas that occured to me in a dream and that were still in my head on awakening:

Many of my musical ideas originate in this way!

Livecoding brass

As 2019 draws to a close, I’m spending some time getting ready for the International Conference on Livecoding in February in Limerick. I put in two proposals. The first of these was to be called The ‘All-Pressure No-Method’ System, and would have involved me working with four live brass players. I say ‘would have’: this has had to be abandoned, we were not able to fund the travel and accomodation for the players.

The central idea, however, is one I’d like to return to. Inspired particularly by the work of Kate Sicchio in livecoding dancers, the intention was to livecode the brass players by means of a repertoire of typed and projected instructions. Here’s a demo video of the concept:

Algorave at Sound Thought

I shared an algorave spot at Sound Thought with Claire Quigley, that was streamed as part of the TOPLAP 15th anniversary stream. You can see her set here and mine is here, although I have to say not that happy with the way my performance turned out on the day. The rehearsal was better:

As you can see, combining my livecoding work with my passion for table tennis! And, in fact, this was a new technical discovery just the day before: it is possible to use Atom to livecode simultaneously in Hydra and SuperCollider, using a plugin for SC. I’m not sure this is intended behaviour, but in practice if you have Hydra running in Atom and then switch to a page of SC code, the Hydra visuals run on behind that code.

Amongst other things, Claire is a colleage of mine at the Royal Conservatoire of Scotland, where she teaches coding to the music education students. We’re hoping to do more work together in the future.

Callout for Scottish algo-ravers 16-2-2019

I’m looking for music and/or visual artists working with live code who are interested in joining me for an improvised algorave as part of Sound Thought 2019.

‘Livecoding’ is a practice where creative artists who work with computer code perform live, often producing music and/or visuals, with the audience typically able to watch the evolution of the code on a projected screen. ‘Algorave’ is a subgenre where the aim is to produce beat-driven music and/or visuals for dancing.

Examples of the kind of software we’re talking about include:

Music:
Sonic Pi http://sonic-pi.net/
TidalCycles http://tidalcycles.org/
FoxDot http://foxdot.org/
SuperCollider https://supercollider.github.io/
Troop https://github.com/Qirky/Troop
Estuary http://intramuros.mcmaster.ca:8002/
Gibber http://gibber.cc/
ChucK http://chuck.cs.princeton.edu/
Pd https://puredata.info/
Overtone http://overtone.github.io/

Visuals:
Hydra https://github.com/ojack/hydra
LiveCodeLab https://livecodelab.net/
VEDA https://veda.gl/
PraxisLIVE https://www.praxislive.org/
Processing https://processing.org/
fluxus http://www.pawfal.org/fluxus/
The Force https://videodromm.com/The_Force/
LiveCoder http://livecoder.net/

More about algorave https://algorave.com/ and livecoding https://toplap.org/

Drop  me an email on js.vanderwalt@rcs.ac.uk if interested!