Future Goals

Following my recent research in audio programming languages I feel really motivated to keep exploring these kinds of techniques and I can’t wait to find other interesting related tools and I’ll be for sure investing some time into improving my skills with new applications. I think these tools are great for sound design and procedural audio and I’m really looking forward to develop my artistic practice in these fields as well as finding professional opportunities as well.

Within the coding, probably my next step will be adapting what I’ve learnt in sound programming during this unit into the live performance or live coding. I think that one tool that will allow me to do this and that is compatible with Python is Fox-Dot. This programming language is well known by live coders and I think that it links Super Collider with Python, allowing us to code in real time. Super Collider is probably another utility where I’d like to have a look soon, and I will be probably be researching a little bit about it.

Also in terms of audio programming, I would also like to come back to Pure Data. I recently downloaded the library ‘Cyclone’, which allows us to use some of the main special features in which Max/MSP differs from PD, and I would like to have a look to it. I would also like to do some research in visuals, coming back with Gem for PD and make some great generative visuals; and would like to investigate what are the available applications to make computer generated visuals in Python, my new favourite platform for coding projects.

A PD patch using Cyclone

Looking forward to the next year, and probably looking at some interactivity projects, I will try to create little sound installations, maybe have a look to Arduino or Raspberry PI, and see what kind of simple projects could I practice with. I will combine these new experimentations with my more usual compositions with synthesisers, probably having some free time to compose some tracks; another little project that I had in mind was to make modular synth cases with the laser cutter in the 3D Workshop and expanding a bit more my modular rig, so I could probably be designing them, having the design ready for September this year. Apart from all this, hopefully using this time off to read some related books and of course having some deserved relax time, and being fully recovered before the start of the 3rd year.

Taking some time this summer to make recordings in the studio

Sequencing and finishing my composition with Python

I’m really close to finishing my composition for the Creative Sound Work in Element 2 and I’m really happy with this research in audio programming. I’d like to say that this DSP library for Python in particular sounds amazing, really clear and powerful and I would strongly recommend these tools for sound creation. There are hundreds of objects and commands to explore and although the workflow might look a bit tedious specially if we compare it with DAW’s, it’s very easy to use and becomes intuitive and fun once you get familiarised with it. However, learning these basic notions about PYO has been a difficult task as there is not any tutorial available online at all, and everything that I’ve learnt comes from my own research in the library’s documentation and some threads at Github, written by the same creator of PYO, Olivier Belanger.

The track that I came up with has plenty generative elements, allowing some chance and probability into different parameters, but there are also some other more traditional musical elements which I thought that were also important to be shown in my process and understanding on an audio tool. From the beginning I wanted to explore a kind of high pitched texture which could give an ASMR feel to the sound, something that could tinkle our hearing. That’s why I created these aquatic sounds, as well as other elements like wind/water kind of sound created with noise, that ended up creating a soundscape which I could say it’s very lake/pond oriented, and I love it, because I really like these kind of rainforest, beach and exotic places type of sonic environments.

In this audio work I wanted to express a strong experimental touch, because I think that this is what we study the most in this course, and as I mentioned before I added more extra elements like percussion, noise and effects to the final code but I think this would be too long to explain so I’ve recorded a video showing the whole code and then I’ll explain a bit of the sequencing methods and final mastering to finish this research.

Creating an arrangement for these sounds I created was an important part of this creative process. The command ‘.play()’ added at the end of the objects is what will determine if the an object like for example a metronome will start to run. This command has other parameters like duration or delay that will count in seconds, and this is what I’ve used to create an arrangement for this composition. Another useful object is ‘Fader’, where we can make a fade in and out of volume, and when applied to the mul parameter with allow us to manipulate volumes in real time. Let’s see some examples:

# In here the percussion metronome will start after 32 seconds, and will have 
# a duration of 124

pmeter = Metro(prnd, 2).play(delay=32,dur=124)

# We can play with this method more strategically, to locate sound at an
# specific moment, using various objects and even loop them.

def repeat6():
    cenv.play(delay=8)

pat6 = Pattern(function=repeat6, time=32).play(delay=32,dur=128)

# The Fader object allow us to increase and decrease volume gradually, like
# I did with the wind effects at the beginning

