Lime* Music Notation Software for the MacintoshSkip other details (including permanent urls, DOI, citation information)
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License. Please contact firstname.lastname@example.org to use this work in a way not covered by the license. :
For more information, read Michigan Publishing's access and usage policy.
Page 582 ï~~LimeTM Music Notation Software for the MacintoshÂ~ Lippold Haken, Dorothea Blostein, and William Walker Lippold Haken CERL Sound Group University of Illinois 103 South Mathews #252 Urbana, Illinois, 61801 Email: L-Haken@uiuc.edu Dorothea Blostein Computing Science Queen's University Kingston, Ontario Canada K7L 3N6 William Walker CERL Sound Group University of Illinois 103 South Mathews #252 Urbana, Illinois, 61801 ABSTRACT LimeT' is a music notation program capable of printing a wide variety of music, including orchestral, piano and voice scores. Music may be entered one chord at a time, or entire passages may be performed with a metronome for automatic transcription. Lime uses its knowledge of music notation rules to automatically produce a printed score; the user then adds text and other musical symbols. Lime is flexible and can accommodate customization of its notational rules. Demonstration copies of Lime are available over the Internet, and a description of Lime's music representation is publicly available. 1. Introduction LimeTM is music notation software developed at the University of Illinois and at Queen's University, originally for the PLATO1 computer system and later for the Apple MacintoshÂ~. Lime consists of two main software components: the music editor and the music formatter. Figure 1 Macintosh is a registered trademark of Apple Computer, Inc. MIDI Manager is a trademark of Apple Computer, Inc. PostScript is a registered trademark of Adobe Systems, Inc. 1PLATO is a development of the University of Illinois and a service mark of Control Data Corporation. ICMC 582
Page 583 ï~~The user edits the underlying music representation by playing notes on a music keyboard, by typing on an alphanumeric keyboard, and by using the mouse to select items shown on the screen. The editor analyzes the user input, makes the corresponding adjustments to the music representation, and invokes the formatter to update the screen display. The music representation includes a description of each note in the piece, the mapping of voices to staves, the locations of clefs, key signatures, time signatures, system breaks and page breaks. The formatter converts the current page of music from this representation into a list of graphics objects (characters, lines and curves) representing the printed music. Here is a summary of the steps used to create the print of the Beethoven Quartet shown in Figure 2(a). A new piece is created, and the user specifies the number of voices (4), the clef for each voice (treble, treble, alto, bass), the key signature, and the size of each measure (three eighth notes). The notes for each voice are played on the music keyboard, in time to a computer-generated metronome. This results in the output shown in Figure 2(b). Next, notes with unusual rhythms (such as grace notes or quintuplets) are added by explicitly choosing note durations and playing the notes one at a time on the music keyboard. Slurred notes are selected with the mouse, and a "slur" icon is clicked. Beaming is adjusted by selecting notes and choosing "continue beaming" or "end beaming". This produces the output of Figure 2(a). cresc. cresc. cresc. N W I,. Figure 2(a) ICMC 583
Page 584 ï~~a;_ _ _ w #.. m_-_ _"_ _"_ _b_ II __________ 33 3 3 3 3 3."".--3 3 3 3 j '3 3I,o~~~ap -I. Figure 2(b) 2. The Lime Music Representation The Lime music representation is never seen directly by the user. The user views the Lime representation via the continually-regenerated graphics on the screen, and via the audio feedback from the synthesizer. An introduction to the music representation is given here for programmers who are interested in writing software to do one of the following: 1) create pieces which can then be edited and printed using Lime, 2) algorithmically modify pieces which were created in Lime, or 3) take statistics and measurements on pieces created in Lime. A detailed understanding of the music representation is not required for most Lime users. Voices The music representation is organized as a set of voices. A voice may correspond to a single instrument, for example a flute in an orchestra piece. A piano part is usually played as two and sometimes more voices. A voice may contain chords, including multi-value chords like T Several voices may be printed together on one staff to make even bigger chords. In an orchestra piece, the Flute 1 and Flute 2 are entered as two voices; these voices print together (with opposite ICMC 584
Page 585 ï~~stem direction) on one staff in the score, but print separately to make the individual instrumental parts. Linked list of nodes A voice is represented by a linked list of nodes, using several different kinds of nodes. Nodes are defined for information at many levels of abstraction, including " Music information (note) " Notational information (clef) " Control over graphics generation (system break, staff-number for printing, beaming rule) " Control over sound generation (instrument number, MIDI data) " Graphics touchup (add text, lines, curves; remove generated graphics items) Extensibility The Lime representation is extensible. All software is written to ignore nodes of unrecognized kind, so new node kinds may be defined without affecting existing software. Notation Contexts Notation contexts share information as appropriate between the representation of a score and the representations of individual instrumental parts. Some nodes, like notes, apply to all notation contexts. (Thus, if notes are changed while editing the clarinet part, the changes affect the score as well, and vice versa.) Other nodes apply only to one notation context; these include PRINT nodes, which specify the staff number and stem-direction for printing, and ENDSYST nodes, which specify system and page breaks. User annotations (TEXT and LINE nodes) may be defined either way; for example, the user may want to make an annotation private to the score, private to the clarinet part, or common to both. The clarinet voice for an orchestra piece might appear as shown in Figure 3. Applies to. Aplies toh Applies to All Graphical Score M M Graphica Clarinet Para in Po Grahical Products Staff 4; Stems Up Mai Staff 1; Mixed Stemsx for MTreble NOTE TEXT Applies to All Graphical) plistoGapia c tand Audio Product s e pt th Clarinet Part n f pt fia, F eighth; slurredl rit.", italic; loc (-8, 21) Figure, 3 3. Availability of Lime For information on obtaining a free demonstration copy of Lime by ftp over the Inteet, write electronic mail to L-Haken@uiuc.edu. The demonstration copy includes the bitmap fonts, the PostScriptÂ~ fonts, the MIDI ManagerM, and the user's manual in PostScript form. The program requires a MacintoshÂ~ with at least 2 megabytes of memory. Use a 68030-based Macintosh for ICMC 585