Abstract
Specialized languages for computer music have long been an important area of research in this community. Computer music languages have enabled composers who are not software engineers to nevertheless use computers effectively. While powerful general-purpose programming languages can be used for music tasks, experience has shown that time plays a special role in music computation, and languages that embrace musical time are especially expressive for many musical tasks. Time is expressed in procedural languages through schedulers and abstractions of beats, duration and tempo. Functional languages have been extended with temporal semantics, and object-oriented languages are often used to model stream-based computation of audio. This chapter considers models of computation that are especially important for music programming, how these models are supported in programming languages, and how this leads to expressive and efficient programs. Concrete examples are drawn from some of the most widely used music programming languages.
Highlights
Music presents a rich set of design goals and criteria for written expression
That we have explored some issues and design elements that influence computer music programming languages, it is time to look at some specific languages
Computer music languages offer a fascinating collection of techniques and ideas
Summary
Specialized languages for computer music have long been an important area of research in this community. Computer music languages have enabled composers who are not software engineers to use computers effectively. While powerful general-purpose programming languages can be used for music tasks, experience has shown that time plays a special role in music computation, and languages that embrace musical time are especially expressive for many musical tasks. Functional languages have been extended with temporal semantics, and objectoriented languages are often used to model stream-based computation of audio. This article considers models of computation that are especially important for music programming, how these models are supported in programming languages, and how this leads to expressive and efficient programs. Concrete examples are drawn from some of the most widely used music programming languages
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have