Proceedings of the 9 th International Scheduling and Planning Applications Workshop ( SPARK-15 )

This paper presents a scheduling model for computer music systems. We give an overview of planning and scheduling issues in computer-aided music creation and rendering, and propose strategies for executing actions and computations in music composition or performance contexts. Introduction It is well known that the notion of scheduling can imply different levels and complexity in planning tasks and sharing resources (Lawler et al. 1993). Minimizing the resources and optimizing the timing of a process requires a strategy to determine the best ordering of tasks, and every task or computing instruction may itself require a careful planning of operations. In this paper we highlight some specificities of the planning and scheduling processes involved in a computer music application. Music is a prolific field for computer systems and domainspecific programming environments. Many of them have been developed to support composition and other interactive tasks related to music writing and performance (Dannenberg, Desain, and Honing 1997). Therefore, a variety of applications and computing paradigms exist within computer music environments, implying different perspectives and concerns regarding the notion of scheduling. We consider a particular subset of computer music systems dedicated to computer-aided composition (Assayag 1998). These systems focus on the production and transformation of musical structures, which can be read as scores or rendered by audio players or synthesizers. In computeraided composition systems the planning (generation and ordering of musical actions) and the execution (or “rendering”) are usually two separate processes which operate sequentially. In this context real-time constraints only concern the execution phase. In the planning phase, musical data can be computed following simple best-effort strategies. Other types of musical systems are more oriented towards interaction, and process events and audio streams in realtime during music performances (Puckette 1991). In these systems the musical rendering is the output of periodic computations driven by interruptions or callbacks from audio drivers or external systems, which results are produced in bounded and minimal time intervals. Usually in this case, preliminary planning is very basic and complex temporal scenarios can hardly be developed. Between these two archetypal cases, a number of current projects and software are challenged by the joint management of real-time interaction and the planning of musical structures organised on the longer term (Echeveste et al. 2013; Agostini and Ghisi 2013; Bresson and Giavitto 2014). In this paper we describe the characteristics and design of a scheduling engine for computer music systems conforming with both compositional applications (i.e. static and independent planning and execution processes) and dynamic/interactive situations (where planning operations occur continually and concurrently with the execution). We introduce a two-fold representation connecting the low-level sequence of actions and the higher-level musical structures involved in score editing and rendering. We successively describe the score planning and scheduling models, and show how they can be made dynamic, allowing planning operations to be part of the execution process. Score Representations and Planning The score is a central notion in music composition, considered both as a musical object and as a working environment for composers (see Figure 1). During the process of renFigure 1: Example of a traditional score. dering, it is reduced to a sequence of timed actions (notes and other instructions). This process is performed mentally and naturally by musicians interpreting a score, but it has to be carefully designed in an computer rendering system. A planning algorithm (or planner) must translate the score into this sequence of actions, by mapping the musical data (pitch, dates etc.) to rendering primitives (functions producing sound from the data). As contemporary music scores usually include varied kinds of musical data and actions (e.g. sounds, gesture notations, automations for controllers etc. – see Figure 2), the planning strategy must be designed with open and generic representations of both data and actions. SPARK 2015 Scheduling and Planning Applications woRKshop 08/06/2015 ICAPS 2015