22.12.2012 Views

PMS - Qercus 281 - Finnybank

PMS - Qercus 281 - Finnybank

PMS - Qercus 281 - Finnybank

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Whatever Happened to<br />

Philip’s Music Scribe is a<br />

program for typesetting<br />

music that I originally<br />

implemented in the early days of<br />

Acorn’s 32-bit systems.<br />

Where it all started<br />

At the beginning of the 1980s I had<br />

written some text typesetting software<br />

for the then state-of-the-art daisywheel<br />

printers, and later I adapted it for the<br />

early, very expensive, laser printers.<br />

Then in 1987 along came the Apple<br />

LaserWriter, the first product to use<br />

the PostScript page description<br />

language.<br />

This was revolutionary, because it was<br />

a fully functional progamming<br />

language with graphics capabilities<br />

that also incorporated an impressive<br />

font mechanism. I had been<br />

wondering about the possibility of<br />

typesetting music by computer, but<br />

the lack of a convenient output device<br />

had put me off. In the era before<br />

digital output became common, other<br />

people’s attempts to set music used<br />

pen plotters, which were slow,<br />

expensive, used special paper, and did<br />

not produce particularly nice looking<br />

output.<br />

The arrival of digital typography<br />

provided the opportunity to do very<br />

much better. I realized that most<br />

musical signs could be printed as<br />

characters or combinations of<br />

characters in a PostScript font, and so<br />

the first thing I had to do was to create<br />

such a font, containing notes, clefs,<br />

rests, and so on. I also decided to<br />

make characters for the stave lines on<br />

which music is written, so that the<br />

font mechanisms for controlling their<br />

precise width and positioning could be<br />

used.<br />

Philip’s Music Scribe?<br />

Shortly after that, the first version of<br />

Philip’s Music Scribe was born. It was<br />

written in BCPL and ran on the<br />

University of Cambridge’s IBM<br />

mainframe and also on Acorn’s first<br />

32-bit operating system, Panos, which<br />

ran on a Motorola 32016 processor<br />

connected as a second processor to a<br />

BBC Micro. (Later this combination<br />

was packaged in a single box and<br />

called the ‘Acorn Business Machine’.)<br />

The program read a text input file that<br />

encoded the music, and wrote out<br />

PostScript that could be sent with my<br />

personal font to an Apple LaserWriter.<br />

The result was high-quality music<br />

printed on standard A4 paper.<br />

Screen preview was a problem. I<br />

managed to make the program display<br />

very crude music on a BBC micro<br />

screen—enough to allow you to check<br />

that you had put in the right notes,<br />

but that was about the limit. Real<br />

proof-reading had to be done using<br />

the paper output.<br />

The first ARM systems were also BBC<br />

micro second processors, And then<br />

came the first Archimedes, running an<br />

operating system called Arthur, the<br />

forerunner of RISC OS.<br />

BCPL was available on these systems,<br />

and porting my software gave no<br />

problems. However, at this stage it<br />

was still a command-line program.<br />

The first users<br />

Word of the existence of Philip’s Music<br />

Scribe had got out, and I was<br />

approached by a local music arranger<br />

who wanted to buy a copy, and was<br />

prepared to invest in an Archimedes in<br />

order to run it. By this time, the Apple<br />

Personal LaserWriter, priced under<br />

£2,000 was available. I sold the first<br />

copy in June 1988, with an A5 manual<br />

that was 80 pages long. The feedback<br />

after it had been used for some time<br />

was interesting.<br />

The user arranged a lot of early music<br />

for performance, and had previously<br />

written it all by hand. He hoped that<br />

computer typesetting would save time.<br />

In the event, he said it took about the<br />

A program for typesetting music<br />

by Philip Hazel<br />

<strong>Qercus</strong> & <strong>281</strong> Celebrating 25 years of Acorn, BBC, and RISC OS computing 15


11<br />

14<br />

16<br />

Philip’s Music Scribe<br />

same time to create a musical score,<br />

but the final output looked better, and<br />

was of course much easier to correct.<br />

The big gain came when he wanted<br />

instrumental parts as well as a full<br />

score, because these could be printed<br />

more or less automatically, and be<br />

