
               GNU Music project - manifesto

           Han-Wen Nienhuys and Jan Nieuwenhuizen

Contents

     1: Goal
2: Requirements
3: Components
4: Programs

1: Goal

Provide musicians with free software for

o    composing

o    engraving

o    playing

o    sequencing

o    interchanging music

o    arranging

o    performing

o    Metacomposing

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

The public deserves free tools for composing and printing.

2: Requirements

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

high-quality
     The software should be of high-quality from the  appli-
     cation view.  For example, the notation should be high-
     quality from an engraving point of view, like

high-quality
     The software should be of high-quality point  of  view,
     like  all  GNU  software,  it should have no limits, be
     fast, etc.

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.

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.

3: Components

A set of music fonts
     In development, the Feta font.

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, incre-
     mental algorithms are needed)

A display engine
     which  can display clear notewriting in (say) an X-win-
     dow Ideally the system should cooperate with the  type-
     setting engine

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.

A printing engine
     In development, included in LilyPond.

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)

sequencing
     (have no clue about this)

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

A music-understanding system
     (difficult)  A  system to generate accompaniments, fig-
     ured bass, automatic accompaniment, etc.

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".

4: Programs

o    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.

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

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

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.
