Score following in practice



Similar documents
The IRCAM Musical Workstation: A Prototyping and Production Tool for Real-Time Computer Music

Electronic music. live electronic music is where technology is used to make, change, or play sounds during live performance (usually on laptops).

Sample Entrance Test for CR (BA in Popular Music)

SYMPHONY #9 ANTONIN DVORAK

C Major F Major G Major A Minor

A causal algorithm for beat-tracking

Pizzicato. Music Notation. Intuitive Music Composition. A Full Range of Music Software for the Musician. and

GCSE Music Unit 3 (42703) Guidance

DIGITAL MUSIC DAY 1 WHAT IS SOUND? ANALOG AND DIGITAL EARLY RECORDING WAX FOR YOUR EARS ROUND BUT FLAT WIRE AND TAPE PURE SOUND

Demonstrate technical proficiency on instrument or voice at a level appropriate for the corequisite

Congratulations on purchasing Molten MIDI B by Molten Voltage

Standard 1: Skills and Techniques 1

AUTOMATIC FITNESS IN GENERATIVE JAZZ SOLO IMPROVISATION

Salisbury Township School District Planned Course of Study - Music Production Salisbury Inspire, Think, Learn, Grow Together!

MIDI-LAB, a Powerful Visual Basic Program for Creating MIDI Music

Aim To help students prepare for the Academic Reading component of the IELTS exam.

MUSIC GLOSSARY. Accompaniment: A vocal or instrumental part that supports or is background for a principal part or parts.

INTRODUCTION TO COACHING TEACHING SKILLS TEACHING/LEARNING. September 2007 Page 1

Final Project: Enhanced Music Synthesizer and Display Introduction

How they invented chord patterns for the guitar. J. Chaurette. Dec., 2012

Musical Literacy. Clarifying Objectives. Musical Response

Music Score Alignment and Computer Accompaniment

Control of affective content in music production

Trigonometric functions and sound

FOURIER TRANSFORM BASED SIMPLE CHORD ANALYSIS. UIUC Physics 193 POM

Curriculum Mapping Electronic Music (L) Semester class (18 weeks)

The Tuning CD Using Drones to Improve Intonation By Tom Ball

Concepts for the MIDI Composer, Arranger, and Orchestrator

MV-8800 Production Studio

midi2style - the program for converting MIDI files to YAMAHA keyboard style files

Admission requirements for The Royal Academy of Music

HOWARD COUNTY PUBLIC SCHOOLS MUSIC TECHNOLOGY

Music. Madison Public Schools Madison, Connecticut

22. Mozart Piano Sonata in B flat, K. 333: movement I

Sound and Music. Drum. Drum. Guitar. Flute. Guitar. Trumpet. Flute. Trumpet

Introduction to Digital Audio

Suitable for: Beginners with absolutely no previous experience. Beginners who appear particularly shy or nervous.

DOEPFER MIDI TO SYNC INTERFACE MSY2. User's Guide (English)

City of Dublin Education & Training Board. Programme Module for. Audio Engineering. Leading to. Level 5 FETAC. Audio Engineering 5N1564

Seven Kings High School Music Department. Scheme of Work. Year 9 - Spring Term 1. Indian Music.

Music Theory: Explanation and Basic Principles

UKU User Guide 1 / 14

MTRS Publishing 2004 Copying allowed only for use in subscribing institution

Mu2108 Set Theory: A Gentle Introduction Dr. Clark Ross

Mbox Basics Guide. Version 6.7 for LE Systems on Windows XP or Mac OS X. Digidesign

Guitar Rubric. Technical Exercises Guitar. Debut. Group A: Scales. Group B: Chords. Group C: Riff

Raritan Valley Community College Academic Course Outline MUSC DIGITAL MUSIC COMPOSITION I

Everyone cringes at the words "Music Theory", but this is mainly banjo related and very important to learning how to play.

Lesson DDD: Figured Bass. Introduction:

How to design and implement firmware for embedded systems

Guide to Writing a Project Report

Bell Music Reading Course #1 Introduction 101. D. Rod Lloyd Columbia River Handbells 2010

Detailed user guide for Finale Note Pad

Music Technology Programs

VCE Music Performance

City of Dublin Education & Training Board. Programme Module for. Music Technology. Leading to. Level 5 FETAC. Music Technology 5N1640

