Kenny McAlpine


1 Introduction

My name is Kenny McAlpine, and I am in my first year of research towards a Ph.D. in Algorithmic Music Composition at Glasgow University, under the supervision of Dr S Hoggar (Mathematics) and Dr E Miranda (Music).

I play the piano, clarinet and guitar, and ultimately hope to end up writing music for the media when I graduate again in a couple of years time.

I first met Csound in the Software Synthesis and Composition Systems (SS&CS) course I studied here at Glasgow, where it formed the main development tool for the coursework. Since then, I've been using CSound for a whole load of different things. I've used it as part of my research work to preview compositions; I've used it to produce custom sounds for multimedia presentations and I've even used it just for fun. It's a really versatile and easy-to-use system - even more so now that there are various graphical interfaces available! In the future, I hope to implement different types of physically modelled instruments, and integrate the system fully with my home studio setup.


2 The composition

This short (approx. 60 secs.) piece is an experimental work in which I wanted to try to fuse various types of synthesis and composition techniques together. The first section consists of sustained tones, punctuated with short, percussive sounds. In the middle section, I have tried to contrast melodies generated by hand (in the left audio channel) with melodies generated algorithmically (in the right audio channel). The closing section mimics the beginning with more sustained tones and percussive sounds. In total, I designed 10 instruments for the composition, but they are all in a single pair of orchestra and score files called electro.orc and electro.sco, respectively. The reasoning behind my instrument is discussed below.


3 Instrument and sound design

Although I wanted the overall feeling of the piece to be synthetic, I still wanted to include some 'organic' qualities. To do this I opened the composition with a fairly long burst of a Granular Synthesis tone. I always think that this type of sound has a natural quality to it, akin to bubbles in a liquid, and so it seemed the perfect way of combining the synthetic with the natural. The elementary component waveforms are sine waves, which are layered to produce more complex waves, which are then, in turn, stacked to give the final sonic grain. The grain distribution was controlled using the live cells of the Game of Life cellular automaton. I wanted to complement this tone with another natural sound, and so I constructed a Waveguide instrument whose output is filtered to produce a tone which is reminiscent of mains hum.

For the remaining sounds in the first section, I used a variety of hybrid techniques, including Amplitude, Ring and Frequency Modulations, Additive Synthesis and Wavetable Synthesis. In order to make the sustained sounds more interesting to listen to, I used techniques such as time-variant filtering and pitch-glide to help create a dynamic texture. For example, to create a siren-like effect, I used a control parameter to dynamically control the filter bandwidth and centre frequency of a simple waveform:

;p3 - Note durationk1 expseg 800, p3 * 0.05, 900, p3 * 0.45, 400, p3 * 0.5, 1200a1 oscil 10000, 440, 2aout reson a1, k1 * k1 - k1, k1, 1

and to allow pitch glide to be used on a note, I simply applied an envelope to the frequency of the oscillator, allowing fine control over the glide-delay time and the amount and type of glide applied:

;p7 - Glide delay time;p8 - Glide factoraglide expseg 1, p7, 1, p3 - p7, p8a1 oscil 10000, 440 * aglide, 1

In the middle section, I consciously chose to make the melody in the left-hand audio channel very difficult to listen to in order to focus attention on the algorithmic melody in the right-hand channel. The algorithmic process utilises a property of virtually all music, known as '1/f ' noise. This essentially describes any changing quantity (in this case, the pitch of a note) in which the amount of frequency, f, varies as 1/f. Generally speaking, there should be a larger proportion of small frequency jumps (i.e., step-wise note movement) than high-frequency jumps (i.e. ,melodic leaps). To generate the composition data, I used a number generator to generate a stream of 1/f noise data, which were used to control the melodic movement. Note durations were controlled using a random number generator.

As a bridge between this section and the final section, I chose to introduce another organic-sounding tone, this time in the shape of a subtractive-synthesised human voice. Here, a noise signal is passed through a series of filters, modelling the way that the human voice is produced.

To end the composition, the sounds from the first section were re-introduced with slightly altered control parameters. The piece ends with a sharp percussive tone.