=head1 NAME GNU Music project - manifesto =head1 DESCRIPTION Random ranting about the GNU Music project. =head2 History of the GNU Music Project 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 , David Linn , Francois Pinard , Neil Jerram and in January '93 Robert Strandh 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. =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. =head1 GOAL Provide musicians with free software for =over 4 =item * composing =item * engraving =item * playing =item * sequencing =item * interchanging music =back and possibly for =over 4 =item * arranging =item * performing =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 TASKS (LONGTERM) =over 4 =item A set of music fonts Preferably in Metafont, suited to both screen display and use on paper; This is needed because 1. the copyright heritage of {Opus,Musix}tex is unclear. 2. We don't have any legal papers which make these fonts free (to use and alter) =item A typesetting engine A system with rules on how to set properties of items to be printed (up/down directions, breaking, dimensoins, etc) LilyPond provides one, but it is not (yet) suited to interactive typesetting =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. (See over there for goals) 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 Maybe to be merged with the display system. =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. =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 The typesetting system has a complexity comparable to TeX's, the GUI would be comparable to LyX (?) with additional complexity in recognizing input. =head1 TASKS (SHORT TERM) =over 4 =item * Gather a moderate number of test users and hackers =item * A website on GMP =item * Libs for r/w MIDI =item * Think about interfaces for components. =item * 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. =back