Getting Started with 4-part Harmony

AUDACITY SOUND EDITOR SOFTWARE A USER GUIDE FOR AUDIO-VISUAL WORKERS

GABOR, MULTI-REPRESENTATION REAL-TIME ANALYSIS/SYNTHESIS. Norbert Schnell and Diemo Schwarz

Piano Accordion vs. Chromatic Button Accordion

MIDI messages. March 2001 Edition 1.4

National Standards for Music Education

Little LFO. Little LFO. User Manual. by Little IO Co.

Assessment Plan: Undergraduate Degrees Department of Music Miami University. APPROVED BY MUSIC FACULTY 18 April 2012

Chapter 2 How To Cheat A Barre Chord

If this PDF has opened in Full Screen mode, you can quit by pressing Alt and F4, or press escape to view in normal mode. Click here to start.

18 Benefits of Playing a Musical Instrument

Overview of MIDI. What is MIDI Sync?

Teaching Composition With Technology

Tutorial Use Ableton Live for a live set

Students' guide: Area of study 1 (The Western classical tradition )

RECORDING AND CAPTURING SOUND

Team Defending. Understand the terms that describe the roles of players and parts of the field. The person you are marking.

Handale Primary School Music Curriculum Year EYFS ( 4-5 year olds)

A Sound Analysis and Synthesis System for Generating an Instrumental Piri Song

HOW TO SET UP YOUR HOME STUDIO By John J. Volanski

Music (JUN ) General Certificate of Secondary Education June Listening to and Appraising Music. Time allowed 1 hour

Keystation Pro 88 Advanced Guide. Contents: 1 Getting Started. 2 Terminology. 3 Performance Operations of the Keystation Pro 88

Cambridge English: First (FCE) Frequently Asked Questions (FAQs)

Put Your Song to the Tests

Studio Orchestra Seating

Beginners Guide to the Walkingbass

GRADE THREE THEORY REVISION

Music technology. Draft GCE A level and AS subject content

Software Sequencing Basics

Guideline for stresstest Page 1 of 6. Stress test

Session Keys. e-instruments lab GmbH Bremer Straße Hamburg Germany

SAMPLIT U S E R M A N U A L

Progression of Learning in Secondary School Music

ÂØÒňΠMusic Workstation July 9, 1997

This document is downloaded from DR-NTU, Nanyang Technological University Library, Singapore.

GSnap Manual. Welcome to GSnap. Installation. Hints

Transcription:

