The Canon Score Language

Canon is a computer language designed to help composers create note-level control information for synthesizers or synthesis software. Canon was motivated by my need for a simple yet powerful language for teaching second-semester students of electronic and computer music, and also by my interest in putting concepts from the language Arctic (Dannenberg, McAvinney, and Rubine 1986; Rubine and Dannenberg 1987) to practical use in a MIDI studio. Canon is something of a cross between a music notation and a programming language. The main idea in Canon is to combine and transform simple scores to form more complex ones. Since time is