fad = Fader(fadein=16,fadeout=5,dur=64,mul=0.6).play(delay=16)
windrev = Freeverb(input=[windpass,windpass2],size=2,damp=2,mul=fad).out()
 

And these are the kind of techniques that I’ve used to create an arrangement, it has worked for me but there may exist other ways to more precisely create automation. I think that to unlock all the potential of making music with PYO, we could export individual sounds and then manage them in a DAW or sampler, to work more precisely, but for the creation of this sound work the challenge I was looking for was to create the whole composition with coding only, and that meant to completely sequencing it in the programming console.

Finally I used the recording option that appears every time we run the code, this option starts and stops recording and saves it in the user folder. Later I will load this sound in Pro Tools to adjust the volume accordingly and adding some mastering, and also create an ending fade-out. This was the whole process related to my research and development of my Creative Sound Work, I will definitely keep using PYO to create sound and I want to keep improving my skills in audio programming, also trying other tools, and the next step will be probably live coding audio with this kind of methods.

Guest Lecture Series (Summer Term)

Seymour Wright

Seymour is an experimental musician and saxophonist and he was showing us his work and influences in this lesson. He also played some of his field recordings in Chelsea Bridge as well as some of his favourite records and own releases. He loves jazz and vinyl, and in his style merges noise, jazz and funk from different approaches and these recordings are full of energy. He used to live in Elephant and Castle and is well familiarised with the area.

Luciano Maggiore

He is a sound artist and experimental musician originally from Palermo, Italy. He plays synths, tape recorders and loves vinyl too. His lo-fi compositions and field recordings are full of interesting nuances. He uses to play versions of famous experimental musicians at Cafe OTO and other venues. The whole session was directed by Rory and Ecka on the stage and they also played some vinyls for us, it was interesting and fun.

Mosquito Farm

This female duo based in London, has played at numerous venues lately, using little DIY noise devices. They are also interested in sculptural electronics having created a couple of installations, one of them that launches table tennis balls around the venue becoming a controversial piece among the attendants to the exhibition. Apart from showing us their studio in Woolwich, they performed a little live set for all of us at LCC.

Progressing with my Sound Work

Today I’ve progressed my Creative Sound Work that I’m making with Python and the DSP library called ‘PYO’. After having created a chord progression that will act as a base for my track and having experimented with some effects, I wanted to create a bass line, let’s see the code for this specific section and I will explain it a bit.

The bass line it’s quite simple, the object ‘Choice’ is going to choose a note from a list, where I’ve added the frequencies of 3 notes, one of them repeated and a zero value which is going to leave some room in between notes. This random choice is going to alternate the order of the notes every time which will give a generative feel to the composition. I also created a function called repeat like I did in the chord progression, in order to repeat the envelope, the object ‘Pattern’ then calls the function on loop. This is the best method that I’ve found to create sequences, and there might be other ways to create patterns but in this case this worked for me. At the end of the day this is the first composition that I make entirely with coding and I happy with the progress that I’ve done.

After having created a structure with a pad and a bass line I wanted to create something more textural that I called ‘Bubbles’. In this sound I added plenty of random generators on tempo and delay times and feedback, as well as a much longer list of frequencies for the object ‘Choice’ to select. I think that I really recreated a sparkling texture that you be able to listen in the final composition.

The main waveform here is a sine wave again and the envelope attack and sustain is very short, this bring a very clicky feel to the sound, and the different pitches and delay times creates the drops falling kind of idea.

I will also like to show here some GUI components that we will be able to use every time we run the code on Python, these windows feature sliders with the different parameter that we find in the code, allowing us to fine-tune and copy them later to the code sheet to achieve the desired sound. These windows are shown when we add the method ‘.ctrl’ right after our variable. For example:

# Our variable and desired object

Synth1 = LFO(freq=220, mul=0.5).out()

# On the next line of code

Synth.ctrl(title="Synth LFO")

# The parameter 'title' allow us to name the window.
# Now we will be able to modificative parameters in a visual way.

My sound work is starting to take shape and it will be soon finished, I’m quite happy with the result so far, taking into account that is the first track I make using only code, and I think that this track is much more about the process than the composition itself, being in this process stages like, researching, learning basic code in Python or installing all the needed libraries, which have been very important too.