Score following in practice Miller Puckette and Cort Lippe IRCAM, 31, rue St-Merri, 75004 Paris, FRANCE msp@ircam.fr, lippe@ircam.fr ABSTRACT Score following was first presented at the 1984 ICMC, independently, by Barry Vercoe and Roger Dannenburg. By 1987, IRCAM was incorporating score following in concert productions. To date, ten IRCAM pieces have relied on score following to synchronize live electronics with flute, clarinet, percussion, and piano. We noticed quickly that algorithms which work well in theory, or even in the laboratory, often cease working when confronted with real examples of instrumental writing. In the case of the clarinet and the flute it has been necessary to use acoustic-only pitch detection, which has further complicated the score following problem. The solutions we have found to date seem far from definitive, but it now seems a good moment to describe carefully and in detail what we are doing, before launching another foray into the unknown. This paper describes, in detail, the algorithm we now use, as well as the compromises that composers are still having to make in order to avoid certain of the algorithm's pitfalls. The work reported here is part of a long-term research program at IRCAM that aims to extend the possibilities of live electronic music performance. As part of this program, several generations of digital synthesis hardware have been developed. The machine in current use for music production is the IRCAM Signal Processing Workstation (ISPW) (Lindemann 1991), which recently replaced the 4X machine as the predominant real-time signal processor at IRCAM. Score following (Vercoe 1984; Dannenburg 1984, 1988) is the process of tracking live players as they play through a pre-determined score, usually for the purpose of providing an automatic computer accompaniment to a live player. The procedure for score following is rather simple: enter a score into a computer in some form, and then play the score as real-time input to the computer (either via a MIDI interface or a microphone and acoustic analysis), comparing the computer's stored score to the musician's playing on a note by note basis. If the comparison being made between the two is successful, the computer advances in the data base (the stored score) in parallel with the player, triggering electronic events at precise points in the performance score. In theory, one or many parameters can be followed, but with one interesting exception, we have settled on pitch. The most difficult aspect of automatic accompaniment, the necessity to extrapolate tempo in order to choose the timing of events, does not present a problem here -- it will be seen below that we can use a far simpler score following algorithm than is needed for tempo-tracking. The score following algorithm's state consists of a pointer to the "current" note, and a set of pointers to prior notes which have not been matched (the "skip list"). There are two free parameters: the "skip number" (a non-negative integer) and the "skip time" (in units of time.) The "current note" is the note immediately after the furthest note (in the ordering of the data base) that has been matched. The score follower is started by setting the current note to the first note of the data base. Once the last note has been matched, the current note is undefined (but matching can still continue if there are notes in the skip list.) When a live note is played, the follower attempts to match it with a note in the data base; the matched note must have the same pitch as the live one (alternatively, if the live notes

might have octave errors such as from a pitch tracker, matches can be accepted between notes that differ by an octave.) First, a match is sought from the skip list. For the match to be valid, the skipped note may not be more than the skip time prior to the current note (the time being taken from the data base); that is, the follower will not back up more than that amount. (We can thus drop old notes from the skip list to control its size.) If no match is found from the skip list, the search is continued starting at the current note. First, a fixed number of notes are examined, given by the skip number. Then, starting from the last such note, the search is continued for all notes that lie within the skip time. If a match is found at or past the current note, the current note and skip list are updated. In figure 1, a possible score follower state is shown, indicating which notes are matchable at a given time. Typical choices are one or two for the skip number, and.1 to.3 seconds for the skip time. The skip number is primarily relevant in slow, melodic passages where no two notes might be within the skip time of each other in the data base; it represents the number of mistakes of omission the player may make before the follower gets lost. (From the point of view of the score follower, the player "jumps ahead" to the next correct note that is played.) The skip number is best kept small because a wrong or extra note can cause the follower to jump forward; the greater the skip number, the greater the number of possibilities for matching the incorrect note. In contrast, the skip time is most significant for vertical structures such as a chord. A chord is not likely to be played in the same order every time; the skip time controls how far the score follower is willing to go back and forth in the data base to "collect" all the notes of a chord as they come in. As with the skip number, the skip time is best kept small. The score follower pays attention to the beginnings of notes only; their durations, both in the score data base and in the live performance, are ignored. Score following may be done either on a Macintosh or the ISPW, using the MAX program (Puckette 1988). On the Macintosh, MAX uses the MIDI standard to control either commercial synthesizers or the 4X; on the ISPW, synthesis and sound processing are also done within MAX. An editor, EXPLODE, has been written for MAX to facilitate the maintenance of the score data base. A more complete description of EXPLODE appeared in (Puckette 1990). For score following, incoming events are sent to EXPLODE, and conditionally generate events on EXPLODE's output. EXPLODE regards channel 1 as the set of events to follow, and all other channels as global actions. Incoming events which match an event on channel 1 cause the matched event to be output. The matched events need not come out in exactly the same order as they occur in the sequence; moreover, if an event is skipped in the input it never appears on the output. Events whose channels are not 1 are output as soon as they are passed; i.e., as soon as a later event from channel 1 is matched. A musical example of score following for triggering signal processing events is the fifty-minute piece, "Pluton", by Philippe Manoury. This piece, originally for piano and 4X, has since been ported to the ISPW. The function of the signal processing in "Pluton" is primarily to transform the sound of the piano, via harmonizing, frequency shifting, time-stretching, spatialization, reverberation, and analysis/resynthesis. An example is shown in figure 2, which uses an infinite reverb and two samplers. The circled numbers 2, 3, and 4 represent global actions: action 2 sets a reverberator to infinite reverb time and sends the piano sound to it for about.3 seconds (after waiting.2 seconds to avoid having the attack of the piano note in the reverb.) Actions 3 and 4 record the two chords of the piano into the two samplers (represented by the top two staves in the figure), and start note-generation processes which replay the chords with an irregular rhythm (further actions replace the samples and change the rhythm of playback.) The piano part of the example is somewhat free rhythmically, thus there would be little value in trying to extract a tempo from it. If the performance and the computer score differ, this may produce undesired results. Even if the score follower

