Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

A Polytemporal Model for Musical Scheduling

  • Conference paper
  • First Online:
Music in the AI Era (CMMR 2021)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13770 ))

Included in the following conference series:

  • 591 Accesses

Abstract

This paper describes the temporal model of a scheduler geared towards show control and live music applications. This model relies on multiple inter-related temporal axes, called timescales. Timescales allow scheduling computations using abstract dates and delays, much like a score uses symbolic positions and durations (e.g. bars, beats, and note values) to describe musical time. Abstract time is ultimately mapped onto wall-clock time through the use of time transformations, specified as tempo curves, for which we provide a formalism in terms of differential equations on symbolic position. In particular, our model allows specifying tempo both as a function of time or as a function of symbolic position, and allows piecewise tempo curves to be built from parametric curves.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 84.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://www.avid.com/pro-tools.

  2. 2.

    https://new.steinberg.net/cubase/.

  3. 3.

    https://qlab.app/docs/QLab_4_Reference_Manual.pdf.

  4. 4.

    https://linux-show-player-users.readthedocs.io/en/latest/index.html.

  5. 5.

    https://medialon.com/wp-content/uploads/2019/07/M515-1-Medialon-Control-System-Manual.pdf.

  6. 6.

    https://smode.fr.

  7. 7.

    https://www.ableton.com/en/live/what-is-live/.

  8. 8.

    We deliberately avoid the term beats here. We think it would bring some confusion by conflating the notion of time unit with the notion of meter, and by suggesting that all beats are of equal conceptual length. This is, in fact, rather a Western exception than a universal norm.

  9. 9.

    One difference, however, is that we use the word tempo here to refer to the ratio of internal symbolic time units over source symbolic time units, rather than the number of beats per minutes, since the latter could depend on the musical meter of the timescale.

  10. 10.

    https://antescofo-doc.ircam.fr/Reference/compound_curve/.

  11. 11.

    Textbooks usually choose the letter \(t\) to denote the parameter of parametric curves. We instead choose the letter \(s\) to disambiguate it from time.

  12. 12.

    Note that here we can find an equation in \(s\). This is beneficial as it allows our numerical solver to find the parameter \(s\) once, and then evaluate the Bézier curve and its derivatives using only polynomials in \(s\). The same change of variable is done in Eq. 13. It is unfortunately useless with Eq. 10 and Eq. 14, since \(s\) can’t be computed directly from the independant variable.

  13. 13.

    The word context here is left intentionally broad. It could encompass the threading model, the data lifetime, the nature of the execution environment (e.g. native code scheduling interpreted code and vice versa), or even the machine on which the code is executed.

  14. 14.

    See https://cycling74.com/sdk/max-sdk-7.3.3/html/chapter_scheduler.html.

  15. 15.

    The notions of fiber, coroutine, or green thread are very closely related, and the distinction between them, if any, is amenable to debate. One could argue that green thread is more appropriate in the context of a virtual machine or runtime environment, while coroutine originates from programming language design. The term fiber may capture a more general view of the concept, but more importantly it happens to be shorter to type.

  16. 16.

    Although the use of shared or ‘smart’ pointers bears its share of problems and, in our opinion, usually warrants a reassessment of the architecture, handles to long-lived, reference-counted objects living behind an API boundary are usually fine: in this scenario, there can be no cycles across the boundary, objects memory can’t be directly accessed by user code, and performance problems can be alleviated by the use of centralized memory management.

