Page Numbers: Yes First Page: 14
Heading:
MOCKINGBIRD MANUAL
10.0 SCORE ATTRIBUTES
There are a number of attributes (key signature, time signature, metrenome, sheet style) which apply to sections of the score rather than individual notes. To change one of these attributes, the user selects a section of the score (either manually or with everything) and types the appropriate command with its parameters. Mockingbird will change the attribute only for that section, and will reassert the prior value at the end of the selection unless the selection goes beyond the end of the score, in which case it doesn’t bother.

Score attributes can also be change by moving or deleting "signatures" that already appear in the score. This is accomplished in exactly the same way that measure lines are moved and deleted: by using
BLUE and YELLOW respectively. Key signatures and clef changes are special in that if they are moved to the far left of the line they will jump to a standard position on the sheet.

10.1 Keys

The user can change the key for a section of a score by typing
key keyNameCR. The keyName can be a standard key name or it can be a number. By "key name" we mean a letter, optionally followed by b or # (for flat or sharp), optionally followed by an M or m (for major or minor). Thus it will accept names like A, Bb, C#, d, DM, Em, and F#m. Mockingbird will also accept a number between -7 and 7 (inclusive) which it interprets as the number of sharps in the key. (Thus 3 would be the key of A (3 sharps) and -3 would be the key of Bb (3 flats)). The key signature drawn may include extra naturals, if the prior key contains more sharps or flats than the current key contains.

10.2 Time Signatures

The user can change the time signature for a section of the score by typing
/ nCR mCR. ("/" is found under "?".) The parameters n and m give the top and bottom numbers of the time signature. Thus /3 4 would insert a 3/4 time signature.

10.3 Metrenomes
The user can change the metrenome for a section of the score by typing metrenome nCR, where n is a number from 16 to 1600 which indicates the tempo. The default is 128. Larger numbers are for faster tempos and smaller numbers are for slower tempos. The scale that Mockingbird uses is uncalibrated, it has nothing to do with standard metrenome values. The metrenome mark is never printed on the hardcopy output.

10.4 Sheet Styles
The user can change the style of a sheet used for a particular section by typing look n, where n is a digit in 0 to 9. The notion of "style" includes the number of staffs used and the spacing between those staffs. Currently, only the digits 0 through 4 have styles associated with them: 1 => one staff, 2 => two staffs, 3 => three staffs, and 4 => four staffs. The digit 0 produces a sheet style appropriate for pianorolls, which we shall discuss later. Typing SHIFT n will produce a style with the same number of staffs as the style n but a wider spacing.

The "signature" for a style change is a measure line that extends slightly beyond the staff set on both sides. This "signature" can be moved or deleted in the same manner as the others. It can appear anywhere in a line, although styles will only change at the beginning of the line. The rule for determining the style of a particular line is that the widest style (usually the one with the most staffs) takes precedence over narrower styles.

10.5 Clef Switches

The clef switches (currently only bass and treble) are also sectional attributes, but since they only apply to one staff at a time we use a different mechanism for inserting them. To insert a clef switch, the user should pick up the appropriate icon from the menu (
CONTROL BLUE), and deposit it on the staff that he wishes switched. The latter is accomplished by pressing or clicking BLUE. As long is BLUE is down, the clef sign will flash. As soon as BLUE is released the clef switch will be inserted and appropriate parts of the score redrawn. If the clef sign is moved to the far left of the line, then it will become part of the sheet. Pressing YELLOW before releasing BLUE will abort the insertion.

10.6 Octava

To move an octava that is already in the score the user should move the (empty) cursor to either end of the octava and press
BLUE. He should then move the cursor around until it captures the octava. Moving the octava up or down changes its height, moving it left or right changes its range. If the right end is moved to the left of the left end (or vice versa), then no octava is drawn. The user cannot change the staff that the octava is on. Releasing BLUE will reinsert the octava (or delete it if no octava is drawn).
Octava marks are also inserted from the menu. To insert an octava mark, the user should obtain the "8" icon from the menu (CONTROL BLUE). Inserting an octava is very similar to making a section selection. The user should move the cursor to the left edge of the staff that he wants an octava on and press BLUE. Holding BLUE down, he should move the octava to the right until it covers the desired section. Moving the octava up or down will change its height. If the octava is moved far enough up or down, the octava’s staff will be changed. If the cursor is moved to the left of the original point, no octava is drawn. Releasing BLUE causes the octava to be inserted, and appropriate parts of the score to be redrawn.

