SCORE (software)

SCORE is a scorewriter program, written in FORTRAN for MS-DOS by Stanford University Professor Leland Smith (1925–2013) with a reputation for producing very high-quality results. It was widely used in engraving during the 1980s and 1990s and continues to have a small, dedicated following of engravers, many of whom hold the program in high regard due to its ability to position symbols precisely on the page. Several publications set using SCORE have earned Paul Revere and German Musikpresse engraving awards.

Mainframe origins
The first incarnation of SCORE was written by Leland Smith in 1967 as a means of entering music into the MUSIC V sound generating system running on the PDP-10 mainframe computers at the Stanford Artificial Intelligence Laboratory (SAIL).

The core concept of SCORE was to break music into a set of items ('objects' in modern terminology) with parameters that describe their characteristics. In this example of an early SCORE routine the beginnings of the parameter system (P2, P3 etc.) can be seen: BUZZ; P2 RHY/4/2/8//REP 3,2//; DF 1000.2; P3 NOTES/P C4/B/C/O B3/C/FINE; P4 LIT/P3%2/!-52; P5 .2 10,100 .4 200,210 .2 1,1; P6 -9999.5; P7 1000; P8 FU/1/2//; END;

As vector graphics terminals became available in the early 1970s, the parametric approach to describing musical information that had been designed for MUSIC V was adapted by Smith into a program he called MSS (the standard abbreviation for manuscripts) for printing musical scores. The graphics plotters used for output were not able to plot curves so MSS did not use music fonts as they are understood today, instead using user-editable symbol libraries based on polygons, and text was generated from an internal character set.

The first printing of a complete musical work set entirely by computer was of Smith's Six Bagatelles for Piano which appeared in December 1971, printed at 100dpi on a CalComp plotter and reduced by a factor of five for printing at 8.5"x11". Smith's Woodwind Trio was published using this system in 1973 and Richard Swift, reviewing it for Notes, drew attention to the 'admirable clarity and ease of reading for performer and score reader, easily equivalent to the finest examples of contemporary music printing by other means. This new process claims the serious attention of commercial music publishers for its fine qualities, not the least of which is ease and cheapness of production.'

The first book about music typeset entirely by computer to be published was his Handbook of Harmonic Analysis in 1979, created on the PDP-10 computer at SAIL using the PUB typesetting program (for more information see External links) in conjunction with MSS. The printing was done at double size on a Varian Data Machines Statos electrostatic plotter and then optically reduced by a factor of two for lithographic printing.

From its creation until 1985, all development of MSS was either done on the PDP-10 computers at Stanford or during residencies at IRCAM in the Pompidou Centre, Paris.

Commercial development
Between 1985 and 1986 MSS was ported to the Tandy 2000 running MS-DOS under its earlier name of SCORE. Since personal computers of the time had limited memory (usually around 640KB), SCORE was limited to 32 staves and 1420 items per file. In order to handle complex or lengthy works, users had to work on small portions of the score at any one time, naming their files sequentially. These were then laid out and tiled together before being sent to the printer. In order to save memory further on graphics operations, notation was displayed in 'stick figure' characters and symbols (see first screenshot in Editing music graphically/numerically), which showed exactly the boundaries of the notation but lacked fine detail. There was an option to display the true symbols provided there was enough memory remaining to accommodate them (see Pass 2 screenshot in Entering music symbolically).



SCORE version 1 was released in 1987 by Passport Designs and updated to version 2 in August 1988. The German music publisher Schott Music began using SCORE in 1988 and their in-house engraving typefaces became the basis for SCORE's symbol library. Version 2 also introduced the use of PostScript Type 1 fonts for page text.

In 1988, Passport Designs sent their programmer Perry Devine to work with Smith to make the program more user-friendly. They also hired professional engraver William Holab (music editor at G. Schirmer, Inc. ) to rewrite the manuals, resulting in the release of version 3.0 in 1990.

The SCORE music publishing system is made up of the main program, SCORE, and these associated utilities:


 * JUST, which aligns and justifies large scores with more than 32 staves per system
 * PAGE, which handles part extraction, and layout for multiple pages of music simultaneously
 * SPRINT, which sends typeset pages to PostScript printers or creates an EPS file
 * DRAW, which draws symbols for inclusion in the main (CODE 9) or user-defined (CODE 11) libraries

ESCORT and SCOREINPUT were sold separately and allowed MIDI input from a MIDI file and a MIDI keyboard, respectively. SCOREINPUT was created by Dr. Paul Nahay, Smith's former colleague on the music theory and composition faculty in the Department of Music at Stanford University.

Ties with Passport Designs were severed in 1991, and all subsequent versions were distributed and sold by Smith's company, San Andreas Press.

