Some music-domain visual programming languages (VPLs) have been shown to be Turing complete. The common lack of built-in flow control structures can obstruct using VPLs to implement general-purpose algorithms, however, which harms the direct use of algorithms and algorithm theory in art-creation processes using VPLs. In this article, we show how to systematically implement general-purpose algorithms in music-domain visual languages by using the computation model known as a finite state machine with data path. The results expose a finite state machine and a set of internal state variables that traverse paths whose speed can be controlled using metronome ticks and whose path depends on the initial conditions of the algorithm. These elements can be further mapped to music elements according to the musician's intentions. We demonstrate this technique by implementing Euclid's greatest common divisor algorithm and using it to control high-level music elements in an implementation of Terry Riley's In C, and to control audio synthesis parameters in a frequency-modulator synthesizer.

This content is only available as a PDF.

Article PDF first page preview

Article PDF first page preview
You do not currently have access to this content.