11.0 SCORE MANIPULATIONS

11.1 Delete

The user can either delete notes individually or delete a whole section of the score, depending on which type of selection he uses. If notes are selected, then they will be carefully removed from all of the structures they participate in and then thrown away. If a section of the score is selected, then everything (notes, measure lines, etc.) will be deleted and the remainder of the score moved over to cover the blank space.
Although "signatures" may be deleted, Mockingbird will take care to preserve the score attributes for the following section. This action is conceptually like cutting a section of the score out and pasting the remaining pieces of the score together.

However, if the user is looking at a voice by itself, a sectional
delete will not cut the paper out from under the score. Rather, it will only the notes in the selected area that belong to the given voice as if they had been individually selected and deleted.

11.2 Replace

To replace one section of a score with another, the user should make a primary (black) selection of the material to be deleted, a secondary (grey) selection of the material to be inserted, and type
replace. Mockingbird will delete the primary selection and insert a copy of the secondary selection in its place. It will also insert key signatures, clef switches, and octavas as necessary to preserve the score attributes of the copy.

If the user is looking at a voice by itself, then replace will have a slightly different meaning. First of all, Mockingbird will delete only those notes in the primary selection that are in that voice (as in delete above). Second, it will only copy the notes in the secondary selection that are in the voice, ignoring other notes and all other score events. Finally, it will attempt to merge the copy into the primary selection on a measure-by-measure basis, aligning the copied voice with the other voices if possible. If the two sections do not have the same number of measures, then the merge will be aborted.
11.3 Transpose

The user may transpose a collection of notes by selecting them (with either style of selection) and typing
transpose nCR. The parameter n is the number of half-steps that the pitch should be move up or down. Thus transpose 7CR will transpose a note up a fifth and transpose -12CR will transpose a note down an octave. All user-defined spellings for a note will be lost unless the user transposes by some multiple of an octave. Transposing a section of the score never changes the key of the section.

12.0 LOGICAL MODE

As we discussed earlier, there are two different modes for representing music: logical mode and pianoroll mode. Our logical mode is the mode in which common music notation rules; music is thought of as a number of voices consisting of successions of discrete note durations (whole, half, quarter, etc.). This is also the mode in which the user is concerned about the aesthetic placement of the musical entities on the sheet of paper. The default mode in Mockingbird is the logical mode. To enter the logical mode from the pianoroll mode, the user must type look justified n.

12.1 Justification

Justification nominally means arranging the score so that there are an integral number of measures per line. We also use the term to mean alignment and layout.
Alignment means to re-sync the notes of a measure so that the voices are properly aligned or registered. This is the only time that Mockingbird will ignore the syncs in favor of the voices. Mockingbird only does this when a pair of voices both "fill" a measure and the voices taken together add up to more than a measure. (A voice "fills" a measure when the sum of its durations exactly equals the total duration implied by the time signature for that measure). This feature allows the user to be careless about the placement of notes relative to the other voices as long as he makes sure that he fills out the measure with appropriate rests.

Layout means to find an aesthetically pleasing horizontal spacing for the musical entities of a score. (The vertical spacing is either already constrained (as for note heads and measure lines) or is left up to the user (as in beam and tie heights)). There are two aspects to determining a layout: a purely graphical aspect which specifies that objects cannot be too close or they will overlap; and a semantic aspect which says that the distance between two note heads is related to the metrical distances between the notes. Both alignment and layout are always automatically performed whenever the user justifies a section of the score. Of course, after the justification is finished, the user is free to touch up the alignment or layout as he sees fit.

