]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/gnu-music.pod
ae733b26673750dfb5d36beee68885dfbd2a4652
[lilypond.git] / Documentation / gnu-music.pod
1 =head1 NAME 
2
3 GNU Music project - manifesto
4
5 =head1 DESCRIPTION
6
7 Random ranting about the GNU Music project.  
8
9 =head1 GOAL
10
11 Provide musicians with free software for
12
13 =over 4
14
15 =item *
16
17 composing
18
19 =item *
20
21 engraving
22
23 =item *
24
25 playing
26
27 =item *
28
29 sequencing
30
31 =item *
32
33 interchanging music
34
35 =back
36
37 and possibly for
38
39 =over 4
40
41 =item *
42
43 arranging
44
45 =item *
46
47 performing
48
49 =back
50
51 These systems should encourage laymen to take up composing, in the
52 same way that GNU tools have created a whole new generation of
53 programmers.
54
55 The public deserves free tools for composing and printing.
56
57
58 =head1 REQUIREMENTS
59
60 Emacs and TeX serve as useful examples of what programs by the GMP
61 should be.
62
63 =over 4
64
65 =item high-quality
66
67 (cf TeX), from engraving point of view
68
69 =item high-quality
70
71 (cf Emacs) from software point of view: like all GNU software, it
72 should have no limits, be fast, etc.
73
74 =item tweakable
75
76 Printed music has a lot of styles, and special symbols. It may be
77 unfeasible to provide and maintain  lots of code that is hardwired
78 into the system. The tools should be extensible/programmable like
79 Emacs and TeX
80
81 =item easy to use.
82
83 That is, for technical users (that can read a manual). The learning
84 curve should be as flat as possible but not at the expense of comfort
85 of use and power.
86
87 =back
88
89 =head1 COMPONENTS
90
91 =over 4
92
93 =item A set of music fonts
94
95 Preferably in Metafont, suited to both screen display and use on
96 paper; This is needed because
97
98 1. the copyright heritage of
99 {Opus,Musix}tex is unclear. 
100
101 2. We don't have any legal papers which make these fonts free (to use
102 and alter)
103
104 =item A typesetting engine
105
106 A system with rules on how to set properties of items to be printed
107 (up/down directions, breaking, dimensoins, etc) LilyPond provides one,
108 but it is not (yet) suited to interactive typesetting
109
110 =item A display engine
111
112 which can display clear notewriting in (say) an X-window
113
114 Ideally the system should cooperate with the typesetting engine
115
116 =item An ASCII language
117
118 In development, LilyPond has a language. (See over there for goals)
119 Having an ASCII format which enables urtext, and easy sharing (via
120 mail and news forums) encourages cooperation and exchange of music.
121
122 =item A printing engine
123
124 Maybe to be merged with the display system.
125
126 =item An input system
127
128 The natural way to enter composed music is singing or playing it. The
129 GMP should have module which can take keyboard input or microphone
130 input and convert it to computer data. (microphone input would be
131 difficult)
132
133 =item sequencing
134
135 (have no clue about this)
136
137 =item A scanning system
138
139 Having a system which can produce mudela from printed scores,  greatly
140 simplifies creating a collection of music
141
142 =item A music-understanding system
143
144 (difficult) A system to generate accompaniments, figured bass,
145 automatic accompaniment, etc.
146
147
148 =back
149
150 =head1 PROGRAMS
151
152 =over 4
153
154 =item *
155
156 A noninteractive typesetter, suited for batch jobs, and typesetting
157 existing music. This would couple the ASCII language, the printing
158 engine and the typesetting engine
159
160 LilyPond is currently representing this section.
161
162 =item *
163
164 A GUI for composing. This would combine the display engine, the input
165 system and the typesetting engine.
166
167 =item *
168
169 Libraries for reading and writing various audio/music/notation
170 formats.
171
172 =back
173
174 The typesetting system has a complexity comparable to TeX's, the GUI
175 would be comparable to LyX (?)  with additional complexity in
176 recognizing input.
177
178 =head1 TASKS (SHORT TERM)
179
180 =over 4
181
182 =item *
183
184 Gather a  moderate number of test users and hackers
185
186 =item *
187
188 A website on GMP
189
190 =item *
191
192 Libs for r/w MIDI 
193
194 =item *
195
196 Think about interfaces for components.
197
198 =item *
199
200 Find sponsors. This project will take a long time, and in its infant
201 stages, having a hard and small core which does a lot of work, is more
202 efficient than lots of people doing small subprojects. Finanicial
203 support would be desirable.
204
205 =back
206
207
208
209 =head1 HISTORY 
210
211
212 Please note that this all happened when I wasn't around yet.  If you
213 think that I am a biased, unfair, predisposed hypocrite, then don't
214 bother flaming me;  I already know that.
215
216 The GNU Music project is a project which aims to create free software
217 for music printing and composing.  It was started in november '92 by a
218 core team of four members (Bryan Ford <baford@cs.utah.edu>, David Linn
219 <drl@vuse.vanderbilt.edu>, Francois Pinard <pinard@iro.umontreal.ca>,
220 Neil Jerram <nj104@cus.cam.ac.uk> and in January '93 Robert Strandh
221 <Robert.Strandh@labri.u-bordeaux.fr> joined.
222
223 After serious disputes with Robert Strandh
224 <Robert.Strandh@labri.u-bordeaux.fr> and the FSF staff in '94, the
225 project core team got divided. The development efforts of GMP stopped.
226
227 Independently, I (HWN) started LilyPond. When I showed it to
228 RMS, he was very enthousiastic about having LilyPond in the GNU
229 project. I subsequently learned about the GNU Music project, and
230 contacted them.  
231
232 What was left of the GMP (Robert Strandh) and us, LilyPond people,
233 agreed that cooperation would be desirable. Although merging of both
234 efforts was and is technically infeasible, we did decide that LilyPond
235 should also be part of the GNU Music project.
236
237 Only later did I discover the previous quarrels about the GMP-"take
238 1". To show that I am aware of the history, and to make sure nobody
239 gets me wrong or is angry at me because I stole a project or a
240 project's name, I wrote this note.
241
242 In summary, LilyPond is now the only substantial embodiment of the GNU Music
243 Project, and it is part of the GNU project. 
244
245 For completeness' sake, I will mention the other efforts  here:
246
247 =over 4
248
249 =item G Sharp, http://dept-info.labri.u-bordeaux.fr/~strandh/Gsharp
250
251 An alpha version notation editor for X in Scheme. Source available on
252 request.
253
254 =item GNU music, 
255
256 An alpha version of a music editing system with Musictex
257 output. Pretest versions of GNU Music (v0.3) can still be obtained from
258 Francois Pinard.
259
260 =back
261
262 This history note is probably biased in some way, because I wrote it.
263 The rest of this document is also entirely mine, and is not meant to
264 reflect anyone else's opinion.
265