VScore: A Real-time Visual Application for Scoring Music.

Version 1.1 David Topper Juraj Kojs Virginia Center for Computer Virginia Center for Computer Music Music University of Virginia University of Virginia [email protected] [email protected]

ABSTRACT

This paper discusses recent upgrades to VScore: A Real-time Visual Application for Scoring Music [1]. This application enables the user to design digital musical from digital images and movie files. These digital media are played back in an ordered sequence. Both the performer and composer can program the text notes into the timeline. The entire visual score can be played, paused, forwarded and rewound. VScore is available under the GNU Public License. New features include network based control (for multiple performers), an on-screen cursor, thumbnail outline, speed control, and external control via MIDI and Max/MSP.

1. INTRODUCTION Although some notation applications support basic timeline display [2, 3], they are overly expensive. Other applications [4, 5, 6] are less expensive, but are non- dynamic. VScore is a free application which suggests a Figure 1. VScore 1.0 novel digital approach to scoring music and its dynamic display. The main window, as shown in Figure 1 displays the VScore software facilitates performance of static image for assigned period of time, time flow, compositions based on absolute time. The application scrolling temporal pointer, and Play and Stop/Pause enables sequential display of images in a simple and buttons. elegant manner. In a performance, VScore offers a The images are inserted in a separate window, which solution to problems such as page turning and stop- can be selected from the File menu. The Figure 2 watching. displays the storage window with the imported images, The composer assembles their own score by inserting image their appearance start time and durations. and/or movie files into a timeline and assigning their duration. The absolute-time based music notated in graphic and traditional notation were utilized in VScore with equal success. The complete VScore timeline can be controlled by a conductor and displayed to performers over a network connection. The performer is able to insert performance notes in order to predict the coming cues and changes. VSCORE 1.0 SUMMARY VScore as a standalone application was originally developed using GTK/GNOME library to manage the general interface (eg., pulldown menus and widget placement) and QuickTime for images. For better performance and common platform availability, the program was re-written using the Qt GUI library to handle both. The main feature of the application is the timeline, which enables placing and images in a sequential order. Figure 2. VScore 1.0. File storage interface.

126

The interface is similar to a spreadsheet. By clicking 2.3. On-screen cursor on a cell for a filename, a file menu selection interface is VScore 1.0 had a very simple moving button beneath presented. Similarly, the performer can customize their the image area. The position of this button indicated the score by inserting various text remarks. The notes are location and progress through the entire score. Based on timed and framed by the starting and ending temporal feedback from performers and composers, VScore 1.1 points in the score. The user types in the text and offers an additional timeline element. The cursor is a temporal points in seconds as shown in Figure 3. Further, practical pointer, which temporal progression unit on the the text can be displayed in one of the nine regions, screen can be defined either as 0.5 or 1 second. At each which divide the screen into equal parts. Thus, if the interval, the cursor moves from left to right on the scored music involves multiple performers, each screen. This is very useful for image-based scores, where performer can use a separate layer to mark their precision is needed. The cursor can be set to indicate individual remarks. Each performer can choose from five overall absolute progress through the score or progress available colors to further individualize their texts. within a given timeline event, indicating when the next event is about to occur.

Figure 3. VScore 1.0. Note storage and placement window.

One goal in VScore 1.1 was to add “drag and drop” Figure 4. The on-screen cursor is a solid semi- ability to user and composer notes in a timeline. The transparent line scrolling through the screen in planned functionality is similar to transparent desktop assigned intervals. sticky notes. As of the writing of this paper, that feature is not yet implemented.

