Page  00000126 VScore: A Real-time Visual Application for Scoring Music. Version 1.1 David Topper Virginia Center for Computer Music University of Virginia Juraj Kojs Virginia Center for Computer Music University of Virginia 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 score 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 nondynamic. VScore is a free application which suggests a novel digital approach to scoring music and its dynamic display. VScore software facilitates performance of compositions based on absolute time. The application enables sequential display of images in a simple and elegant manner. In a performance, VScore offers a solution to problems such as page turning and stopwatching. The composer assembles their own score by inserting image 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..___________________________________~SSi~i ^ ~ia~SSiSL..^~; ^.........................^. ( The main window, as shown in Figure 1 displays the static image for assigned period of time, time flow, scrolling temporal pointer, and Play and Stop/Pause buttons. The images are inserted in a separate window, which can be selected from the File menu. The Figure 2 displays the storage window with the imported images, their appearance start time and durations. Figure 2. VScore 1.0. File storage interface. 126

Page  00000127 The interface is similar to a spreadsheet. By clicking on a cell for a filename, a file menu selection interface is presented. Similarly, the performer can customize their score by inserting various text remarks. The notes are timed and framed by the starting and ending temporal points in the score. The user types in the text and temporal points in seconds as shown in Figure 3. Further, the text can be displayed in one of the nine regions, which divide the screen into equal parts. Thus, if the scored music involves multiple performers, each performer can use a separate layer to mark their individual remarks. Each performer can choose from five available colors to further individualize their texts. 2.3. On-screen cursor VScore 1.0 had a very simple moving button beneath the image area. The position of this button indicated the location and progress through the entire score. Based on feedback from performers and composers, VScore 1.1 offers an additional timeline element. The cursor is a practical pointer, which temporal progression unit on the screen can be defined either as 0.5 or 1 second. At each interval, the cursor moves from left to right on the screen. This is very useful for image-based scores, where precision is needed. The cursor can be set to indicate overall absolute progress through the score or progress within a given timeline event, indicating when the next event is about to occur. ore 1. U. Note storage and placement window. One goal in VScore 1.1 was to add "drag and drop" ability to user and composer notes in a timeline. The planned functionality is similar to transparent desktop sticky notes. As of the writing of this paper, that feature is not yet implemented. 2. VSCORE 1.1 2.1. Network Control The original version of VScore could only be used by a single performer. VScore 1.1 facilitates network control via an entire ensemble via TCP connections. Each running copy of VScore can communicate with other running versions. Privileges can be set within the given project to allow one or multiple copies to control playback, pause and movement (forward and reverse) through the timeline. Notes are stored individually for each performer. 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." Figure 4. The on-screen cursor is a solid semitransparent line scrolling through the screen in assigned intervals. 2.4. Thumbnail outline In order to better facilitate compositional setup of a score, a timeline thumbnail viewer has been added to VScore 1.1. Rather than simply viewing the spreadsheet menu, the thumbnail outline enables the viewer to retain the feeling of the score as a whole throughout the performance. The outline displays the thumbnail of the images, which are in the score. A pointer indicates on which image or "page" in the score the performer is currently located. In the original version of VScore, playback speed was static. The playback speed can now be modified via a multiplier, allowing sections or the entire score to be played back at different tempos. 127

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