]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/gnu-music.pod
97656daf6e7a28201a1afee3494eabb943d363e4
[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 =item * 
44
45 Metacomposing
46
47 =back
48
49 These systems should encourage laymen to take up composing, in the
50 same way that GNU tools have created a whole new generation of
51 programmers.
52
53 The public deserves free tools for composing and printing.
54
55
56 =head1 REQUIREMENTS
57
58 Emacs and TeX serve as useful examples of what programs by the GMP
59 should be.
60
61 =over 4
62
63 =item high-quality
64
65 (cf TeX), from engraving point of view
66
67 =item high-quality
68
69 (cf Emacs) from software point of view: like all GNU software, it
70 should have no limits, be fast, etc.
71
72 =item tweakable
73
74 Printed music has a lot of styles, and special symbols. It may be
75 unfeasible to provide and maintain  lots of code that is hardwired
76 into the system. The tools should be extensible/programmable like
77 Emacs and TeX
78
79 =item easy to use.
80
81 That is, for technical users (that can read a manual). The learning
82 curve should be as flat as possible but not at the expense of comfort
83 of use and power.
84
85 =back
86
87 =head1 COMPONENTS
88
89 =over 4
90
91 =item A set of music fonts
92
93 In development, the Feta font.  
94
95 =item A typesetting engine
96
97 In development, included in LilyPond.
98 A system with rules on how to set properties of items to be printed
99 (up/down directions, breaking, dimensions, etc)
100 It should be suited to interactive typesetting (so, incremental
101 algorithms are needed)
102
103 =item A display engine
104
105 which can display clear notewriting in (say) an X-window
106
107 Ideally the system should cooperate with the typesetting engine
108
109 =item An ASCII language
110
111 In development, LilyPond has a language. 
112 Having an ASCII format which enables urtext, and easy sharing (via
113 mail and news forums) encourages cooperation and exchange of music.
114
115 =item A printing engine
116
117 In development, included in LilyPond.
118
119 =item An input system
120
121 The natural way to enter composed music is singing or playing it. The
122 GMP should have module which can take keyboard input or microphone
123 input and convert it to computer data. (microphone input would be
124 difficult)
125
126 =item sequencing
127
128 (have no clue about this)
129
130 =item A scanning system
131
132 Having a system which can produce mudela from printed scores,  greatly
133 simplifies creating a collection of music
134
135 =item A music-understanding system
136
137 (difficult) A system to generate accompaniments, figured bass,
138 automatic accompaniment, etc.
139
140 =item A performing system
141
142 A system which can play credible performances of abstract music
143 representations.  LilyPond has a bare bones system, but it cannot
144 (yet) be described as "credible". 
145
146 =back
147
148 =head1 PROGRAMS
149
150 =over 4
151
152 =item *
153
154 A noninteractive typesetter, suited for batch jobs, and typesetting
155 existing music. This would couple the ASCII language, the printing
156 engine and the typesetting engine
157
158 LilyPond is currently representing this section.
159
160 =item *
161
162 A GUI for composing. This would combine the display engine, the input
163 system and the typesetting engine.
164
165 =item *
166
167 Libraries for reading and writing various audio/music/notation
168 formats.
169
170 =back
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