always works in rehearsals, a musician is not infallible. It is essential that someone be on hand to follow both the musician's playing and the computer's following during a performance, ready to intervene if and when the performer and computer fall out of synchronization. Also, composers are often forced to make compromises so that their music is followed in such a way that the electronic events in the score are correctly triggered. These compromises fall into three categories: 1.) Writing which cannot be accurately followed because of the nature of the written material: trills, tremolos, repeated notes, multiphonics, and secondary sound sources. 2.) Passages which are of great interpretive difficulty or passages which may be error-prone due to performer nervousness. 3.) Signal processing versus score following ordering problems. Figure 3, from the composition "Music for Clarinet and ISPW" by the second author, exemplifies one major difficulty in using the algorithm described above. Composers often ask players to play passages at the limits of their ability, and the players often make strings of errors in fast passages. Also, any acoustic pitch follower will make more errors in fast passages than in slow ones. A tempo-sensitive score follower of the sort described in (Vercoe 1985) tends to handle such situations transparently, but in our case it is often necessary to reduce the computer score to a subset of the performer score, containing only certain, more reliable notes. In Figure 4 (taken from "Explosant-Fixe" by Pierre Boulez), we see a succession of tremolos, with common notes between them. Since the tremolos are over wide intervals, the flute tends to produce extra notes in the transition, some being audible, and others resulting from transients which are not stable enough to be heard. It is unknown in advance, of course, how long or how fast the tremolos will be played (except, of course, by guessing from a previously measured tempo). The compromise taken here was to add certain grace notes between the tremolos, which the follower is forced to await before proceeding. The tremolos themselves are entered as a single pair of notes, since duplicating the notes of the tremolo will not in any way improve the matching. It is sometimes desired that the score follower await a specific input without the possibility of jumping forward. This is accomplished by adding artificial "forcing" notes, out of the range of the instrument, so that the algorithm cannot jump over the group without visiting the desired input. Figure 5, by the second author again, presents the worst quandary of all. In effect, the clarinet plays a continuous 'b' below middle 'c', which becomes breathy in the middle and returns to normal at the end. Computer responses are desired at the beginning, middle, and end of the phrase. In this register the grace notes are not always picked up by the pitch tracker, and the "concert effect" ensures that they are least likely to be properly reported when they are most desired. The timing is free, so tempo awareness would not help. This is something a human accompanist has no trouble following; but any solution so far proposed for computer involves some kind of cheating. It will have occurred to the reader that all of the shortcomings of this score follower could be overcome by the addition of some rudimentary "intelligence", particularly taking advantage of timing information from the input. So far, we have hesitated to do so. The algorithm described may be comprehended and used by a non-computer-scientist. An "intelligent" algorithm might fail less often, but in worse or less easily repeatable ways. If a particular spot in a score works in rehearsal, it is likely to work in performance too. Finally, if a passage seems questionable in rehearsal, it is usually possible to play it out of tempo in order to reproduce and correct the problem. REFERENCES R. Dannenburg, "An On-line Algorithm for Real-Time Accompaniment," Proceedings, ICMC, (Paris, France), pp. 193-198, 1984.

R. Dannenburg and H. Mukaino, "New Techniques for Enhanced Quality of Computer Accompaniment," Proceedings, ICMC, (Cologne, Germany), pp. 243-249, 1988. E. Lindemann et al., "The Architecture of the IRCAM Music Workstation," Computer Music Journal vol. 15(3), pp. 41-49, 1991. M. Puckette, "The Patcher," Proceedings, ICMC, (Cologne, Germany), pp. 420-429, 1988. M. Puckette, "EXPLODE: A User Interface for Sequencing and Score Following," Proceedings, ICMC, (Glasgow, Scotland), pp. 259-261, 1990. B. Vercoe, "The Synthetic Performer in the Context of Live Performance," Proceedings, ICMC, (Paris, France), pp. 199-200, 1984. B. Vercoe and M. Puckette, "Synthetic Rehearsal: Training the Synthetic Performer," Proceedings, ICMC, (Vancouver, Canada), pp. 275-278, 1985. Figure 2. (Manoury) Figure 3. (Lippe)

Figure 4. (Boulez) Figure 5. (Lippe)