Version 3.10 was released in 1993 and replaced SPRINT with SCORLAS and SCORDOT, which sent output to laser and dot matrix printers.

Version 3.11 was released in May 1994, and replaced ESCORT and SCOREINPUT with MIDISCOR and MIDISCORWRITE. MIDISCOR and MIDISCORWRITE were written by Stephen Gibson of Ararat Software. SCORE 3.11 was the final increment of version 3 and is still used commercially today as it is considered by some to be the most mature and stable version that was released.

The FinalScore utility was released in 1996, which converted PostScript output from the Finale programme into a standard SCORE file, however this became obsolete when Finale 2004 changed the way in which EPS files were created.



Version 4.0 (known as SCOR4) was released in May 1998, and included automatic lute and guitar tablature systems, MIDI playback, group editing of items, a conditional editor, various user interface improvements relating to file access, and further mouse support. Many changes were introduced to make the program more accessible to new users, often making the program more cumbersome for existing professional users in the process - which is one of the reasons version 3 is still so highly regarded.

The last minor update, version 4.01, was released on October 16, 2001, although a special version called SCORLAP was released in May 2002 which addressed graphics redraw problems arising with some laptops.



WinScore, the Microsoft Windows version, was released to beta in March 2009 as version 5.00. Improvements included increasing the possible number of staves on pages, removing the limits on items and vectors per page, a WYSIWYG interface, use of colour, native MIDI input and playback, extending the number of parameters per item to 36, and integrating all previous SCORE utilities (PAGE, JUST, DRAW, SCORLAS) into the main program. WinScore suffered from memory leaks and other bugs which prevented its adoption by many users, and despite officially being released on December 8, 2012, it was still effectively in beta development at the time of its last update to 5.01 on November 1, 2013, six weeks before Smith's death.

The basis of SCORE was written in FORTRAN with all the mouse and graphics routines written in Intel assembly language. WinScore was created using a combination of Visual C++ and 32-bit DEC FORTRAN.

After Smith's death
Following Smith's death on December 17, 2013, both SCORE and WinScore are no longer sold and the website registrations have lapsed. At the beginning of 2021 Adobe Inc. announced that support for Type 1 PostScript fonts would end in January 2023.

Pricing


On release in 1987, SCORE version 1 cost US$795, version 2 in 1988 was US$995, version 3 in 1991 was US$795, version 4 in 1999 was US$825, and WinScore, in 2013, was US$300.

In 1990 it cost US$295 to update from an earlier version to version 3.

In 1999 it cost US$125 to update from 3.11 to 4.0.

In 2013 to update to WinScore from version 3 cost US$200, and from version 4, US$100.

Product reviews


Version 1 was announced in the press at the beginning of 1987 with an expected release date of April that year, and a predicted price tag of $500. Its release was noted in the Computer Music Journal issue of winter 1987.

Version 1.1 was reviewed by Computer Music Journal in autumn 1988. DRAW was not yet available, but had been promised. A later reviewer was told by technical support that making the DRAW programme available to users was an afterthought. On-screen help was described as 'awkward and unenlightening', but the software 'rewards determined effort to climb the learning curve with powerful abilities'. 'For routine music printing, it is probably more expensive, more complicated, and less accommodating than some of its competitors, but Score is more powerful than any of them.'

Writing for Electronic Musician, Carter Scholz found the interface of version 2.0 'opaque and maddening' though concluded SCORE was an 'amazing' 'power tool' which 'sets a new standard' for professionals for whom ease of use would be less important than the results which could be obtained. A math coprocessor was considered essential to prevent the program response being sluggish when handling the floating-point arithmetic for screen operations.

Keyboard's Jim Aikin agreed that a considerable investment of time was required to learn the package. Scholz had three months and admitted he had only 'scratched the surface' of its capabilities. Aikin came to similar conclusions, suggesting improvements to the interface and input methods would make it more accessible.

PC Magazine, reviewing SCORE at the end of 1988, concluded that the software was aimed at accomplished musicians who were prepared to put in the time to learn it, and that the design of the program and manual were thorough and clear. Three years later the same magazine described the program as having 'ushered in the era of true desktop music publishing' allowing musicians to turn out 'engraver-quality printed music of any complexity', but still admitting that it had a 'ruthlessly difficult interface', a 'confusing amalgam of command line and function keys' which 'never fully made the transition from the mainframe computers' where it originated. Editing music once entered was 'cumbersome and daunting' and the poor documentation made the program even more inaccessible.

