***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.