guaranteed to match the score.<br />

A number of other users bought<br />

copies, having learned of the software<br />

by word of mouth.<br />

Conversion to a Wimp<br />

application<br />

In Arthur, the Wimp was somewhat of<br />

an add-on to the command line, and<br />

initially rather simple. However, it<br />

rapidly developed to become the main<br />

user interface to RISC OS, and along<br />

with it came the outline font system,<br />

and a fully functional C compiler and<br />

library. At last there was the possibility<br />

of displaying music properly on the<br />

screen, so I undertook a complete<br />

rewrite, in C, turning the program into<br />

a proper Wimp application.<br />

In order to do this, I had to create an<br />

Acorn font from the PostScript font,<br />

and for this I had a lot of help from<br />

Richard Hallas, who tidied up many of<br />

the crude outlines and provided<br />

additional characters. The application<br />

could now also output via any printer<br />

driver as well as producing PostScript<br />

directly, making it much more widely<br />

useful. This version became available<br />

in December 1992.<br />

Sound output<br />

The next big development was making<br />

the music playable via the RISC OS<br />

sound system. As my main interest<br />

was in producing high quality printed<br />

music, the playing was always aimed<br />

at ‘proof- hearing’ rather than real<br />

performance, and so was relatively<br />

crude. Later, support for output via<br />

MIDI was added.<br />

Sound output<br />

Other music typesetting<br />

systems<br />

There was a lot of interest in<br />

typesetting music by computer around<br />

this time, and several programs<br />

(running on a variety of hardware and<br />

operating systems) were available. The<br />

Center for Computer Assisted<br />

Research in the Humanities, located in<br />

California, used to publish an annual<br />

review of computing in music, and<br />

they were in the habit of sending out<br />

test pieces for the various software<br />

systems to typeset. I contributed to<br />

several editions, and was pleased to<br />

see that my output was by no means<br />

the worst looking.<br />

For RISC OS, Sibelius was being<br />

developed, and when it was released it<br />

attracted a lot of attention. Philip’s<br />

Music Scribe was eclipsed, but I was<br />

not surprised, because for me this was<br />

a hobby that helped pay for some of<br />

my hardware, nothing more. Sibelius,<br />

on the other hand, was developed as a<br />

commercial product and had<br />

appropriate investment and marketing.<br />

I never used Sibelius, but I did hear of<br />

comparisons from time to time. It<br />

turns out that there are two kinds of<br />

people who typeset music.<br />

Composers, arrangers, and those who<br />

just want to get something written for<br />

a performance prefer a Sibelius-like<br />

system, where the whole typesetting<br />

job is almost entirely automatic, and<br />

input can be done by dragging and<br />

dropping on-screen, so that a lot of it<br />

is intuitive. The other group of users<br />

can best be described as ‘music<br />

engravers’, people who are in the<br />

business of producing pages for<br />

publication. They want the maximum<br />

possible control over exactly what is<br />

placed where on the page, and they<br />

are prepared to spend time learning<br />

how to do it. Such people on the<br />

whole seem to prefer a text input<br />

system, where more control is<br />

possible.<br />

16 Celebrating 25 years of Acorn, BBC, and RISC OS computing <strong>Qercus</strong> & <strong>281</strong><br />

p<br />

Another reincarnation<br />

For several years I did very little<br />

development; bugs got fixed and a few<br />

features were added, but nothing<br />

significant. The last copy of Philip’s<br />

Music Scribe was sold in June 1998,<br />

almost 10 years to the day after the<br />

first. The final (8th) edition of the<br />

manual, at 301 pages long, was nearly<br />

four times as big as the first edition.<br />

The program had changed a lot in the<br />

decade since I first released it.<br />

I continued to supply updates to<br />

existing users till the end of 2001. My<br />

own use of the program was for<br />

typesetting examples for music exams<br />

and re-setting the occasional<br />

porchestral<br />

part that was too hard to<br />

read. From about 1995 my ‘day job’<br />

involved me more and more in the<br />

development of free, open source<br />

software for Unix/Linux systems<br />

p<br />

[1,2] .<br />

At home, my old Risc PC started to<br />

gather quite a bit of dust after I<br />

