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