261
Views
6
CrossRef citations to date
0
Altmetric
Article for Special Issue Interactive Composition

Extending bach: A Family of Libraries for Real-time Computer-assisted Composition in Max

&
Pages 34-53 | Received 14 Dec 2015, Accepted 02 Sep 2016, Published online: 21 Nov 2016
 

Abstract

The bach library is a package for Max meant to bring symbolic music representation and computer-aided composition in a real-time environment (Agostini & Ghisi, 2013, 2015). In this article, we introduce a more ambitious project: situating the bach library inside a wider family of tools dealing with real-time computer-aided composition in Max, which we call the ‘bach family’. We give an overview of its core member (bach) and of its second member (cage: a high-level library of ready-made modules). We introduce its third member (dada: a library of non-standard user interfaces, currently under development), and discuss future perspectives and ideas.

Acknowledgements

The cage library has been developed within the center of electroacoustic music of the the Haute École de Musique in Geneva, supported by the music and arts domain of the scene of the Haute École Specialisée of Western Switzerland; the dada library is part of Daniele Ghisi’s PhD project, carried out at the STMS Lab (UPMC, Ircam, CNRS) in Paris.

Notes

Daniele Ghisi, STMS Lab (IRCAM, CNRS, UPMC), 1, Place Igor Stravinsky, Paris, 75004, France. E-mail: [email protected].

1 In all the official Max documentation, the term abstraction refers to a named patcher saved to disk, and reusable as a subpatcher. We are using the word here with this exact meaning.

3 It should be made clear that the ‘lambda’ name is not used literally in this context, but as a mere allusion; concepts such as anonymous functions or lambda calculus would be completely extraneous to the overarching programming philosophy and paradigm of Max.

4 For an instance of a deeply different approach to the treatment of symbolic musical data, focusing on the intertwinement among the score parameters rather than their orthogonality, see the Strasheela system (Anders, Anagnostopoulou, & Alcorn, Citation2005).

9 This does not mean that the number of modules in bach is by now fixed (almost every recent release of bach has included some new modules, and this trend is likely to continue), but that the scope of bach will not change: handling symbolic data for traditional music representation, display and editing.

11 As stated in sec. 4.2, two-dimensional cellular automata are also handled in cage (see also Bigo, Ghisi, Spicher, & Andreatta, Citation2015); however, the dada.life object improves this approach, since it makes it more customisable (as far as both the visual aspect and the rules are concerned) and faster (cage.life is an abstraction, consistently with the design of the whole cage project, and is hence intrinsically slower, whereas dada.life can also implement rules via a snippet of C code, compiled on the fly).

12 Although it is true that bach.roll can easily represent audio samples and automations through file names and functions attached to notes as slot data, it is by no means a real audio sequencer, because it would be difficult, if not impossible, to add a waveform representation to notes, and because at playtime all the temporal information attached to each note is output at once.

Log in via your institution

Log in to Taylor & Francis Online

PDF download + Online access

  • 48 hours access to article PDF & online version
  • Article PDF can be downloaded
  • Article PDF can be printed
USD 53.00 Add to cart

Issue Purchase

  • 30 days online access to complete issue
  • Article PDFs can be downloaded
  • Article PDFs can be printed
USD 471.00 Add to cart

* Local tax will be added as applicable

Related Research

People also read lists articles that other readers of this article have read.

Recommended articles lists articles that we recommend and is powered by our AI driven recommendation engine.

Cited by lists all citing articles based on Crossref citations.
Articles with the Crossref icon will open in a new tab.