References

  1. Ableton: Ableton Live. https://www.ableton.com/en/live/what-is-live/

  2. Anderson, D.P., Kuivila, R.: A system for computer music performance. ACM Trans. Comput. Syst. 8(1), 56–82 (1990). https://doi.org/10.1145/77648.77652

    Article  Google Scholar 

  3. Berndt, A.: Musical tempo curves. In: ICMC (2011)

    Google Scholar 

  4. Bouche, D., Bresson, J.: Planning and scheduling actions in a computer-aided music composition system. In: Foundation, I.S. (ed.) Scheduling and Planning Applications Workshop (SPARK), pp. 1–6. Proceedings of the 9th International Scheduling and Planning Applications Workshop, Steve Chien and Mark Giuliano and Riccardo Rasconi, Jerusalem, Israel (2015). https://hal.archives-ouvertes.fr/hal-01163284

  5. Butcher, J.C.: The Numerical Analysis of Ordinary Differential Equations: Runge-Kutta and General Linear Methods. Wiley, USA (1987)

    MATH  Google Scholar 

  6. Cash, J.R., Karp, A.H.: A variable order Runge-Kutta method for initial value problems with rapidly varying right-hand sides. ACM Trans. Math. Softw. 16(3), 201–222 (1990). https://doi.org/10.1145/79505.79507

    Article  MathSciNet  MATH  Google Scholar 

  7. Celerier, J.M., Baltazar, P., Bossut, C., Vuaille, N., Couturier, J.M., Desainte-Catherine, M.: OSSIA: towards a unified interface for scoring time and interaction. In: First International Conference on Technologies for Music Notation and Representation (TENOR 2015). Paris, France (2015). https://hal.archives-ouvertes.fr/hal-01245957

  8. Coduys, T., Ferry, G.: Iannix. Aesthetical/symbolic visualisations for hypermedia composition. In: Sound and Music Computing Conference (SMC) (2004)

    Google Scholar 

  9. Cont, A.: ANTESCOFO: anticipatory synchronization and control of interactive parameters in computer music. In: International Computer Music Conference (ICMC), pp. 33–40. Belfast, Ireland (2008). https://hal.inria.fr/hal-00694803

  10. Desain, P., Honing, H.: Tempo curves considered harmful. Contemp. Music. Rev. 7(2), 123–138 (1993). https://doi.org/10.1080/07494469300640081

    Article  Google Scholar 

  11. Fouilleul, M., Giavitto, J.L., Bresson, J.: A poly-temporal programming environment for live shows and interactive installations. Zenodo (2022). https://doi.org/10.5281/zenodo.6798287

  12. Fritsch, F.N., Carlson, R.E.: Monotone piecewise cubic interpolation. SIAM J. Math. Anal. 17(2), 238–246 (1980). https://doi.org/10.1137/0717021

    Article  MathSciNet  MATH  Google Scholar 

  13. Goltz, F.: Ableton link – a technology to synchronize music software. In: Proceedings of the Linux Audio Conference (LAC 2018), p. 4 (2018)

    Google Scholar 

  14. Halbwachs, N.: Synchronous Programming of Reactive Systems. Kluwer Academic Publishers (1993). https://doi.org/10.1007/978-1-4757-2231-4

  15. Honing, H.: From time to time: the representation of timing and tempo. Comput. Music. J. 25(3), 50–61 (2001). https://doi.org/10.1162/014892601753189538

    Article  Google Scholar 

  16. Jaffe, D.: Ensemble timing in computer music. Comput. Music. J. 9(4), 38–48 (1985)

    Article  Google Scholar 

  17. MacCallum, J., Schmeder, A.: Timewarp: a graphical tool for the control of polyphonic smoothly varying tempos. In: International Computer Music Conference (ICMC 2010), p. 4 (2010)

    Google Scholar 

  18. Mazzola, G., Zahorka, O.: Tempo curves revisited: hierarchies of performance fields. Comput. Music. J. 18(1), 40 (1994). https://doi.org/10.2307/3680521

    Article  Google Scholar 

  19. Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Integration of ordinary differential equations. In: Numerical Recipes in C. The Art of Scientific Computing, 2nd edn., pp. 710–722. Cambridge University Press, USA (1992)

    MATH  Google Scholar 

  20. Roberts, C., Wakefield, G., Wright, M.: 2013: the web browser as synthesizer and interface. In: Jensenius, A.R., Lyons, M.J. (eds.) A NIME Reader. CRSM, vol. 3, pp. 433–450. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-47214-0_28

    Chapter  Google Scholar 

  21. Schnell, N., Saiz, V., Barkati, K., Goldszmidt, S.: Of time engines and masters an API for scheduling and synchronizing the generation and playback of event sequences and media streams for the web audio API. In: WAC. Paris, France (2015). https://hal.archives-ouvertes.fr/hal-01256952

  22. Von Hanxleden, R., Bourke, T., Girault, A.: Real-time ticks for synchronous programming. In: 2017 Forum on Specification and Design Languages (FDL), pp. 1–8. IEEE, Verona (2017). https://doi.org/10.1109/FDL.2017.8303893

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Fouilleul .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Fouilleul, M., Bresson, J., Giavitto, JL. (2023). A Polytemporal Model for Musical Scheduling. In: Aramaki, M., Hirata, K., Kitahara, T., Kronland-Martinet, R., Ystad, S. (eds) Music in the AI Era. CMMR 2021. Lecture Notes in Computer Science, vol 13770 . Springer, Cham. https://doi.org/10.1007/978-3-031-35382-6_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-35382-6_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-35381-9

  • Online ISBN: 978-3-031-35382-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics