]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/gnu-music.pod
release: 0.0.74pre
[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 Music publishers make lots of money out of selling sheet music which
52 is in the public domain (the composers died a long time ago). It is
53 usually prohibited to xerox the sheet music.  Publishers have two
54 arguments to justify this policy: the high prices are there to guarantee
55 diversity (keeping lots of stock is expensive), and to encourage new
56 work being composed.
57
58 LilyPond addresses the first issue: storing mudelas takes up almost no
59 space at all.  Other systems should address the other issue:
60 encouraging laymen to take up composing, in the same way that GNU
61 tools have created a whole new generation of programmers.
62
63 The public deserves to get public domain music for free (zero cents). 
64
65 The public deserves free tools for composing and printing.
66
67 In general, the same arguments as for software hold for music. See
68 Stallmans articles on free software.
69
70
71 =head1 REQUIREMENTS
72
73 Emacs and TeX serve as useful examples of what programs by the GMP
74 should be.
75
76 =over 4
77
78 =item * high-quality 
79
80 (cf TeX), from engraving point of view
81
82 =item * high-quality
83
84 (cf Emacs) from software point of view: like all GNU software, it
85 should have no limits, be fast, etc.
86
87 =item * tweakable
88
89 Printed music has a lot of styles, and special symbols. It may be
90 unfeasible to provide and maintain  lots of code that is hardwired
91 into the system. The tools should be extensible/programmable like
92 Emacs and TeX
93
94 =item * easy to use. 
95
96 That is, for technical users (that can read a manual). The learning
97 curve should be as easy as possible but not at the expense of comfort
98 of use and power.
99
100 =back
101
102 =head1 TASKS (LONGTERM)
103
104 =over 4
105
106 =item A set of music fonts
107
108 Preferably in Metafont, suited to both screen display and use on
109 paper;  This is because the copyright heritage of {Opus,Musix}tex is unclear.
110
111 =item A typesetting engine. 
112
113 A system with rules on how to set properties of items to be printed
114 (up/down directions, breaking, etc) LilyPond provides one, but it is
115 not yet suited to interactive typesetting
116
117 =item A display engine
118
119 which can display clear notewriting in (say) an X-window
120
121 Gsharp is there, but far from finished. Ideally the system should
122 cooperate with the typesetting engine
123
124 =item An ASCII language
125
126 In development, LilyPond has a language. (See over there for goals)
127 Having an ASCII format which enables urtext, and easy sharing (via
128 mail and news forums) encourages cooperation and exchange of music.
129
130 =item A printing engine
131
132 Maybe to be merged with the display system.
133
134 =item An input system
135
136 The natural way to enter composed music is singing or playing it. The
137 GMP should have module which can take keyboard input or microphone
138 input and convert it to computer data. (microphone input would be
139 difficult)
140
141 =item sequencing
142
143 (have no clue about this)
144
145 =item A scanning system
146
147 Having a system which can produce mudela from printed scores,  greatly
148 simplifies creating a collection of music
149
150 =item A music-understanding system
151
152 (difficult) A system to generate accompaniments, figured bass,
153 automatic accompaniment, etc.
154
155 =item an internet archive of free music
156
157 The complete works by Bach, Beethoven, and any other ancient composer
158 should be electronically retrievable. This might be a separate
159 project: the Free Music Project.
160
161 =back
162
163 =head1 PROGRAMS
164
165 =over 4
166
167 =item *
168
169 A noninteractive typesetter, suited for batch jobs, and typesetting
170 existing music. This would couple the ASCII language, the printing
171 engine and the typesetting engine
172
173 LilyPond is currently representing this section.
174
175 =item *
176
177 A GUI for composing. This would combine the display engine, the input
178 system and the typesetting engine.
179
180 =item *
181
182 Libraries for reading and writing various audio/music/notation
183 formats.
184
185 =back
186
187 The typesetting system has a complexity comparable to TeX's, the GUI
188 would be comparable to LyX (?)  with additional complexity in
189 recognizing input.
190
191 =head1 TASKS (SHORT TERM)
192
193 =over 4
194
195 =item * 
196
197 Gather a  moderate number of test users and hackers
198
199 =item *
200
201 A website on GMP
202
203 =item *
204
205 Libs for r/w MIDI 
206
207 =item *
208
209 Think about interfaces for components.
210
211 =item * 
212
213 Find sponsors. This project will take a long time, and in its infant
214 stages, having a hard and small core which does a lot of work, is more
215 efficient than lots of people doing small subprojects. Finanicial
216 support would be desirable.
217
218 =back
219