acquired a Linux box.<br />

pEventually,<br />

in 2003, the time had<br />

come for another upheaval. I dusted<br />

off the source code, ported it to Linux,<br />

and released it under the new name of<br />

Philip’s Music Writer as an open source<br />

package, under the GNU General<br />

Public License [3,4] . In this incarnation,<br />

the program has gone back to its roots;<br />

it reads a text input file, writes<br />

PostScript, and is driven from the<br />

command line.<br />

As it is ‘just a C program’ it should be<br />

possible to run it on any system that<br />

has a C compiler and library, and I<br />

believe people have made it run on<br />

Windows and MacOS. Some kind of<br />

GUI wrapper could be written, but so<br />

far I have not felt the need to do this.<br />

There is no need for an integrated<br />

previewer, because PostScript can be<br />

displayed on the screen using<br />

GhostScript, which can also drive<br />

many different kinds of printer and<br />

also convert a PostScript file to a<br />

PDF.<br />

The MIDI output is now in the form<br />

of a MIDI file, which a number of<br />

applications can play.


le<br />

mem<br />

poco accel.<br />

cresc.<br />

Text markup for music<br />

- - - - - - - - - - - - - - - - ben:<br />

- - - - - - - - - - - - - - - ber:<br />

When I started out, the only possible<br />

way of inputting music was as a text<br />

file—there was no possibility of using<br />

a musical keyboard. However, I soon<br />

realized that text input had a number<br />

of advantages. In all but the simplest<br />

music, the notes are in fact only a<br />

small part of what appears on the<br />

page.<br />

A musical keyboard might be able to<br />

input the notes, but not all the other<br />

marks that are required. Furthermore,<br />

a text file can offer standard text<br />

processing advantages such as global<br />

edits, macros, and included files. For<br />

example, it is common to define a<br />

macro to print dynamic marks such as<br />

f in an appropriate font at the required<br />

size. To make a change throughout a<br />

piece of music, all you have to do is<br />

change the macro definition.<br />

The disadvantage of text input is that<br />

the encoding has to be learned, so it is<br />

hard to get started. To reduce the size<br />

of the learning cliff, I tried to invent a<br />

notation that was both compact and<br />

easy to learn. For example, if the note<br />

G is required, the input is just the<br />

letter ‘g’. A lower case ‘g’ gives a<br />

crotchet and an upper case ‘G’ gives a<br />

minim.<br />

For notes longer than a minim, plus<br />

characters are added to upper case<br />

letters, and for notes shorter than a<br />

crotchet, minus and equals characters<br />

are used to specify the number of<br />

‘tails’. The complete set is shown<br />

below.<br />

G++ G+ G g g- g= g=- g==<br />

1<br />

- - - - - - - - - - - - - - - -<br />

The notes are only a small part of what appears on the page<br />

Notes can be raised and lowered an<br />

octave by following them with quotes<br />

or backquotes, respectively. Dotted<br />

notes are notated by adding dots.<br />

Sharps, flats, and naturals precede<br />

their notes as they do in printed<br />

music. Choosing a character for sharp<br />

was easy, as there is a # character on<br />

the keyboard. In the absence of any<br />

more obvious characters, I used the<br />

two adjacent characters on the Acorn<br />

keyboard, $ and % for a flat and a<br />

natural. Vertical bar is used to mark<br />

the end of each bar. The length of<br />

each bar is automatically checked,<br />

though it is possible to disable this<br />

checking, and there are features such<br />

as invisible bar lines to indicate where<br />

a line break may occur without<br />

actually printing anything.<br />

This is not the place to go further into<br />

the details of the input. Suffice it to<br />

say that it is possible to control almost<br />

every aspect of how the music is laid<br />

out on the page and that any kind of<br />

conventionally notated music can be<br />

handled.<br />

Conclusion<br />

I started out to write a simple program<br />

that I could use to typeset<br />

arrangements of recorder music for<br />

my children to play. Almost 20 years<br />

have passed, and what is now a much<br />

more comprehensive program that I<br />

ever imagined is still going strong.<br />

Typesetting music presents more<br />

challenges than typesetting text,<br />

because of the two-dimensional nature<br />

