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.

Leave a Reply

Your email address will not be published. Required fields are marked *