3 GNU Music project - manifesto
7 Random ranting about the GNU Music project
11 Provide the users with free software for:
24 Music publishers make lots of money out of selling sheet music which
25 is in the public domain (the composers died a long time ago). It is
26 usually prohibited to xerox the sheet music. Publishers have two
27 arguments for not allowing this: high prices are there to guarantee
28 diversity (keeping lots of stock is expensive), and to encourage new
31 LilyPond addresses the first issue: storing mudelas takes up almost no
32 space at all. Other systems should address the other issue:
33 encouraging laymen to take up composing, in the same way that GNU
34 tools have created a whole new generation of programmers.
36 The public deserves to get public domain music for free (zero cents).
38 The public deserves free tools for composing and printing.
43 Emacs and TeX serve as useful examples of what programs by the GMP
50 (cf TeX), from engraving point of view
54 (cf Emacs) from software point of view: like all GNU software, it
55 should have no limits, be fast, etc.
59 Printed music has a lot of styles, and special symbols. It may be
60 unfeasible to provide and maintain lots of code that is hardwired
61 into the system. The tools should be extensible/programmable like
66 That is, for technical users (that can read a manual). The learning
67 curve should be as easy as possible but not at the expense of comfort
72 =head1 TASKS (LONGTERM)
76 =item A set of music fonts
78 Preferably in Metafont, suited to both screen display and use on
79 paper; This is because the copyright heritage of {Opus,Musix}tex is unclear.
81 =item A typesetting engine.
83 A system with rules on how to set properties of items to be printed
84 (up/down directions, breaking, etc) LilyPond provides one, but it is
85 not yet suited to interactive typesetting
87 =item A display engine
89 which can display clear notewriting in (say) an X-window
91 Gsharp is there, but far from finished. Ideally the system should
92 cooperate with the typesetting engine
94 =item An ASCII language
96 In development, LilyPond has a language. (See over there for goals)
97 Having an ASCII format which enables urtext, and easy sharing (via
98 mail and news forums) encourages cooperation and exchange of music.
100 =item A printing engine
102 Maybe to be merged with the display system.
104 =item An input system
106 The natural way to enter composed music is singing or playing it. The
107 GMP should have module which can take keyboard input or microphone
108 input and convert it to computer data. (microphone input would be
113 (have no clue about this)
115 =item A scanning system
117 Having a system which can produce mudela from printed scores, greatly
118 simplifies creating a collection of music
120 =item A music-understanding system
122 (difficult) A system to generate accompaniments, figured bass,
123 automatic accompaniment, etc.
125 =item an internet archive of free music
127 The complete works by Bach, Beethoven, and any other ancient composer
128 should be electronically retrievable. This might be a separate
129 project: the Free Music Project.
139 A noninteractive typesetter, suited for batch jobs, and typesetting
140 existing music. This would couple the ASCII language, the printing
141 engine and the typesetting engine
143 LilyPond is currently representing this section.
147 A GUI for composing. This would combine the display engine, the input
148 system and the typesetting engine.
152 Libraries for reading, writing various audio/music/notation formats.
156 The typesetting system has a complexity comparable to TeX's, the GUI
157 would be comparable to LyX (?) with additional complexity in
160 =head1 TASKS (SHORT TERM)
166 Gather a moderate number of test users and hackers
178 Think about interfaces for components.
182 Find sponsors. This project will take a long time, and in its infant
183 stages, having a hard and small core which does a lot of work, is more
184 efficient than lots of people doing small subprojects. Finanicial
185 support would be desirable.