First steps in my Creative Sound Work

As I mentioned before, for my Creative Sound Work for the CISA unit I’ll be composing a track with Pyo, a DSP library to create sound in Python, a well known programming language. In the composition I will explore different features from this application, like oscillators, effects and some forms of sequencing. To start with, I wanted to create a Pad sound in the background, and this will act as a base to start with, where I will be adding more elements later.

In this image we can see the code relating this pad atmosphere that I composed, as we can see the majority of actions that I took come from variables. The variables are ‘names’ that we write to assign a specific object to it. For example, at the top, the variable ‘env’ has assigned an Adsr envelope, when we add ‘env’ to the volume control (mul) on each oscillator this will apply the desired adsr envelope to this wave.

I created 3 different oscillators for this sound in order to make it polyphonic, there are also 3 lists with different frequencies that will be used for the Pattern object to run the sequence, and the object ‘Iter’ will iterate the frequencies from the list in order, from left to right. These frequencies relate to the major scale and I downloaded a table where I can see all the frequencies relating to each note in the scale, this way I’ve been able to create a harmonic chord progression which will give a nice and pleasing tone to the track.

I have also been experimenting with some effects and other components and I have to say that I’m really surprised because the effects in Pyo sound really well. I’ve recorded a video with this experimentation, in this simple patch I’ve used some random generators applied to a delay effect, and changing the delay and time values I’m achieving some amazing sounds that I will use as a more experimental element in my composition.

Week 23 – Site-situated practices

Personal Creative Practice:

1) Reflect critically on your experience of putting sounds in a particular context. What was the effect of placing sounds within a particular site or place? What worked as expected and what surprised you? Why? Post your thoughts on your blog.

2) Draw a mind-map based on sounds that are important to you for your project. What places, spaces or sites do they concern? What meanings do these each have? How do they connect or inter-relate? Post this mind-map on your blog.

For this exercise we located our Bluetooth speaker just outside the college, as soon as you get out in the glass doors. People seemed a bit surprised when listening the sounds; we played field recordings and noise sounds, so nothing too musical. These tracks also merged with the environmental sounds, cars, sirens and chatting, which created an interesting texture.

Here I have created a mind-map with some locations and concepts present on my project:

Pyo for Python

Pyo is the most popular DSP audio library for Python which allow us to synthesise sounds and therefore create music and sounds using Python’s syntax. I will be exploring it in depth for my practice based research in this unit and I will use it to compose my Creative Sound Work. But in order to successfully create great sounds with this library first I had to learn a bit of coding in Python and I researched about it online. Installing all the software is also a complicated task, we’ll need the Python 3 compiler, a code editor named PyCharm, to compile our code and then we’ll be able to start installing libraries; Installing them is not as straightforward as other software, we need to use utilities like Pip, Homebrew or Github to setup them. Some commands that we’ll need to type on the terminal are the following:

#to install Pyo on Mac

python3.7 -m pip install --user pyo

#Installing latest version from Github

git clone https://github.com/belangeo/pyo.git

#installing Homebrew

$ brew install wget

#installing other needed libraries
#Portaudio

$ brew install portaudio

#Portmidi

$ brew install portmidi

#and more...

Once Pyo has all needed dependencies to run we can try and type our first code and we will hear a Sinewave tone, this is known as the ‘Hello world’ of audio programming.

from pyo import *
s = Server().boot()
s.start()
a = Sine(mul=0.01).out()
s.gui(locals())

After doing some research on the available objects for Pyo I ended up with cool composition, combining different waveforms, lfo’s and noise and I did a little jam where I used some sounds from the modular synth and from the OP-1 too.

Spring Break – Practice Based Research

Making Sound with Python