of the problem. In a musical score, the<br />

contents of one stave can affect the<br />

Philip’s Music Scribe<br />

layout of those above or below it. Just<br />

like text, it is possible to create music<br />

that is hard to read simply because of<br />

the way it has been printed. Exactly<br />

why this is so in any particular case is<br />

not always easy to tell—this is where<br />

experience is needed. Philip’s Music<br />

Scribe/Writer does its best to produce<br />

beautiful pages, but it is only a tool. In<br />

the end, it is up to the user of the tool<br />

to make the final judgement.<br />

References<br />

6 6 6<br />

[1] http://www.exim.org<br />

[2] http://www.pcre.org<br />

[3] http://www.quercite.com<br />

[4] http://www.gnu.org/licenses/gpl.txt<br />

The latest version of Philip’s Music<br />

Scribe has been updated to run on the<br />

latest 32-bit RISC OS computers in<br />

addition to our older machines. It is<br />

available free and download details<br />

will be given on the <strong>Qercus</strong> website.<br />

The program comes complete with<br />

specialist fonts, a detailed manual in<br />

pdf form, and a RISC OS ‘get started’<br />

manual—also in pdf form.<br />

Examples of scripts and output are<br />

shown on the following page; these are<br />

taken from the examples included with<br />

the !<strong>PMS</strong> program.<br />

Should anyone know of other<br />

programs that are no longer sold<br />

and might be of use to today’s<br />

RISC OS users, then <strong>Qercus</strong> will<br />

be happy to help re-present them<br />

to a new audience as free or<br />

commercial software.<br />

<strong>Qercus</strong> & <strong>281</strong> Celebrating 25 years of Acorn, BBC, and RISC OS computing 17<br />

Brünn<br />

Brünn<br />

più f<br />

- hil<br />

- hil<br />

- - - de<br />

- - - de


Philip’s Music Scribe<br />

Piano<br />

4<br />

8<br />

12<br />

Andante<br />

con<br />

Londonderry Air<br />

molto rit.<br />

arr. Richard Hallas<br />

Typesetting by KeyNote 31 Skelton Crescent, Crosland Moor, Huddersfield, West Yorkshire, HD4 5PN<br />

- ses.<br />

- len.<br />

- ty!<br />

- heit!<br />

4<br />

Mahler<br />

Das Lied von der Erde, Der Abschied<br />

4<br />

cresc. - - - - - - -<br />

cresc.<br />

4<br />

- - - - -<br />

nicht eilen<br />

do not hurry<br />

p<br />

O<br />

O<br />

2<br />

life<br />

e<br />

4<br />

2<br />

cresc. - - -<br />

4<br />

4<br />

veloce<br />

33<br />

sf pp 4<br />

appassionato<br />

cresc. molto<br />

f<br />

34<br />

O<br />

O<br />

espr.<br />

4<br />

(f) steady<br />

nicht eilen<br />

beau -<br />

Schön -<br />

fp<br />

of end - less love - ing, ____ _<br />

- wi - gen Lie - bens, ____<br />

5<br />

2<br />

2<br />

p cresc.<br />

Philip’s Music Scribe<br />

2<br />

2<br />

2<br />

2<br />

Print-outs from the example<br />

scores at 1 /3 size in Draw format<br />

Symphony 1<br />

William Boyce (1711–1779)<br />

18 Celebrating 25 years of Acorn, BBC, and RISC OS computing <strong>Qercus</strong> & <strong>281</strong><br />

Violin I<br />

Violin II<br />

Viola<br />

Cello<br />

Bass<br />

3<br />

6<br />

Allegro<br />

4 f<br />

4 f<br />

4 f<br />

4<br />

f<br />

Piano<br />

A<br />

I<br />

= 80<br />

effervescent<br />

(Before each repeat pause briefly.<br />

When playing through do NOT pause.)<br />

3<br />

6<br />

Computer typesetting by Philip Hazel<br />

#4. Herbert Bielawa<br />

Just Add Water<br />

3<br />

3<br />

B<br />

(Go to<br />

beginning)<br />

C<br />

(Go to<br />

beginning)<br />

5<br />

(Go to<br />

beginning)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!