]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/gnu-music.pod
release: 0.1.11
[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 PLAN
151
152
153
154 =head1 PROGRAMS
155
156 =over 4
157
158 =item *
159
160 A noninteractive typesetter, suited for batch jobs, and typesetting
161 existing music. This would couple the ASCII language, the printing
162 engine and the typesetting engine
163
164 LilyPond is currently representing this section.
165
166 =item *
167
168 A GUI for composing. This would combine the display engine, the input
169 system and the typesetting engine.
170
171 =item *
172
173 Libraries for reading and writing various audio/music/notation
174 formats.
175
176 =back
177
178 The typesetting system has a complexity comparable to TeX's, the GUI
179 would be comparable to LyX (?)  with additional complexity in
180 recognizing input.
181
182 =head1 TASKS (SHORT TERM)
183
184 =over 4
185
186 =item *
187
188 Gather a  moderate number of test users and hackers
189
190 =item *
191
192 A website on GMP
193
194 =item *
195
196 Libs for r/w MIDI 
197
198 =item *
199
200 Think about interfaces for components.
201
202 =item *
203
204 Find sponsors. This project will take a long time, and in its infant
205 stages, having a hard and small core which does a lot of work, is more
206 efficient than lots of people doing small subprojects. Finanicial
207 support would be desirable.
208
209 =back
210
211
212
213 =head1 HISTORY 
214
215
216 Please note that this all happened when I wasn't around yet.  If you
217 think that I am a biased, unfair, predisposed hypocrite, then don't
218 bother flaming me;  I already know that.
219
220 The GNU Music project is a project which aims to create free software
221 for music printing and composing.  It was started in november '92 by a
222 core team of four members (Bryan Ford <baford@cs.utah.edu>, David Linn
223 <drl@vuse.vanderbilt.edu>, Francois Pinard <pinard@iro.umontreal.ca>,
224 Neil Jerram <nj104@cus.cam.ac.uk> and in January '93 Robert Strandh
225 <Robert.Strandh@labri.u-bordeaux.fr> joined.
226
227 After serious disputes with Robert Strandh
228 <Robert.Strandh@labri.u-bordeaux.fr> and the FSF staff in '94, the
229 project core team got divided. The development efforts of GMP stopped.
230
231 Independently, I (HWN) started LilyPond. When I showed it to
232 RMS, he was very enthousiastic about having LilyPond in the GNU
233 project. I subsequently learned about the GNU Music project, and
234 contacted them.  
235
236 What was left of the GMP (Robert Strandh) and us, LilyPond people,
237 agreed that cooperation would be desirable. Although merging of both
238 efforts was and is technically infeasible, we did decide that LilyPond
239 should also be part of the GNU Music project.
240
241 Only later did I discover the previous quarrels about the GMP-"take
242 1". To show that I am aware of the history, and to make sure nobody
243 gets me wrong or is angry at me because I stole a project or a
244 project's name, I wrote this note.
245
246 In summary, LilyPond is now the only substantial embodiment of the GNU Music
247 Project, and it is part of the GNU project. 
248
249 For completeness' sake, I will mention the other efforts  here:
250
251 =over 4
252
253 =item G Sharp, http://dept-info.labri.u-bordeaux.fr/~strandh/Gsharp
254
255 An alpha version notation editor for X in Scheme. Source available on
256 request.
257
258 =item GNU music, 
259
260 An alpha version of a music editing system with Musictex
261 output. Pretest versions of GNU Music (v0.3) can still be obtained from
262 Francois Pinard.
263
264 =back
265
266 This history note is probably biased in some way, because I wrote it.
267 The rest of this document is also entirely mine, and is not meant to
268 reflect anyone else's opinion.
269