Computer Music and Real-time DSP



next up previous
Next: Spectral manipulation with Up: A Real-Time Phase Vocoder Previous: A Real-Time Phase Vocoder

Computer Music and Real-time DSP

I am told one should try to avoid beginning an article with remarks about old computers and how slowly they run, but this time I intend to do so. This is the story of how a program which once needed running in batch mode on PDP11s and taking many hours to produce a few seconds of audio output can now be run in real-time on an inexpensive desk-top Linux machine. Changing a program from batch mode to real time presents an enormous challenge to the programmer: user interface starts to become an issue, imposing a completely new structure on the software, as user-interface-originated events need to be processed asynchronously with the real-time audio synthesis.

Timbre means sound colour, a perceptual correlate of harmonic content, in the same way that pitch is related perceptually to frequency. A violin and a flute can be played at the same pitch and loudness, but always have different timbre. One process which computer-musicians like to use is morphing, where sound can be altered smoothly from an inital timbre to a finishing one. Many readers will be familiar with the process of video morphing and will appreciate that it is an entirely different process from simply cross-fading. One method of achieving the audio equivalent it to manipulate the audio signal not as a series of time samples, but as a series of evolving spectra. By changing the attributes of the sound's spectrum as it evolves, this and many other interesting effects can be made available.

In this article, a method for manipulating spectra in real-time and with continuous audio output will be examined. An example xview application has been written, so anybody with these libraries and an appropriate sound card can experiment for themselves.



N J Bailey
Tue Oct 13 17:55:45 BST 1998