2.4. Thumbnail outline 2. VSCORE 1.1 In order to better facilitate compositional setup of a 2.1. Network Control score, a timeline thumbnail viewer has been added to VScore 1.1. Rather than simply viewing the spreadsheet The original version of VScore could only be used by menu, the thumbnail outline enables the viewer to retain a single performer. VScore 1.1 facilitates network the feeling of the score as a whole throughout the control via an entire ensemble via TCP connections. performance. The outline displays the thumbnail of the Each running copy of VScore can communicate with images, which are in the score. A pointer indicates on other running versions. Privileges can be set within the which image or “page” in the score the performer is given project to allow one or multiple copies to control currently located. playback, pause and movement (forward and reverse) In the original version of VScore, playback speed was through the timeline. Notes are stored individually for static. The playback speed can now be modified via a each performer. multiplier, allowing sections or the entire score to be played back at different tempos. 2.2. Movie Files VScore 1.1 enables importing of images as well as movies through a QuickTime widget. Often the composer prepares the score as a movie in another application such as Macromedia Flash [7] and provides the performer with a complete product. This new feature allows synchronization between static media such as photos, dynamic media such as movie files, and composer/performer specific information and queues stored in VScores “notes.”

127

in compositions where the temporal precision is of primary concern. A metronome window can be also activated from the View menu. This feature enables the performer to set the display metronome mark. A flashing button then appears on the screen at the intervals set by the performer. For the scores with constant pace, this feature can be preferred to time following.

2.8. Documentation

The main features of VScore are now documented in a included with the application. A basic tutorial also guides the novice user through key aspects of the program. Similarly, a few small template examples of compositions are included.

3. Conclusion and Future Directions Figure 5. Thumbnail outline (framed in blue). VScore 1.1 represents a set of major improvements to the original version, based on feedback from performers 2.5. External Control and composers. Unmentioned in this paper are minor changes to internal program code that have fixed minor Key elements of a running VScore application such as programming bugs, which manifested during specific play, pause, forward, and reverse can now be controlled conditions. It remains a primary goal of this project to by external applications. The basic mechanism is distribute the application freely and receive further similar to the Network control features. Messages are feedback and suggestions to further functionalities from passed in a very simple TCP numerical format. Value the users. Based on continued feedback, we are pairs are translated by VScore. EG., the message “1,0” evaluating online repositories such as Sourceforge.net. means “pause.” The first argument being the “playback” Future directions for the development of VScore control category. The second being the value. include more stress testing. Since the application is Messages of this type can be sent via MAX/MSP's designed to be used in a performance situation, bugs and mxj.tcp object. MIDI messages can be mapped similarly crashes are simply not tolerable. The QT GUI library via a GUI menu (eg., note_on can be translated to runs on Mac OS, Windows, and platforms. “play”). VScore currently runs only under Mac OS X. Future This feature allows “tape and performer” pieces to be work will include ports to Windows and Linux run in real-time with VScore. A running application can trigger score file events in real-time and not have to rely solely on manual timing of pre-recorded playback being 4. REFERENCES synchronized with a play command to the timeline. [1] D. Topper and J. Kojs. “VScore: A Real-time 2.6. Frame-to-frame scratching Visual Application for Scoring Music.” Proceedings of the International Computer Music Conference, New Orleans , USA, 2006. This feature is an extension of the original moving timeline button. By moving the button beneath the [2] . Retrieved from www.finalemusic.com. 2007. timeline, the user was able to index into a score at a [3] . Retrieved from specific point in time. Images and notes, however, did http://www.sibeliusmusic.com/. 2007. not change with the movement of the button. Now the interface is linked into the playback function so that the [4] LilyPond v. 2.9.11. Retrieved from user can see how the score evolves over time and index www..org/web. 2007. into a given point, while seeing other events execute as [5] MagicScore. Retrieved from they move forward and back in time. This enables the www.musicaleditor.com. 2007. performer a novel degree of control over the score, [6] Nightingale X, v. 5.2. Retrieved from which is particularly helpful when the performer desires www.ngale.com. 2007. to practice a particular place a without starting from the beginning of the piece or even a page. [7] Macromedia Flash v. 8. Retrieved from www.macromedia.com. 2007. 2.7. Stop-Watch Window and Metronome

Originally, the absolute time of a running score was displayed beneath the image viewer in VScore's main window. Now, a larger stop-watch can now be selected from the View menu. This may be particularly helpful

128