To justify a section of the score, the user should first select the appropriate section and type
look justified n (or ESC). Mockingbird will change the selection before justifying so that it encompasses an integral number of measures. It will then align the voices in the selected meaures, layout the section, and then arrange it so that an integral number of measures appears on each line for that section. The end of the selection will always appear at the end of some line. Finally, the remainder of the score will be moved to begin on the next line. This last step may ruin the justification of the following measures, but it was thought better to only mess with those measures that the user had explicitily selected. The parameter n affects the looseness of the layout that Mockingbird will perform. A larger n produces a looser layout. If the user types ESC, then Mockingbird will use that last n that the user specified.

The line breaks for a justified score may be determined in three ways; the user may justify the score line by line, he may justify the entire score and leave the line breaks up to Mockingbird, or he may explicitly designate line breaks by replacing normal measure lines with a special measure line. The justifier always honors the special measure line by making sure that it appears at the end of some line. (The special measure line is the first measure line in the menu; it is drawn with its line extending slightly beyond the boundaries of the staves). Thus, a useful heuristic for justifying a score is to first allow Mockingbird free reign with the entire score until the general spacing is acceptable, and then to rejustify with manually specified line breaks so that the end of the score comes at the end of some page. (The user may also want to arrange the music so that phrases end at the end of a line and page turns come at reasonable places).

Occasionally, the user may want to change a non-standard measure into a special measure to force a line break at the end of that measure. The user should do this by putting the special measure after the non-standard measure rather than by replacing the one with the other. The justifier will arrange the two measure so that they fall on top of one another, and the score will print showing only the non-standard measure.

12.2 Checking Voices

An important constraint in common music notation is that the voices of a measure sum up to the time signature for the measure, both separately and taken together. Mockingbird does not require that this always hold, but it does help the user to verify it, if he desires. If the user wants to check that a measure sums up correctly, all he needs to do is type
x (for examine). No selection is necessary. Mockingbird will then grey any non-empty measure which does not sum up to its time signature. If the user is viewing a particular voice, Mockingbird will only check that voice. If the user is looking at all of the voices, it will find the sum of all the voices taken together, taking into account their interactions through the syncs. The user can get rid of the grey by typing x again or by causing the screen to be repainted.

12.3 Playback and Record

At the top of the screen are two commands that allow the user to use a synthesizer. Please note that the special microcode
must be loaded to use these commands. To issue one of these commands, move the cursor over the command until it turns into a bull’s-eye and then click any of the mouse buttons. (For Playback only: RED=half time, YELLOW=normal time, and BLUE=double time). The box around the command should then invert. To terminate either of these, repeat the above. (Playback will terminate itself when it comes to the end of the score).
When Mockingbird plays music in the logical mode, it will play the common music notation version of the score, unless some section has no durations assigned. Mockingbird plays as a student might play; very rigidly and meticulously. We have make no attempt to teach Mockingbird "expression" since our purpose in having it play is to be able to proofread the score. However, if the user is concerned with this aspect, he can often kludge in some expression with the help of well placed metrenome marks (loudness control is currently impossible).

If the notes of a section do not have any durations assigned, Mockingbird will play from the pianoroll representation for that section if it has one. As soon as it encounters more durations, it will revert to the logical mode. This feature allows the user to move from the pianoroll mode to the logical mode even though his score has not been fully "logicized".

Mockingbird’s player is a separate process from the rest of the program. This allows the user to continue to edit the score while music is being played. However, since the score is an unmonitored data structure common to both processes, the user should be warned that changing the basic data structure may cause the player to play strange things.
Since this is a transitory effect we decided not to restrict the user’s freedom, but rather caveat emptor.

When Mockingbird records music in the logical mode, it inserts the resulting notes into the score as if a
replace had been performed. It is impossible to record against the playback in the logical mode, since it would be very difficult to determine what goes with what. To record against Mockingbird’s performance, the user should move to the pianoroll mode.

12.4 Printing

At the top of the screen is a command that allows the user to print the score. Clicking the command will cause a file to be produced which contains the information necessary to print the score. A hardcopy version of the score can be produced at any time by sending this file to a printer. The file can be saved for future use.
12.5 Automatic Features

