***xxxxx*** = suggested insertion ***(xxxx)*** = suggested paranthetic insertion ***[xxxx]***} = alternative suggestion ***{xxxx}*** = commentary ///xxxx/// = suggested deletion INTRODUCTION Mockingbird is a software package that runs on a general purpose computer called the Dorado. The Dorado is an experimental computer developed at Xerox PARC which has a large raster display, a keyboard, and a special pointing device called the mouse. The mouse is moved around beside the keyboard on the table. A cursor appears on the display to indicate where the mouse is pointing. When Mockingbird is run, a score appears on the display with staffs, notes, beams, and so on. The mouse is used to point at particular elements of the score. The mouse has three buttons on the top that can be used ***(sometimes in conjunction with keyboard keys)*** to issue commands. Optionally attached to the Dorado is a Yamaha CP-30 electronic synthesizer. The synthesizer can be used to play and record the music that appears on the screen. It doesn't have to be hooked up ***[connected]*** to use the editor. THE EDITOR The score that appears***on the screen*** looks exactly like a piece of ***normal*** sheet music ///covered with standard music notation///. There are usually four to six staff sets (lines) on the display each composed of two to four staffs. At the left of each staff there is bass or treble clef sign with an appropriate key signature. Scattered over the staffs are notes, chords, beams, measure lines and other symbols commonly found in ///standard/// music ///notation///. Only a small amount of the score can appear on the screen at the time, so there are commands that allow the user to look at different sections. "Scrolling" will cause the current section of the score to be moved up or down some amount so that neighboring lines can appear. ///The user can scroll from a single line to an entire page./// "Thumbing" allows the user to jump to an arbitrary point in the score. This is done analogously ***{EGAD!!!}*** to the way people thumb through a book. The user specifies about ***[approximately]*** how far into the score he would like to be, and the program adjusts***[modifies]*** the display accordingly. Both thumbing and scrolling are accomplished by moving the cursor into a special "scroll bar" at the left of the score and clicking one of the mouse buttons. Mockingbird has a notion of "voice" that is analogous to the parts found in an orchestral score. If you think of the different melodic lines that appear in piano music as different parts,***[If you think of the different "parts" that occur in piano music,]*** it is clear that voices may contain chords as well as individual notes. Voices are not restricted to one staff, but may wander up and down as needed. The user can change the view of the score so that a ***single*** voice appears by itself. The remainder of the score appears on the display in a very light grey for reference, but it isn't affected by the ***[any]*** commands that are issued. The score can be edited with Mockingbird in ways analogous to the way documents are edited by***[with]*** word processors. The usual paradigm for making an edit is to "select" some portion of the music and then issue a command***which is to take effect on the selected portion***. If it is appropriate, several ***successive*** commands can be issued before a new selection is made. There are two types of selections available to the user. He may either select a contiguous section of the score, or an arbitrary collection of ***individual*** notes. A section selection ***[selected section]*** is indicated by video reversing***(black to white and white to black)*** the lines ***everything in that section. The section selected may be as small as a portion of a measure or as large as the entire score. It encompasses all of the notation that appears on all of the staffs. On the other hand, a note selection only applys ***[applies only]*** to the particular notes that are selected. Note selection is indicated by greying ***"[greying]"*** the note head. EDITING Typical commands for editing the score include beaming or chording a collection of notes together, making an n-tuplet, transposing notes, changing their spelling, or changing the staff on which they appear. Many of these commands work with either types ***[type]***of selection. For instance, the user may transpose a single note down an octave or an entire voice up a fifth. The first action would be accomplished by selecting the note and issuing the command. The second would be accomplished by ***first***changing the view to look at just the voice desired, ***then***selecting the entire score, and ***finally*** issuing the command. The user may also rearrange large sections of the score with ease. To replace one section of the score with another, the user would first select ***[first selects] the section to be replaced (called the primary selection), select the section to be copied (called the secondary selection), and then issue the ***replace*** command. The primary selection doesn't have to be the same size as the secondary selection. This facility can be used to delete, insert, and duplicate arbitrary sections of the score in arbitrary places. In addition to changing the structure of the music, the user can change how ***[the way]*** it appears on the sheet. For instance, the number of staffs for each line can be changed on a line by line basis. The user can switch a staff's clef in the middle of a measure, or change it to octava ***{improve wording of that}***. Key signatures and time signatures can be changed ***within the score*** wherever necessary. The user can add new material to the score by picking up items off ***[from]*** of a pop-up menu. The menu appears under the cursor whenever a particular button of the mouse is held down. On it are found a note icon, a rest icon, measure lines, and various other markings such as trills ***, etc.***. As the cursor moves ***[is moved]*** over the menu, it changes shape to correspond to the icon immediately under it. When the mouse button is released, the cursor retains the last shape. The user can then insert ///many/// instances of that icon by pointing to a place in the score and clicking another mouse button. Notes and rests are selected after they are inserted for the user's convenience ***(i.e. so that an action, such as specifying time value for instance, can immediately be taken upon the newly inserted material)***. In addition to the fundamental commands that allow the user to rearrange the score and change the structure of the music, there are also a number of fairly sophisticated commands that help the user produce a complete score. For instance, Mockingbird will check that all the measures add up to the correct metrical values. If one of the voices is missing a rest or something ***[So if, for example, one of the voices is missing a rest]***, Mockingbird will complain by greying ***["greying"]*** the measure ***(i.e. by marking it with a stipple pattern on the display)***. JUSTIFICATION A particularly useful command is the one that "justifies" sections of the score. Justifying a section of the score involves several things. First of all, the justifier goes through each measure and makes sure that all of the voices are consistent ***[consistently aligned]*** with one another. If they aren't, it moves the notes around until they are. Two voices would be inconsistent if separately they added up to the time signature but together they added up to more than the time signature. This might happen if voice A consisted of quarter notes and voice B half notes and the half notes of voice B were aligned with the second and fourth quarter notes of voice A rather than the first and third notes. In this case, the half notes would be moved. {I DIDN'T MAKE CORRECTIONS BEYOND HERE - just marked questionables} After the voices are made consistent, the justifier re-determines the horizontal distances between the different elements of the score. The horizontal distance is determined based on the types of the elements (whether measure line, whole note, or quarter note), the voicing, and how things touch each other. The justifier squeezes things together as close as possible based on a parameter *** given by the user and within the constraints given above. After this, the justifier decides how many measures will fit on each line. If there is room left over, the measures are stretched to fill the space. The result is that an integral number of measures appear on each line. The justification process is surprisingly good ***. It is rare that the user has to twiddle *** the result manually to improve its appearance. Consequently, the user is freed from a lot of detail work. A common style of use is to enter music a voice at a time, not worrying about the spacing between the notes. When a line's worth has been entered, the user justifies it and starts again. The justification takes care of the relative placement between the voicing *** and the overall appearance as well. All the user has to concern himself with is the structure of the music (and the height and tilt of the beams, which are outside of the domain of the justifier). The justifier is also helpful in determining page layout and page breaks. The user can indicate that a particular measure must fall at the end of the line. The justifier takes this into account when it decides how many measures to put on the line. There is also a ***density*** parameter to the justification command which gives the user a little control over how many measures will appear on each line. With ***[using]*** these two features the user can control where the score ends and how many pages it fills. THE SYNTHESIZER As the user completes sections of the score, he can "proofread" them by playing them through the synthesizer that is optionally attached to the Dorado. ///When so directed///, Mockingbird will produce a rendition of the score on the synthesizer. The cursor tracks the performance on the display, much like the old bouncing ball***. Mockingbird's rendition will correctly take into account grace notes, n-tuplets, trills, polyphonic passages, and changes in the metrenome. Although it*** is very mechanical, it is sufficient to catch erroneous note values and pitches. It also gives the composer feedback on how his composition is going.***{discuss variable speed}*** This synthesizer can also be used to capture music as it is played***by the composer***. As the user plays, Mockingbird observes the synthesizer keys going up and down***. It records these in a pianoroll*** form, capturing when notes were struck and when they were released. The composer isn't restricted to a single melodic line, nor must he follow a metrenome. He may play as*** he wishes. Once the user has played a piece***or section of a piece*** on the synthesizer, he has captured his idea in a form that cannot be lost. Although pianorolls are a far cry from standard scores, they are readible*** enough to reconstruct the composer's original intent. At this point, the user could go on to capture more music, or he could turn to the more painful *** process of turning the pianoroll into a score. The pianoroll that is produced can be freely mixed in with standard music notation, or it may be kept separately. All of the ***commands that apply to standard music notation can also be applied to the pianoroll or mixed sections. Thus the composer can rearrange sections of the pianoroll, put notes into different voices, specify the metric *** values of the notes, and add structural elements such as beams and chords. He may also play the pianoroll ***(or mixed....)*** back through the synthesizer. {THERE IS A PROBLEM WITH THE WORD PLAY - the reader will be confused as he doesn't have the context as we do} The ability to mix pianorolls and standard music notation gives the user a lot of freedom. He can work on the score in whatever order pleases him. Mockingbird will even play mixed sections of pianoroll and standard music notation without missing a beat ***{Hmmmmmm???}***. CONVERTING PIANOROLLS Raw pianorolls are very *** unstructured and hard to read. There are no chords or beams to group things, nor have the notes been separated into their proper voices. The time axis of a pianoroll is very different from the time axis of standard music notation; pianorolls measure durations in seconds ***(i.e. inches)***, whereas the notation measures durations in beats ***(an abstraction)***. The mapping between the two isn't simple since the performer may have altered passages for aesthetic reasons. For all these reasons it is very difficult to automatically produce*** the proper notational form for a pianoroll. Although Mockingbird does not attempt to automatically convert*** pianorolls to standard music notation, it does provide a number of heuristics that aid the user in*** the transformation. When the user plays a pianoroll back, he can "beat in" measures by striking a key on the first beat***of each measure. There is also a command that runs through the pianoroll and aligns notes that are within a certain distance of each other. This is useful when*** the notes of a chord were not all struck together. After the user assigned *** notes to their proper voices and gives a time signature, he may ask Mockingbird to make its best guess as to what the values of the notes will be. Mockingbird will then use a simple heuristic to scan the measures one by one and assign note values for each voice. Although this heuristic is only about 80% accurate ***and requires touching up by the user**, it saves the user ***[him]*** a lot of work. It also transforms the pianoroll into a ***clearer,***more familiar form. Many of the heuristic's mistakes can be found by inspecting the score or listening to it through the synthesizer. As mistakes are found, they can be quickly corrected. The combination of simple heuristics and easy editing helps the user rapidly enter a score. It is worth remembering ***[re-emphasizing]*** that playing music on the synthesizer is not the only means of entering music into the editor. If the user cannot play a piano or is copying music from an existing score, he can always enter music directly with the mouse and menu. Since Mockingbird allows pianorolls and standard music notation to be mixed, the two methods can also be used together.