I am a final year student on the B.Eng. with Music course at the University of Glasgow. I was introduced to CSound by a course module called Software Synthesis and Composition Systems (SS&CS). It is quite a fascinating composition tool, especially for people interested in becoming programmers for the music industry, as it teaches all the fundamentals and underlying principles of sound design. This medium should not be perceived to be confined to academics or enthusiasts of more abstract forms of music. I for one am using it to broaden my sound "palette" for more popular music forms.
The beauty about CSound is that sounds can be produced which are unrecognisable to the human ear, and it is all to easy to conjur up images of aliens and space. Even the juxtaposition of the various sounds often seems "unnatural", but this is only because we instinctively believe in some natural order of the universe. CSound compositions are not bound by such preconceptions. When preparing a piece, I choose to have an orchestra first, i.e. I design sounds simply to blend with, and complement, each other before deciding on the when and where. The instruments for this example piece are explained below. The piece itself is quite short, but there is still evidence of some structure, even though I did not aim specifically for or against any kind of pattern.
This instrument makes use of the Subtractive Synthesis technique to model the human voice. The use of Subtractive Synthesis to create a model of the vocal tract could be considered here as synthesis using a type of physical modelling technique. The instrument makes use of two different types of sound source: the voicing and the noise source. The voicing source generates a pulse stream intended to simulate the non-uniform vibration of the vocal folds. Jitter and vibrato are used to add a degree of non-uniformity to the fundamental frequency of the sound source. In addition, the jitter is altered using the gbuzz function, which performs the same task as multiple oscili unit generators linked in additive synthesis algorithm. The amplitude and range of harmonics are specified and the fundamental frequency used is the same as for the voicing source entire. The noise source is intended to simulate air flowing past a constriction or a relatively wide separation of the vocal folds. It produces this noise using a random number generator, a modulator, and an amplitude controller. Filters are used to emulate the resonance and suppression of certain frequencies within the vocal tract. The whole sound is enveloped to control the attack, sustain, release and decay times of the final sound. This instrument is based upon a course example presented by Dr E Miranda.
This instrument makes use of Frequency Modulation. The Csound randi unit produces band limited noise, the random numbers being generated at the specified frequency. foscil is a composite unit that effectively banks two oscils in the Chowning FM setup, wherein the audio-rate output of one generator is used to modulate the frequency input of another (the "carrier"). This instrument also makes use of Csound's allpass unit, which reverberates the sound with a flat frequency response. (This is my favourite of this collection)
This instrument also makes use of Frequency Modulation. Here I used two oscillators; signal amod modulates the carrier and produces asig, and aenv is a complex amplitude envelope.
This is an example of what I refer to as "complex" Additive Synthesis. It makes use of Csound's delay units delayr and delayw and taps into them using the deltapi function. The taps are then added together to produce a final sound.
Whilst delayr reads from an automatically established digital delay line, in which the signal retrieved has been resident for a specified number of seconds, delayw writes the signal specified into the delay area established by the preceding delayr unit. When used as a pair, the two units can establish modified feedback loops; deltapi taps into the delayr/delayw pair and extracts delayed audio from the specified seconds of sound.
This instrument makes use of both Frequency Modulation and Additive Synthesis. It also uses delays and taps, and the pitch is determined by the randh Csound unit, which holds each randomly generated number for a period of the specified cycle.