Mockingbird has a number of aesthetic adjustments that it performs automatically while in the logical mode. These adjustments are completely automatic, there is no way for the user to override them. However, it is probably reasonable for the user to be aware of them.

If the notes in a chord are too tight, then Mockingbird will stagger the notes so that all of the noteheads can be seen. If two noteheads have exactly the same height but different spelling, then Mockingbird will put the noteheads side by side. (The latter is a variant technique in common music notation, the standard way to handle this case is to use a slanted stem that branches off of the main stem).

If the distinct notes and chords of a sync are too close together, then Mockingbird will move some of the notes or chords slightly to the left or right so that all of the stems remain visible. Mockingbird may also stagger some of the noteheads to avoid overlap. The only exception to this is when two notes have the same pitch and spelling but with opposite stems: in this case, the noteheads are allowed to overlap.

If the accidentals of the notes of a sync are too close together, then Mockingbird will move some of the accidentals to the left to make room for the rest. Mockingbird will also avoid collisions between staggered noteheads and nearby accidentals. The rules used for accidental placement were determined inductively by examining published scores.

If the score is in the hardcopy mode, Mockingbird will arrange the lines of the score so that an integral number of lines appear on each page. It will do this even if there are several staff styles on a page. The general algorithm is to find out how much white space is available and then divide it equally between the lines. If the result is too tight, then the last line is moved to the next page. The only way that the user can affect the number of lines per page is to change the sheet styles for some lines. The
SHIFTed styles are especially useful for forcing the score to have fewer lines per page.

13.0 PIANOROLL MODE

The second of the two modes supported by Mockingbird is the pianoroll mode. The pianoroll mode has music represented much like the old-time player piano rolls. The most important aspects of this is that the time and duration of a note are measured in seconds (rather than beats), and that the positions of the notes in the pianoroll are directly proportional to the time that the notes are played.

The pianoroll mode is most useful when a section of music has not yet been "logicized", i.e. when the voices have not been determined and no durations have been assigned. It allows the user to capture music on the synthesizer and play it back in its raw form. The user can also use this mode to compare the sound of his "logicized" version of a score with the original rendition. To enter this mode, the user should type
look pianoroll n, where n is the scale factor used to determine the spacing (Larger n means more space between notes).

13.1 Special Looks

Mockingbird has a special sheet style (
look 0) which is especially convenient for pianorolls. This style has the property that the vertical position of a note is directly proportional to its pitch and independent of the staff it is on. The top staff of the style is two octaves above the treble, and the bottom staff is two octaves below the bass.

Normally, Mockingbird will display accidentals for pianoroll notes just as they are displayed in common music notation. However, this may clutter up the score since the pianoroll layout algorithm doesn’t make any provisions for preventing overlaps between notes and accidentals. To get around this, there is a special mode that displays the black keys of the synthesizer "in between" the spaces and lines of the staff. This allows the user to still see the exact pitch of a note even though no accidental is displayed. The user enters this mode by typing
look SHIFT accidental, and returns to the standard mode by typing look accidental.

Also, Mockingbird continues to draw common music notation noteheads for the notes, even though pianorolls normally have variable-length bars. This is done to give the user some visual clues about where he is in the score ("There’s that sixteenth note pattern-- I must be in the second movement"). However, if the user really wants to see the variable-length bars, he can type
look SHIFT notehead. To return to the standard mode, he should type look notehead.

13.2 Recording

The user records music in this mode just as he did in the logical mode: he first selects the area he wants replaced, and then invokes "Record" at the top of the screen. Mockingbird waits until the first note is struck on the synthesizer, so there is no need to rush to it after invoking "Record". When the user is through playing on the synthesizer, he must turn off "Record" to see the new notes displayed. The notes that were selected before will have been deleted, just as if a
replace had been performed.

13.3 Playing Against Oneself

The pianoroll mode has a different type of "Playback" than the logical mode. Note that when "Playback" is invoked, the "Record" command will be inverted at the same time as the "Playback" command is. This means that Mockingbird is prepared to record anything that the user might play
while Mockingbird is playing. When "Record" is turned off, the recorded material will be aligned with the performed material and merged into the score. This feature allows the user to build up a composition voice by voice.