Reviewing version 2.10 in March 1990 for Notes, Garrett Bowles noted that SCORE surpassed any of the other contemporary notation programmes (The Copyist III, DynaDuet, MusicPrinter Plus, The Note Processor, Personal Composer System, and Theme, the Music Editor) on notational complexity, text handling, part extraction, page layout, and spacing of items on the staff. On-screen help was now 'excellent', as were the extensive manuals (although some discussions of operations were considered 'too detailed').

Karl Signell, writing in spring 1991, observed that version 3 had the most 'ungraceful, counter-intuitive interface', but noted that it was faster than other programmes (including Finale, Music Writer, NoteWriter and Professional Composer) as well as producing one of the most professional looking scores.

Entering music symbolically
Music is usually entered using text codes from a standard ASCII keyboard (though a MIDI keyboard can be used purely for note pitch entry), and several passes are required to enter all the information. After the page has been set up with appropriate staves, information is entered voice by voice as follows:


 * Pass 1 defines note names (including accidentals and staff position, but not duration), rests (not duration), clefs, measure lines, key signatures, time signatures
 * Pass 2 defines rhythmic values (durations) for notes and rests
 * Pass 3 defines marks: articulations, accents, dynamics etc.
 * Pass 4 defines the position of rhythmic beams
 * Pass 5 defines the end points of slurs and ties

For example, to create these two bars of Bach's Fugue in C minor, BWV 847 from Book I of the Well-Tempered Clavier:



To create the staff:

The five passes of data entry:

These show the use of the following text codes - note that '/' is a delimiter and ';' marks the end of each pass:

Pass 1

Pass 2

After pass 2, numbers are displayed above each note to assist with assigning marks, beams and slurs. The image below also illustrates the results of the 'Show' command to display the true vectors of all items, rather than the 'stick figure' symbols that are usually used.



Pass 3

Pass 4

Pass 5

Editing music graphically/numerically
Once the music has been entered using the five-stage input process described above, the musical data is converted by SCORE into the following graphical items and stored as a series of numeric parameters:

Examples of the parameters associated with these items:

Here then is the numerical representation of the BWV 847 fugue theme example. Each line represents one graphical item as a CODE number (item type) and associated numeric parameters. The second number is the staff on which the item belongs, and the third is the horizontal position of the item along the full width of the paper, with 0 representing the left margin, and 200 representing the right margin. The fourth number often contains the vertical position on the staff - the bottom line of the staff is vertical position 3, the bottom space of the staff is 4, and so on.

8 1 0 0 0 200 3 1 1.5 17 1 9.416 0 -3 18 1 19.016 0 4 4 2 1 26.516 0 1 0 0.5 1 1 34.835 8 20 0 0.25 9 1 34.835 -3 54 1 0 0 0 0 0 0 0 0 -5 6 1 34.835 8 7 41.43 22 5 1 34.835 10 10 41.43 1.1093 -1 1 1 41.435 7 23 0 0.25 1 1 47.233 8 10 0 0.5 -1 6 1 47.233 7 5.5 55.55 11 1 1 55.551 5 10 0 0.5 0.5 1 1 64.122 6 20 0 0.5 6 1 64.122 6 7 78.24 21 0 0 11 72.44 78.24 1 1 72.441 8 20 0 0.25 1.33 5 1 72.441 10 10 78.24 1.1092 -1 1 1 78.239 7 20 0 0.25 1 1 84.037 8 20 0 0.5 6 1 84.037 8 9 92.36 21 1 1 92.355 9 20 0 0.5 14 1 100.842 1 1 1 104.174 5 10 0 0.5 3 6 1 104.174 8 8 119.09 11 0 0 11 112.49 119.09 1 1 112.493 8 10 0 0.25 5 1 112.493 6 4 119.09 -1.3092 -1 1 1 119.093 7 13 0 0.25 1 1 1 125.143 8 20 0 0.5 6 1 125.143 8 9 133.46 21 1 1 133.462 9 20 0 0.5 1 1 141.781 4 10 0 0.25 6 1 141.781 4 5 147.58 12 5 1 141.781 2 4 153.38 -1.5185 -1 1 1 147.578 5 10 0 0.25 1 1 153.376 6 10 0 1 1 1 165.476 5 10 0 0.25 6 1 165.476 5 4 171.27 12 5 1 165.476 2 2 171.27 -1.1092 -1 1 1 171.274 4 10 0 0.25 14 1 178.274 1 1 1 181.606 3 10 1 2 0 0 0 14 14 1 200 1 1



Unlike most music typesetting editors, understanding and manipulation of these numerical parameters are expected of SCORE users. To access the numeric parameters of items within SCORE, a user clicks on a graphical element, and a list of the parameters is displayed at the top of the editor - as shown in the first screenshot, where a slur is selected (notice the black vertical arrow above the staff at the beginning of the third bar).

