Abstract
A computer music performance system (CMPS) is a computer system connected to input devices (including musical keyboards or other instruments) and to graphic and audio output devices. A human performer generates input events using the input devices. The CMPS responds to these events by computing and performing sequences of output actions whose intended timing is determined algorithmically. Because of the need for accurate timing of output actions, the scheduling requirements of a CMPS differ from those of general-purpose or conventional real-time systems.
This paper describes the scheduling facilities of FORMULA, a CMPS used by many musicians. In addition to providing accurate timing of output action sequences, FORMULA provides other basic functions useful in musical applications: (1) per-process virtual time systems with independent relationships to real time; (2) process grouping mechanisms and language-level control structures with time-related semantics, and (3) integrated scheduling of tasks (such as compiling and editing) whose real-time constraints are less stringent than those of output action computations.
- 1 ABBOTT, C. Intervention schedules for real-time programming. IEEE Trans. Softw. Eng. SE- 10, 3 (May 1984). Google Scholar
- 2 ANDERSON, D.P. Synthesizer management based on note priorities. In Proceedings of the 1987 International Computer Music Conference (Urbana-Champaign, Ill., Aug. 23-26, 1987), Computer Music Association, pp. 230-237.Google Scholar
- 3 ANDERSON, D. P., AND KUIVILA, R.J. A model of real-time computation for computer music. In Proceedings of the 1986 International Computer Music Conference (The Hague, Oct. 20-24, 1986), Computer Music Assoication, pp. 35-42.Google Scholar
- 4 ANDERSON, D. P., AND KUIVlLA, R.J. Accurately timed generation of discrete musical events. Comput. Music J. 10, 3 (1986), 48-56.Google Scholar
- 5 ANDERSON, D. P., AND KUIVILA, R.J. FORMULA version 3.4 reference manual. Jan. 1989.Google Scholar
- 6 ANDERSON, D. P., AND KUIVILA, R.J. Continuous abstractions for discrete event languages. Comput. Music J. I3, 3 (1989), 11-23.Google Scholar
- 7 BOYNTON, L., LAVOIE, P., ORLAREY, Y., RUEDA, C., AND WESSEL, D. MIDI-LISP: A lisp-based music programming language. In Proceedings of the 1986 International Computer Music Conference (The Hague, 1986), pp. 183-186.Google Scholar
- 8 BRADLEY, M. Forthmacs user's guide. Bradley Forthware, P.O. Box 4444, Mountain View, Calif.Google Scholar
- 9 CHABOT, X. User software for realtime input by a musical instrument. In Proceedings of the 1985 International Computer Music Conference (Burnaby, B.C., Aug. 19-22, 1985) Computer Music Association, pp. 19-23.Google Scholar
- 10 CLARK, D. D. The structuring of systems using upcalls. In Proceedings of the I Oth A CM Symposium on Operating System Principles (Orcas island, Wash., Dec. 1-4, 1985). ACM, New York, 1985, pp. 171-180. Google Scholar
- 11 COLLINGE, D. MOXIE: A language for computer music performance. In Proceedings of the 1984 International Computer Music Conference {Paris, Oct. 19-23, 1984), pp. 217-220.Google Scholar
- 12 DANNENBERG, R.S. Arctic: A functional language for real-time control. In Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming {Austin, Tx., Aug. 6-8, 1984). ACM, New York, 1984, pp. 96-103. Google Scholar
- 13 DANNENBERG, R.B. A real time scheduler dispatcher. In Proceedings of the 1988 international Computer Music Conference (Cologne, Sept. 19-24, 1988), pp. 239-242.Google Scholar
- 14 DANNENBERG, R. S., AND BLOCH, J. Real-time computer accompaniment of keyboard performance. In Proceedings of the 1985 International Computer Music Conference (Burnaby, B.C., 1985), pp. 279-289.Google Scholar
- 15 DANNENBERG, R. S., AND MONT-REYNAUD, S. Following an improvisation in real time. In Proceedings of the 1987 International Computer Music Conference (Urbana-Champaign, Ill., 1987), pp. 241-248.Google Scholar
- 16 JONES, K. Real-time stochastic composition and performance with AMPLE. In Proceedings of the 1986 International Computer Music Conference (The Hague, 1986), pp. 309-311.Google Scholar
- 17 KRASNER, G. Machine tongues VIII: The design of a smalltalk music system. Comput. Music J. 4, 4 (1980), 4-14.Google Scholar
- 18 KUIVILA, R. J., AND ANDERSON, D. P. Timing accuracy and response time in interactive systems. In Proceedings of the 1986 International Computer Music Conference (The Hague, 1986), pp. 327-33O.Google Scholar
- 19 LEBLANC, T. J., AND FRIEDBERG, S.A. HPC: A model of structure and change in distributed systems. IEEE Trans. Comput. C-34, 12 (Dec. 1985).Google Scholar
- 20 LEEMING, A. M.C. A comparison of some discrete event simulation languages. Simuletter 12, 1-4 (1981), 9-16. Google Scholar
- 21 LIU, C. L., AND LAYLAND, J.W. Scheduling algorithms for multiprogramming in a hard-realtime environment. J. ACM 20, 1 (Jan. 1973), 47-61. Google Scholar
- 22 LOY, G. Designing an operating environment for a realtime performance processing system. In Proceedings of the 1985 International Computer Music Conference (Burnaby, B.C., 1985), pp. 9-13.Google Scholar
- 23 LOY, G. Player--Extensions to the C programming language for parallel processing and music synthesis control. CARL software release, Center for Experimental Music, Univ. of California at San Diego, 1985.Google Scholar
- 24 LoY, G. Designing a computer music workstation from musical imperatives. In Proceedings of the 1986 International Computer Music Conference (The Hague, 1986), pp. 375-380.Google Scholar
- 25 LoY, G., AND ABBOTT, C. Programming languages for computer music synthesis, performance and composition. ACM Comput. Surv. 17, 2 (June 1985), 244-250. Google Scholar
- 26 LYCKLAMA, H., AND BAYER, D.L. The MERT operating system. Bell Syst. Tech. J. 57, 6 (July- Aug. 1978), 2049-2086.Google Scholar
- 27 MCCORMACK, W. M. Analysis of future event set algorithms for discrete event simulation. Commun. ACM 24, 12 (Dec. 1981). Google Scholar
- 28 MIDI SPECIFICATION 1.0. International MIDI Association, North Hollywood, Calif., 1983.Google Scholar
- 29 MOK, A. K., AND DETOUZOS, M.L. Multiprocessor scheduling in a hard real-time environment. In Proceedings of the 7th IEEE Texas Conference on Computing Systems (Houston, Tex., Oct. 1978), IEEE, 1978, pp. 1-12.Google Scholar
- 30 MOZART, W.A. Letters of Wolfgang Amadeus Mozart. Dover, New York, 1972, p. 41.Google Scholar
- 31 POPE, S. The development of an intelligent composer's assistant: interactive graphics tools and knowledge representation for music. In Proceedings of the 1986 International Computer Music Conference (The Hague, 1986), pp. 131-144.Google Scholar
- 32 PUCKETTE, M. Interprocess communication and timing in real-time computer music perfor* mance. In Proceedings of the 1986 International Computer Music Conference (The Hague, 1986), pp. 43-46.Google Scholar
- 33 RODET, X., AND COINTE, P. FORMES: Composition and scheduling of processes. Comput. Music J. 8, 3 (1984), 32-50.Google Scholar
- 34 ROSENBOOM, D., AND POLANSKY, L. HMSL: A real-time environment for formal, perceptual and compositional experimentation. In Proceedings of the 1985 International Computer Music conference (Burnaby, B.C., 1985), pp. 243-250.Google Scholar
- 35 SCHOTTSTAEDT, S. PLA reference manual. Center for Computer Research in Music and Acoustics, Stanford University, Stanford, Calif., June 1983.Google Scholar
- 36 SCHOTTSTAEDT, S. PLA: A composer's idea of a language. Comput. Music J. 7, 1 (1983), 11-20.Google Scholar
- 37 SNELL, J.M. Sensors for playing computer music with expression. In Proceedings of the 1983 International Computer Music Conference (Rochester, N.Y., 1983), pp.Google Scholar
- 38 VARGHESE, G., AND LAUCK, T. Hashed and hierarchical timing wheels: Data structures for the efficient implementation of a timer facility. In Proceedings of the 11th A CM Symposium on Operating System Principles {Austin, Tex., Nov. 8-11, 1987). ACM, New York, 1987, pp. 25-38. Google Scholar
- 39 VERCOE, B. The synthetic performer in the context of live performance. In Proceedings of the 1984 International Computer Music Conference (Paris, 1984), pp. 199-200.Google Scholar
- 40 WAISVISZ, M. The hands, a set of remote MIDi-controllers. In Proceedings of the 1985 international Computer Music Conference (Burnaby, B.C., 1985), pp. 313-318.Google Scholar
Index Terms
- A system for computer music performance
Recommendations
Personal computer-music system-song transcription and its application
A description is given of an easy-to-use computer music system using a personal computer, which can transcribe a song into a music score and generate accompaniment to match the melody. The system consists of a 16 bit personal computer, an A/D (analog to ...
Computer music
Encyclopedia of Computer ScienceHistorically, the first application of computers to music resulted in compositions such as Hiller and Isaacson's famous 1957 Illiac Suite for string quartet. In this work, a mainframe (q.v.) computer was used to emulate stochastically well-known musical ...
Comments