Abstract
With the advent and availability of powerful personal computing, the computer music research and industry have been focusing on real-time musical interactions between musicians and computers; delegating human-like actions to computers who interact with a musical environment. One common use-case of this kind is Automatic Accompaniment where the system is comprised of a real-time machine listening system that in reaction to recognition of events in a score from a human performer, launches necessary actions for the accompaniment section. While the real-time detection of score events out of live musicians’ performance has been widely addressed in the literature, score accompaniment (or the reactive part of the process) has been rarely discussed. This paper deals with this missing component in the literature from a formal language perspective. We show how language considerations would enable better authoring of time and interaction during programming/composing and how it addresses critical aspects of a musical performance (such as errors) in real-time. We sketch the real-time features required by automatic musical accompaniment seen as a reactive system. We formalize the timing strategies for musical events taking into account the various temporal scales used in music. Various strategies for the handling of synchronization constraints and the handling of errors are presented. We give a formal semantics to model the possible behaviors of the system in terms of Parametric Timed Automata.
Similar content being viewed by others
Notes
At least locally, that is, in a bounded time window and for a specific voice.
Antescofo is used to recreate mixed pieces—for example, several landmark pieces of Pierre Boulez have been recreated using Antescofo such as “...Explosante-Fixe...” or “Repons”—, as well as directly used to write new creations—as “Einspielung” by Emmanuel Nunnes, “La Nuit Gutemberg” an opera by Philippe Manoury or “Re Orso”, an opera by Marco Stroppa—and for performances by the Los Angeles Philharmonic Orchestra, the Berliner Philharmoniker, the Orchestre de Radio France, etc.
References
Akshay S, Bollig B, Gastin P, Mukund M, Narayan Kumar K (2008) Distributed timed automata with independently evolving clocks. In: van Breugel F, Chechik M (eds) Proceedings of the 19th international conference on concurrency theory (CONCUR’08). Lecture notes in computer science, vol 5201. Springer, Toronto, pp 82–97. doi:10.1007/978-3-540-85361-9_10
Allen J (1983) Maintaining knowledge about temporal intervals. Commun ACM 26(11):832–843
Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126:183–235. doi:10.1016/0304-3975(94)90010-8
Alur R, Henzinger TA, Vardi MY (1993) Parametric real-time reasoning. In: Proceedings of the 25th annual ACM symposium on theory of computing, STOC ’93. ACM, New York, pp 592–601. doi:10.1145/167088.167242
André É, Chatain Th, De Smet O, Fribourg L, Ruel S (2009a) Synthèse de contraintes temporisées pour une architecture d’automatisation en réseau. In: Lime D, Roux OH (eds) Actes du 7ème colloque sur la modélisation des systèmes réactifs (MSR’09). Journal Européen des systèmes automatisés, vol 43. Hermès, Nantes, France, pp 1049–1064
André É, Chatain Th, Encrenaz E, Fribourg L (2009b) An inverse method for parametric timed automata. Int J Found Comput Sci 20(5):819–836. doi:10.1142/S0129054109006905
Benveniste A, Caillaud B, Pouzet M (2010) The fundamentals of hybrid systems modelers. In: 49th IEEE international conference on decision and control (CDC). Atlanta, Georgia, USA
Berry G, Gonthier G (1992) The esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2):87–152
Cont A (2008) Antescofo: Anticipatory synchronization and control of interactive parameters in computer music. In: Proceedings of international computer music conference (ICMC). Belfast
Cont A (2010) A coupled duration-focused architecture for realtime music to score alignment. IEEE Trans Pattern Anal Mach Intell 32(6):974–987
Cont A (2011) On the creative use of score following and its impact on research. In: Sound and music computing. Padova, Italy
Dannenberg R, Raphael C (2006) Music score alignment and computer accompaniment. Commun ACM 49(8):38–43
Dannenberg RB (1984) An on-line algorithm for real-time accompaniment. In: Proceedings of the international computer music conference (ICMC), pp 193–198
Desainte-Catherine M, Allombert A (2005) Interactive scores: a model for specifying temporal relations between interactive and static events. JNMR 34(4):361–374
Echeveste J, Cont A, Giavitto J-L, Jacquemard F (2011) Formalisation des relations temporelles entre une partition et une performance musicale dans un contexte d’accompagnement automatique Actes du 8eme Colloque sur la Modélisation des Systèmes Réactifs (MSR’11) Craye, Étienne and Gamatié, Abdoulaye Editors, vol. 45. Hermè, Journal Européen des Systèes Automatisé, pp. 109–124
Fanchon L (2012) Formal analysis of score. Master’s thesis, Ecole Centrale, Paris, France. Available at http://articles.ircam.fr Accessed 19 April 2013
Halbwachs N, Caspi P, Raymond P, Pilaud D (1991) The synchronous data flow programming language lustre. Proc IEEE 79(9):1305–1320
Large E, Jones M (1999) The dynamics of attending: how people track time-varying events. Psychol Rev 106(1):119
LeGuernic P, Gautier T, Le Borgne M, Le Maire C (1991) Programming real-time applications with signal. Proc IEEE 79(9):1321–1336
Mandel L, Plateau F (2008) Interactive programming of reactive systems. In: Proceedings of model-driven high-level programming of embedded systems (SLA+ +P’08). Electronic notes in computer science. Elsevier, Budapest, pp 44–59
Manoury P (2007) Considérations (toujours actuelles) sur l’état de la musique en temps réel. Etincelle, le journal de la création à l’Ircam. http://etincelle.ircam.fr/prospectives.html Accessed 19 April 2013
Pouzet M (2006) Lucid synchrone, version 3. Tutorial and reference manual Université Paris-Sud, LRI
Puckette M (1991) Combining event and signal processing in the max graphical programming environment. Comput Music J 15:68–77
Raphael C (2011) The informatics philharmonic. Commun ACM 54:87–93. doi:10.1145/1897852.1897875
Vercoe B (1984) The synthetic performer in the context of live performance. In: Proceedings of the ICMC, pp 199–200
Wilhelm R, Engblom J, Ermedahl A, Holsti N, Thesing S, Whalley D, Bernat G, Ferdinand C, Heckmann R, Mitra T, Mueller F, Puaut I, Puschner P, Staschulat J, Stenström P (2008) The worst-case execution-time problem—overview of methods and survey of tools. ACM Trans Embed Comput Syst 7:36:1–36:53. doi:10.1145/1347375.1347389
Author information
Authors and Affiliations
Corresponding author
Additional information
This work has been partly supported by the ANR project INEDIT (ANR-12-CORD-0009).
Rights and permissions
About this article
Cite this article
Echeveste, J., Cont, A., Giavitto, JL. et al. Operational semantics of a domain specific language for real time musician–computer interaction. Discrete Event Dyn Syst 23, 343–383 (2013). https://doi.org/10.1007/s10626-013-0166-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10626-013-0166-2