Music Programming in Minim

Mills, John A. and Di Fede, Damien and Brix, Nicolas

Proceedings of the International Conference on New Interfaces for Musical Expression

Our team realized that a need existed for a music programming interface in the Minim audio library of the Processingprogramming environment. The audience for this new interface would be the novice programmer interested in usingmusic as part of the learning experience, though the interface should also be complex enough to benefit experiencedartist-programmers. We collected many ideas from currently available music programming languages and librariesto design and create the new capabilities in Minim. Thebasic mechanisms include chained unit generators, instruments, and notes. In general, one "patches" unit generators(for example, oscillators, delays, and envelopes) together inorder to create synthesis algorithms. These algorithms canthen either create continuous sound, or be used in instruments to play notes with specific start time and duration.We have written a base set of unit generators to enablea wide variety of synthesis options, and the capabilities ofthe unit generators, instruments, and Processing allow fora wide range of composition techniques.