Recorded material is always inserted in voice 0 unless the score is in the voice mode, in which case it is inserted in the selected voice. We suggest that the user always record new material into an empty voice to keep it separate from previously recorded material. This will make it easier for the user to experiment with different ideas, throwing out the ideas that are unsuitable.

The user may be interested to note that the music tracking cursor behaves differently in the pianoroll mode. In the logical mode, the cursor leaps from note to note as a note is struck. In the pianoroll mode, the cursor moves at a constant pace along the score.

13.4 Beating In Measures

When the user has produced a pianoroll version of his piece that satisfies him, he may begin to convert it into common music notation. One of the first steps in this process is to insert measure lines into the score. This is normally a time-consuming process, and so we have provided a means for speeding up this process. Whenever music is being played, the user can insert measures by just tapping the space bar. A measure line will then be inserted into the score a little before the current cursor position. The user should tap
on the first beat of the measure, not before. This feature allows the user to insert all of the measures needed in the time it takes to play through his piece once.

13.5 Automatic Syncing

As we discussed earlier, syncing is an vital aspect of how Mockingbird looks at scores. It is important to get the syncing of the score correct before moving to the logical domain. When Mockingbird records music it syncs some of the the notes automatically, but only within a very tight tolerance. The user can go through and manually sync those things that should be synced, but a better approach is to ask Mockingbird to try again with a looser tolerance. If the user makes a
section selection and types sync, then Mockingbird will do exactly this. If there are still mistakes, the user will have to fix them himself.
13.6 Automatic Durations

If the user asks, Mockingbird will make its best guess about what it thinks the logical durations of the notes should be. Its heuristic requires proper measure lines, time signatures, and
voicing. The heuristic does not try to guess how things should be voiced, this is completely up to the user. To use the heuristic, the user should type look physical n (this isn’t required, but it helps since it moves the measure lines to a fixed place relative to the notes that it marks), select the desired measures, and type CONTROL guess. The heuristic will also chord things together. If the user makes a mistake, he can remove the durations by typing 0, and the chords by typing SHIFT chord.

13.7 Automatic Beaming

It is worth repeating here that there is a heuristic available to the user that makes a guess about how the notes should be beamed. To use the heuristic, make a
section selection and type beam.

13.8 Overwriting the Pianoroll

When the user has "logicized" a pianoroll to his satisfaction, he can replace the recorded pianoroll with a version derived from the logical version by typing
look logical. This allows the user to play new voices in against a perfect rendition of his score, rather than the less than perfect original.

13.9 Another Way to Enter Notes

So far we have discussed entering notes from the menu one by one and from the synthesizer all at once. A third method also uses the synthesizer, but in a slightly different way. The third method is to enter a piece in a voice at a time, without worrying about playing the notes in time. This way, the user can take his time positioning his fingers over the keys before he plays them. The resulting pianoroll will be spaced wildly, but if the user justifies the section it will be make it more uniform. After inserting measures, the user can merge the voices together by replacing sections while in the voice mode (see replace).
The disadvantages of this approach are that the user cannot beat in measures or have Mockingbird guess at the durations. The advantages are that the score will already be voiced properly, and very few notes will be misplaced.
APPENDIX
This appendix gives the nitty-gritty details of actually running Mockingbird. It isn’t guaranteed to be in date. If you have any questions, please contact John Maxwell or Severo Ornstein.
A.1 How to Obtain Mockingbird

Mockingbird and all of its supportive files are kept in a dump file on [Indigo]<Mockingbird>. To obtain this dump file, the user should type
FTP indigo dir/c mockingbird load/c mockingbird.dm to the Alto Executive. This command line form is preferable to using FTP directly since the user will not have to confirm the transfer of each file.

A.2 How to Run Mockingbird

