PMS - Qercus 281 - Finnybank
PMS - Qercus 281 - Finnybank
PMS - Qercus 281 - Finnybank
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)