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

Read more

Summary

Languages for Computer Music

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

INTRODUCTION
Programming Environment
Community and Resources
Music Happens in Time
Data Flow and Synchronous Behavior
Logical Time Systems
Tempo and Time Deformation
MODELS FOR SOUND SYNTHESIS
Functional Programming
Objects and Updates
Block Computation
SOME EXAMPLES
Music N
CONCLUSIONS
Computer Music Language Challenges
Language Development Is Active
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call