Having chosen my topic for the essay, Creative Coding in relation with audio, I have encouraged myself during the Easter break to learn a proper major programming language. Following some recommendations I found that Javascript and Python are the most used programming languages out there and I have chosen Python as is the most recommended language for starters. First I have been learning the basics of this programming language based on syntax and arithmetics, but my main focus is going to be the audio applications available for this language; these video help[ed me quite a lot to find available tools for audio coding in Python, and I also found some resources on Github, the biggest community about coding, which is always full of useful information.

After doing some research I’ve found that the most popular libraries are PYO, Pydub and Soundfile, although there are many more; from which I will be focusing on PYO. This library seem to be the most popular as it features a whole synthesis system based on code which can me sequenced with Python code. I’ve got also quite interested in Node-red, a patching system application for Python which allow us to patch the different commands in a visual way, (More similar to Pure Data) and it could be used with PYO.

Apart from the libraries there are also different applications that will allow us to use other audio engines using Python’s syntax. These applications are called APIs and the most popular are ctCSound for CSound, an audio programming language based on C, and FoxDot, to control Super Collider over Python.

Week 20 – Independent Study

Find a further book or article relevant to your topic and post a short synopsis (at least 200 words) on your blog about it. 

Having now decided my topic for the essay and practice based research, I have used the library search looking for books about creative coding and I have found some really interesting books like for example “Code as Creative Medium: A Handbook for Computational Art and Design” by Golan Levin and Tega Brain. This book explains very well the main concepts of Creative Coding and also briefly talks about the history of the field; the whole book is filled with interviews and notes of renowned artists and coders from where I’m getting some references too. Once again the whole publication seems more focused on the visual aspect although it features some chapters about sound too; so far I’m learning that Creative Coding is highly oriented on audiovisual experiences but on my research I’ll try to focus on the sonics aspects of it. As far as I can see at the moment, Creative Coding is full of algorithmic formulas, bringing this practice close to the mathematics, or what is also called Computational art. This relation science/art is really interesting and makes a parallelism with architecture, engineering and biology. I’ve also found an interesting concept here, which is explained at a chapter; the “Synesthectic Instrument”, an instrument that creates visuals and sounds at the same time, and I think that programming languages are tools that allow us to achieve this task very well.

Guest Lecture Series (Spring Term 2024)

Felix Taylor

He is a Sound Artist based in London who is focused in music production, film score and sound installation. He studied in Bristol, and since then been working as an audio engineer and involved in other numerous projects. He also talked about his influences and interests. I found really interesting his works with Max MSP in sound installations, his projects are always immersive and inspiring.

Luciana Perc

Luciana is a composer and sound artist focused in drums and percussive performance based in graphic notation and scores. Her work is really technical and polished, she showed us some really good performances in experimental music and percussion and explained deeply about her theories and research on the field. Definitely a really interesting lecture.

Paul Purgas

Highly influenced by the early techno scene of Detroit techno with Underground Resistance, Paul is a multifaceted sound artist which produces, scores for experimental film and design sound installations. He showed us his heavy industrial drone compositions and his research work in Indian archives of electronic music, related with David Tudor and vintage synths. I enjoyed his work.

Ella Finer

She gave us a very theoretical and philosophical lecture in sound analysis and archives. Ella spoke about her book “Acoustic commons and the wild life of sounds” and also about her Phd research. She also focused in the British Library sound archive where she played some of her favourite recordings, one of them the Mute Swan Heartbeat, a really interesting recording.

Omar Elmi & Kate Carr

Omar is a Phd student of Somali ascendancy with loves to Dj world and jazz music on the Radio, she organises her own event in Hackney and has also worked with ICA and BBC Arts.

Kate has just finished her Phd as a part-time student this year and she explained us about her research which is focused in sonic figures. She also showed us some of her compositions and field recordings.

Shamica Ruddock

This electronic music artist is focused on producing atmospheric and rhythmic music, very danceable in occasions but always building spaces inspired in her British Caribbean roots and dub culture. She prefers to release in physical formats like vinyl and cassette, having leaded her to sign multiple EP’s and albums that are available in record shops and online. Her theoretical vision of her work also captivated the attendants to this lecture.

An installation by Shamica Ruddock

Dirk Schaefer

He is a really experienced film composer for experimental short films who has worked with Peter Tscherkassky and Matthias Müller. His beginnings started using Casio toy pianos like the SK-1 and 4 track tape recorders which were very limited technologies for film composition but this leaded him to engrave his own style and achieve interesting results. These days he uses more advanced digital technologies, we attended to both his guest lecture and workshop where he showed up his work and it was very interesting and inspiring.