Mockingbird will only run on a Mesa 6 partition of a Dorado. Futhermore, if you desire to use the synthesizer, you must use a Dorado with the appropriate hardware (currently Forrestal, #16). You will find instructions for using the synthesizer in section A.3.

To invoke Mockingbird, all you need to do is type
mockingbird filename1 filename2 ...CR to the Alto Executive. If more than one filename is given, then each one beyond the first will be appended to the end of its predecessor. If no filenames are given, then Mockingbird will start up with a blank piece of sheet music. After Mockingbird has finished loading all of the files (if any) it will display its creation date at the top of the screen. Please note the creation date to see if the system has changed since you last used it. The user can also file in files from the editor. This is discussed in section 3.

If this is the first time that you have used Mockingbird, we suggest that you start by typing
@demo.cm to the Alto Executive. This will load mockingbird and file in a demo score that you can play with as you read this manual.
Hardy pioneers may find a file called "music.bcd" left on a public partition because of development work currently in progress. This is the newest version of Mockingbird, and has all the newest features and the newest bugs. Use at your own risk.

A.3 The Synthesizer

The synthesizer is only necessary if you want to record or play music. Most people will find that Mockingbird is sufficient by itself. If you have never hooked up the synthesizer, you should first get a demonstration from someone knowledgable about the ins and outs. The following explanation is only for those who have already seen it done.

To use the Yamaha synthesizer you must sign up for Dorado #16 (Forrestal) and the floating terminal that resides in the Maxc room. Put a note on Forrestal’s upstairs terminal warning people that the terminal is in use downstairs. Make sure that Forrestal is off or in DMT before switching the terminal (switching terminals may sometimes cause a boot). You may obtain a key for the Dorado room from the guard at the desk.
Be sure that you are switching terminals for the correct Dorado! The old terminal lead should have a small "16" printed on it. Return the key to the guard’s desk.

To turn on the synthesizer, push the "
POWER" button. The red light next to it should come on. Make sure that there is a cable connecting the "I+II" socket on the right side of the synthesizer with the "MICROPHONE" socket on the left side of the amplifier. (If there isn’t an amplifier, check with one of the people in the Voice project, it is actually their amplifier). Turn the power on for the amplifier, and move the "MIX" slider up to "10". You can test the system without the Dorado by flipping a small toggle on the right side of the synthesizer up and playing a few notes. Be sure to check the volume controls on both the synthesizer and the amplifier. Flip the toggle back down.
To use the synthesizer, you must load the microcode. Do this by typing loadmb music.mbCR to the Alto Executive. The special microcode must be reloaded every time the Dorado is triple-booted. Mockingbird will notify you if you have failed to load the microcode.
When you are finished with your editing session, be sure to turn off the synthesizer and the amplifier and to reconnect the upstairs terminal. You should also remove your sign.

A.4 Printing

At the top of the screen is a command that allows the user to print the score. The precise meaning of this command depends on which mouse button is used and which scale-mode the score is in. If the score is in the hardcopy mode (
look hardcopy) and either RED or YELLOW is clicked, then Mockingbird will print the entire score using the standard font. The resulting press file will be paginated and will be ready to print on any full-Press printer which has mockingbird.ac in its font dictionary. (Currently, Stinger in ISL is the only printer that meets these restrictions). If the score is in any other mode, or BLUE is clicked, then only the current page will be printed and it will be printed entirely with splines. The resulting press file will be very large, but it can be printed on any printer that supports splines (Platemaker or the Versatec, for instance). To print the press file on Stinger, quit from Mockingbird and type Empress music.press [n/c] stinger/hCR to the Alto Executive (n is the number of copies (optional)). Printing on Platemaker or the Versatec requires the aid of a wizard.

A.5 Emergency Recovery

If the user finds himself in the debugger he can sometimes recover his file by invoking a procedure designed for that purpose. This procedure will not file out an inconsistent file, so it can never hurt to try it. To invoke the procedure, type:

>
set root configuation: MusicConfig (capitals are important!)
>
set module context: FilerImpl
> (space) FO[]<CR> (FO is for FileOut)
The procedure will return a boolean that tells whether or not its attempt was successful. If it was, the music will be found in the file named "temp.music".