=head1 NAME 

GNU Music project - manifesto

=head1 DESCRIPTION

Random ranting about the GNU Music project.  

=head1 GOAL

Provide musicians with free software for

=over 4

=item *

composing

=item *

engraving

=item *

playing

=item *

sequencing

=item *

interchanging music

=item *

arranging

=item *

performing

=item * 

Metacomposing

=back

These systems should encourage laymen to take up composing, in the
same way that GNU tools have created a whole new generation of
programmers.

The public deserves free tools for composing and printing.


=head1 REQUIREMENTS

Emacs and TeX serve as useful examples of what programs by the GMP
should be.

=over 4

=item high-quality

(cf TeX), from engraving point of view

=item high-quality

(cf Emacs) from software point of view: like all GNU software, it
should have no limits, be fast, etc.

=item tweakable

Printed music has a lot of styles, and special symbols. It may be
unfeasible to provide and maintain  lots of code that is hardwired
into the system. The tools should be extensible/programmable like
Emacs and TeX

=item easy to use.

That is, for technical users (that can read a manual). The learning
curve should be as flat as possible but not at the expense of comfort
of use and power.

=back

=head1 COMPONENTS

=over 4

=item A set of music fonts

In development, the Feta font.  

=item A typesetting engine

In development, included in LilyPond.
A system with rules on how to set properties of items to be printed
(up/down directions, breaking, dimensions, etc)
It should be suited to interactive typesetting (so, incremental
algorithms are needed)

=item A display engine

which can display clear notewriting in (say) an X-window

Ideally the system should cooperate with the typesetting engine

=item An ASCII language

In development, LilyPond has a language. 
Having an ASCII format which enables urtext, and easy sharing (via
mail and news forums) encourages cooperation and exchange of music.

=item A printing engine

In development, included in LilyPond.

=item An input system

The natural way to enter composed music is singing or playing it. The
GMP should have module which can take keyboard input or microphone
input and convert it to computer data. (microphone input would be
difficult)

=item sequencing

(have no clue about this)

=item A scanning system

Having a system which can produce mudela from printed scores,  greatly
simplifies creating a collection of music

=item A music-understanding system

(difficult) A system to generate accompaniments, figured bass,
automatic accompaniment, etc.

=item A performing system

A system which can play credible performances of abstract music
representations.  LilyPond has a bare bones system, but it cannot
(yet) be described as "credible". 

=back

=head1 PROGRAMS

=over 4

=item *

A noninteractive typesetter, suited for batch jobs, and typesetting
existing music. This would couple the ASCII language, the printing
engine and the typesetting engine

LilyPond is currently representing this section.

=item *

A GUI for composing. This would combine the display engine, the input
system and the typesetting engine.

=item *

Libraries for reading and writing various audio/music/notation
formats.

=back

Find sponsors. This project will take a long time, and in its infant
stages, having a hard and small core which does a lot of work, is more
efficient than lots of people doing small subprojects. Finanicial
support would be desirable.


=head1 HISTORY 


Please note that this all happened when I wasn't around yet.  If you
think that I am a biased, unfair, predisposed hypocrite, then don't
bother flaming me;  I already know that.

The GNU Music project is a project which aims to create free software
for music printing and composing.  It was started in november '92 by a
core team of four members (Bryan Ford <baford@cs.utah.edu>, David Linn
<drl@vuse.vanderbilt.edu>, Francois Pinard <pinard@iro.umontreal.ca>,
Neil Jerram <nj104@cus.cam.ac.uk>) and in January '93 Robert Strandh
<Robert.Strandh@labri.u-bordeaux.fr> joined.

After serious disputes with Robert Strandh and the FSF staff in '94,
the project core team got divided. The development efforts of GMP
stopped.

Independently, I (HWN) started LilyPond. When I showed it to
RMS, he was very enthousiastic about having LilyPond in the GNU
project. I subsequently learned about the GNU Music project, and
contacted them.  

What was left of the GMP (Robert Strandh) and us, LilyPond people,
agreed that cooperation would be desirable. Although merging of both
efforts was and is technically infeasible, we did decide that LilyPond
should also be part of the GNU Music project.

Only later did I discover the previous quarrels about the GMP-"take
1". To show that I am aware of the history, and to make sure nobody
gets me wrong or is angry at me because I stole a project or a
project's name, I wrote this note.

In summary, LilyPond is now the only substantial embodiment of the GNU
Music Project, and it is part of the GNU project.

For completeness' sake, I will mention the other efforts  here:

=over 4

=item G Sharp, http://dept-info.labri.u-bordeaux.fr/~strandh/Gsharp

An alpha version notation editor for X in Scheme. Source available on
request from Robert Strandh.

=item GNU music, 

An alpha version of a music editing system with Musictex
output. Pretest versions of GNU Music (v0.3) can still be obtained from
Francois Pinard.

=back

This history note is probably biased in some way, because I wrote it.
The rest of this document is also entirely mine, and is not meant to
reflect anyone else's opinion.