SCORE was creative in packing as much information as possible into each numeric parameter. For example, Parameter 5 of CODE 1 is described as 'stem direction/accidental' but uses each place value to encode a different piece of information. Note that by SCORE default, only the top note of a chord has a stem, all the other notes are stemless. So a down-stemmed sharp would have a P5 of 22. An up-stemmed flat with a left offset of 2.5 would be 11.25. A stemless natural with a right offset of 3 would be 3.93, and if it were bracketed it would be 103.93.



Here are selected examples of items from the numeric parameter data of the fugue example:

The key signature:

The time signature:

The dynamic marking ('mp'):

The rest in the first bar:

The first B natural in the first bar:

The second slur in the first bar:

The first barline:

The last note (half note, or minim):

Editing text
In version 1 PostScript text fonts were not used for printing, only the stick-figure characters used within the programme and an internal version of the Bodoni typeface, and text could only be edited by altering the ASCII codes for each character individually within the CODE16 parameters. Version 2 allowed the use of PostScript Type 1 fonts and provided a more convenient method of editing text, but unfortunately only a subset of the glyphs within the chosen font could be used by SCORE. Different fonts were selected by using an escape sequence at the start of the text. Escape codes _00 to _34 selected the Base 35 fonts of the Adobe PostScript Level 2 font set, and codes _35 to _89 could be assigned by the user. Some characters not available on a standard keyboard were obtained by using another escape sequence, for example:

To set the text "Fête-Dieu à Séville by Isaac Albéniz" in variants of Times Roman would require the sequence

where

It was only possible to use glyphs other than those already escaped within SCORE by manually editing the font files, re-encoding SCORE's font templates (a third-party utility called AFM2PSC was written to facilitate this), or editing the final EPS file.

Conditional editing
With version 4, conditional editing was included in the main program. This allowed users to write conditional statements in a language similar to BASIC. Prior to this it had only been possible by using third party utilities: ScorEdit from Ararat Software, and EDITSCOR from Brodhead Music Typography.

For example,

IF P3>100 THEN P3=P3-20 will move all items on all staves which are beyond position 100 (P3>100), 20 steps to the left (P3-20).

IF (P1=1 AND P2<4) OR (P1=2 AND P2>=6) THEN DEL will delete all notes (P1=1) on staves lower than 4 (P2<4) and all rests (P1=2) on staves greater than or equal to 6 (P2>=6).

IF (P1=1 AND P2>3 AND MOD(P9,10)<>0) OR (P1=1 AND P2=1 AND P3>100) THEN P11=5, P6=6 If notes (P1=1) are on a staff above 3 (P2>3) and have tails (the result of P9 MOD 10 is not 0), or notes (P1=1) are on staff 1 (P2=1) and to the right of position 100 (P3>100), then the notes will be given an accent (P11=5) and an X-shaped notehead (P6=6).

Some functionality was limited in the implementation, such as nested parentheses being unsupported (except for use with MOD), being unable to edit text, being unable to cross-compare and edit different items simultaneously, and being unable to read macros in sequence from a source file. Users wishing to employ these methods had to use the third party utilities described earlier.

WinScore allowed macros to be read in sequence from source files, but did not add any more functions.

Output


Music notation data is saved in a proprietary but open format:

"The files are saved in binary format where the first word is the word count for the entire file. The word count is normally a 16-bit integer; however, if the word count exceeds about 31000, then a 32-bit integer is used. Saved files with less than 31000 words can be read back into the earlier versions of SCORE, except, of course, any new features of WinScore will be ignored. Files with greater than 31000 words cannot be read by the earlier versions of SCORE. The files are concluded with a 6-word trailer. The last word is -9999. The next word back is the count of the preceding trailer words (currently 5). The next word back is the measurement code (0 = inches, 1 = metric). The next back is the program version number. The next is the program serial number (a converted integer). The first word of the trailer is currently undefined. After the initial integer word count, the rest of the file consists entirely of 4-byte (32-bit) floating-point words. Each item is defined by a parameter count followed by its given parameters."

Files are usually given the extensions ".mus" or ".pag", though any extension is permitted. (Finale also uses the extension ".mus" though the file format is different).

SCORE creates PostScript graphics that can either be sent to a PostScript printer or saved as an Encapsulated PostScript file. For creating publications the EPS graphics can be imported into a desktop publishing program.

Extensions and utilities
There are a number of third party utilities which take advantage of the open file format to extend the programs' functionalities and share data with other notation programs. These are among the most notable:

Use with modern systems
The MS-DOS versions of SCORE can still be run on modern operating systems through the use of virtual machines, though accommodations need to be made for their age. The most common MS-DOS emulators for SCORE are DOSBox in Windows, or Boxer in macOS.