Stochastic Composition
| 1:53 PM (4 hours ago) | |||
The Note of Challenge: Programme Note
This is my first major work to make use of stochastic synthesis techniques. Stochastic synthesis was pioneered by Greek-French composer Iannis Xenakis (1922-2001), who described his algorithm in the book Formalised Music, which was first translated into English in 1971. Xenakis also argued for combining stochastic synthesis with natural sounds.
The stochastic sounds in The Note of Challenge were created using a computer programme called Stochos, (meaning ‘aim’ or ‘guess’) which I wrote in the Python programming language. The programme allows the user to set the parameters of a stochastic wave, which undergoes random transformations within a given frequency and amplitude range at each iteration. I initially wrote Stochos to only support customisable discrete probability distributions, but further coding allowed me to incorporate continuous distributions such as the normal distribution and the triangular distribution, as well as permitting trigonometric functions on random variables. Currently I am working on writing code to support a parabolic distribution.
The process of stochastic synthesis works as follows. We begin by selecting a number of breakpoints for the waveform, which has to be at least two (I find that 5 is an interesting number). Each breakpoint is defined by a pair of duration and amplitude values, which are modulated by random walk over a number of iterations. We select a frequency range of our choice. The wider the range, the greater the potential change that is possible in that parameter. Then, by a rate conversion, we determine the values for a pair of elastic barriers whose function is to confine the random walks within the specified range. The purpose of the random walks is to alter the durations of the breakpoints stochastically at each iteration. A similar procedure is applied to the amplitude values, which are confined to a range between -a and a, where a is a value between 0 and 1. The elastic barriers operate on the random walk such that they reflect excessive values back into the barrier range. If the lower bound of the random walk is, say, 30, and the random walk outputs a value of 27, then the elastic barrier function will return 33. The same logic applies to the upper bound - if the upper bound is 55, and the output of the random walk is 59, the elastic barrier function returns 51. Finally, after the computation of the ordinates and abscissa of the waveform’s breakpoints at each iteration, the breakpoints are linked by linear interpolation. Currently the Stochos programme is still being developed, and in future I may work with a more experienced computer programmer to debug the programme and make it idiot-proof.
The Note of Challenge (linked below) is a work in progress which is missing one piece: namely, bagpipes. The reason for incorporating bagpipes into a stochastic work comes from the production process, in which I listened to Aaron Copland’s Fanfare for the Common Man at a very low volume relative to the rest of the mix. I felt apprehensive about what the outcome would be if I had simply opted to sample the famous trumpet part at this point, and as such I have decided that bagpipes would be a suitable instrument with which to achieve the high-pitched tone colour that would complement the electronic part. It remains to find a piper who is willing to collaborate with me. If anyone wants to hear the electronic part, I recommend listening with headphones as laptop or smartphone speakers won’t allow you to hear the sub bass which is an integral part of the composition.
Thank you for reading!
- Cameron Watt
No comments:
Post a Comment