![[Notes]: Interactive Computer Assisted Notation with Pure Data and Lilypond](https://data.docslib.org/img/3a60ab92a6e30910dab9bd827208bcff-1.webp)
[NOTES]: INTERACTIVE COMPUTER ASSISTED NOTATION WITH PURE DATA AND LILYPOND Jaime E. Oliver La Rosa New York University Music Department, New York City, USA Waverly Labs for Music and Computing [email protected] ABSTRACT but there is also a robust open source alternative called Mus- escore. Open source packages LilyPond [10] and Guido [7], The [notes] external library for Pure Data and LilyPond is represent music in a specialized syntax in text files which are presented. Section 1 provides a brief overview of music no- then compiled into musical scores. Text files such as those tation in computer applications. Software for music engrav- used in LilyPond not only control the placement of musical ing, computer assisted composition, as well as Max/MSP symbols in a default score layout, but allow the user to ma- and Pd libraries for notation visualization are introduced and nipulate the layout itself resulting in larger control over the some of their features and limitations are explored. Section resulting score. 2 introduces the [notes] object as a new alternative suited Computer Assisted Composition (CAC) packages such specifically for algorithmic composition in Pd and music as Open Music [2] and PWGL [9] offer musical notation as engraving in LilyPond. Section 3 explores the choice of a central feature of their software. The aim of these pack- software packages as well as aesthetic considerations on the ages is to provide composers with a framework to design process of composing music interactively and algorithmi- compositional algorithms. Using the Lisp programming lan- cally. Section 4 shows simple example patches and output guage, these graphical environments allow the user to gener- scores, and outlines some of the features and processes in- ate expressions that are evaluated and optionally visualized volved. Section 5 presents the challenges of engraving input in musical notation. However, such notation is not intended that may not necessarily be aware of bars, beats, or other for musical engraving, but as a temporary visualization tool. subdivisions and subdivision dependent expressions such as Therefore, if a final score is to be produced with material tuplets and proposes a feedback feature that can be used in generated in these environments, this material must then compositional processes. Finally, potential future work and be exported to one of the engraving programs mentioned a score example are presented, followed by conclusions. above for editing. However, these two packages are not the only CAC alternatives. The Abjad [3] library extends the 1. INTRODUCTION Python programming language and creates LilyPond scores. With Abjad, the user can create compositional algorithms in Computer assisted musical notation has become an impor- Python and produce notation in LilyPond syntax which can tant tool in the work of musicians in a large variety of prac- then be edited directly to produce a final score. tices such as musical composition, documentation, perfor- Real Time Interactive environments such as Pure Data mance, visualization, dictation, and education. Some com- (Pd) [12], Max / MSP or Supercollider allow the user to puter programs specialize in music notation and the objec- graphically edit and connect boxes or objects to design real tive of its users is to produce a music score generally in- time processes for sound generation and manipulation as tended for human performance - we’ll refer to these pack- well as integration with video, graphics, sensors, motors, ages as music engraving software. Other computer pro- other software, etc. These software package also allow for grams are intended primarily for composition and use music CAC, however, they don’t support musical notation natively notation as a temporary display to see the result of a compo- and it has been the responsibility of users to generate their sitional process. own libraries for this purpose. Software packages for music engraving can be divided At least four packages allow for visualizing musical no- into those that allow for graphical manipulation of music tation in Max / MSP: Maxscore [4], inscore [5], LOLC [6], symbols and those that compile text files using a specialized and the bach library [1]; and at least one allows musical no- syntax. Two of the most popular graphical editing pack- tation in Pd: gemnotes [8]. All of these packages allow for ages include the commercial products Finale and Sibelius, visualizing musical notation inside their programming envi- ronment as temporary displays for CAC or as a display for by lines and arrows, glissandi, pedal indications, and sev- a live performer to read from a screen. However, if a fi- eral others. Finally, [notes] is able to have multiple voices nal score is to be produced with material generated in these per stave and several staves per score by connecting several environments, this material must then be exported to an en- [notes] objects together with other objects in the library. graving program of choice1. The software is still in its design stage, although the There are several advantages and flexibilities to several alpha version has already been downloaded multiple times of these languages that [notes] does not intend to provide and several users have reported using it successfully. There such as a library of objects for CAC as in [1], a graphic are numerous features that will be added over time. Cur- display native to GEM as in [8], interactive displays for live rently however, some pieces of music can be automatically performers as in [6] or [4], or graphic notation resources, rendered each time, producing different versions of a work live interactive score displays, and OSC messaging as in [5]. ready to be performed. An excerpt form the score for the Fomus [11] deserves a specific mention as it provides piece flexura for cello and MANO controller, written by the the ability to work with CM/Grace, Pure Data and Lisp and author in 2015 has been included in Figure 1 as an example produce output of various kinds including midi and Lily- of a score generated with the notes external. The patch used pond files. It can be loaded as an external object for Pure for this section contains small generative cells that are gov- Data though there are several differences with [notes]. The erned by a larger probabilistic system. These cells contain package is still in alpha version and its last release was in not only pitch and duration information, but also articula- 2011. tion and spans, leaving a score that can be further edited. As can be seen, scores of significant complexity, in notational 2. MAIN FUNCTIONALITIES OF [NOTES] terms, can be generated automatically. In what follows, I’ll explain the rationale for the design The [notes] library of external objects for Pd is written in choices made in developing this package, followed by some the C programming language and allows the user to bridge of the challenges presented by its design and the solutions a gap found in some of the notation packages mentioned that were adopted as well as the next steps in its develop- above and generate musical notation directly in the engrav- ment. ing program LilyPond. LilyPond is therefore not only the software where the score will eventually be edited, but also 3. DESIGN CHOICES a temporary display. In this sense, it shares this feature with Abjad and Fomus. 3.1. Choice of Software Packages The main objective of this library is to produce music The [notes] external runs in the Pd graphical programming notation in LilyPond syntax - that can be further edited - environment and produces scores in LilyPond syntax, which to produce a final score. It is therefore the job of the user can be compiled into .pdf, .ps, or .png formats. If LilyPond to develop or adapt algorithms in Pd that produce input for is installed properly, [notes] will load a .pdf version of the the object to display it in music notation, or to create live score automatically. Pd was chosen for its open source li- interactive musical score systems, or design any other ap- cense, its ability to produce live interactive software, and plications that need to display data in musical notation. For for its support of multiple media. LilyPond was also chosen this reason, I am using the term Computer Assisted Notation for its open source license as well as for its specialization in or CAN to describe the process of converting input data to music engraving. This specialization allows for temporary musical notation. displays during the design of the program, but it also allows The way in which [notes] “assists” you in converting for the further editing of the file to produce a final score in data into music notation is in parsing a sequence of durations any of the aforementioned formats without having to export into beats and bars according to meter data and then encode musical material into a separate software package. this parsed data into a syntax that LilyPond can then compile Although Pd might be seen as a limited or inadequate into a score. [notes] gives the user the option of choosing tool for CAC compared to text based approaches [3], this is a few basic layout options such as paper size, vertical and largely dependent on style and choice of techniques. How- landscape orientation, and then it uses LilyPond’s powerful ever, Pd can allow the user to hear interactive processes live default layout settings. before notation and coordinate an electronic or multimedia Some of [notes]’ most important features include the part with the score in ways that would be harder in other ability to specify articulations, dynamics, clefs, tuplets, me- platforms. ter, tempo, tremolo, note heads, grace notes, clusters, arpeg- gio, as well as expressions that span multiple notes such as crescendos, several kinds of texts optionally connected 3.2.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages7 Page
-
File Size-