 |
This Arp 2500 analog modular synthesizer from 1971 had hundreds of inputs and outputs for control of the synthesis processes. Image courtesy of discretesynthesizers.com. |
Curtis Roads is a professor, vice chair, and graduate advisor in media arts and technology, with a joint appointment in music at the University of California at Santa Barbara. He also was the editor of the Computer Music Journal (published by MIT Press), and co-founded the International Computer Music Association. He is often a featured speaker at conferences such as Supercomputing.
Music is an interactive, concurrent process. A note or a chord sounds, then is replaced, gradually or sharply, softly or powerfully, by the next one. For electronically produced or enhanced music, real-time technical advances are critical to continued progress and exploration.
In the 1970s, I fondly remember learning my first parallel programming language, Burroughs Extended Algol. As a researcher in media arts and technology with a focus on music, I wrote programs that spawned thousands of parallel processes for computerized musical composition.
After this, the sequential computing paradigm began to dominate. This seemed like a step backwards — we had to write sequential loops for algorithms in which the exact sequence of events was irrelevant. Even so, as microprocessors became faster, we were able to overcome many real-time hurdles, including sound synthesis, concert hall reverberation, analysis of sound waves, pitch estimation, and granulation, or dividing sound into many, short snippets that allow shortened or prolonged replay with no change in pitch or quality.
My colleagues, graduate students and I have more recently set our sights back to solving problems in areas where parallel machines could have a major impact. One of these is matrix modulation for control of sound synthesis. With modulation, a control signal is used to change the output of a sound-generating component so as to give it a more life-like quality.
|