1 \input texinfo @c -*-texinfo-*-
2 @setfilename gnu-music.info
3 @settitle GNU Music project - manifesto
5 @node Top, , Programs, (dir)
8 * GNU Music project - manifesto:: GNU Music project - manifesto
13 @node GNU Music project - manifesto, Goal, , Top
16 * Requirements:: Requirements
17 * Components:: Components
20 @chapter GNU Music project - manifesto
23 @node Goal, Requirements, GNU Music project - manifesto, GNU Music project - manifesto
27 The public deserves free tools for composing and printing.
29 @node Requirements, Components, Goal, GNU Music project - manifesto
32 Emacs and TeX serve as useful examples of what programs by the GMP
37 The software should be of high-quality from the application view.
38 For example, the notation should be high-quality from an engraving
39 point of view, like TeX
41 @item high-quality The software should be of high-quality point of
42 view, like all GNU software, it should have no limits, be fast,
46 Printed music has a lot of styles, and special symbols. It may be
47 unfeasible to provide and maintain lots of code that is hardwired
48 into the system. The tools should be extensible/programmable like
52 That is, for technical users (that can read a manual). The learning
53 curve should be as flat as possible but not at the expense of comfort
57 @node Components, Programs, Requirements, GNU Music project - manifesto
61 @item A set of music fonts
62 In development, the Feta font.
63 @item A typesetting engine
64 In development, included in LilyPond.
65 A system with rules on how to set properties of items to be printed
66 (up/down directions, breaking, dimensions, etc)
67 It should be suited to interactive typesetting (so, incremental
68 algorithms are needed)
69 @item A display engine
70 which can display clear notewriting in (say) an X-window
71 Ideally the system should cooperate with the typesetting engine
72 @item An ASCII language
73 In development, LilyPond has a language.
74 Having an ASCII format which enables urtext, and easy sharing (via
75 mail and news forums) encourages cooperation and exchange of music.
76 @item A printing engine
77 In development, included in LilyPond.
79 The natural way to enter composed music is singing or playing it. The
80 GMP should have module which can take keyboard input or microphone
81 input and convert it to computer data. (microphone input would be
84 (have no clue about this)
85 @item A scanning system
86 Having a system which can produce mudela from printed scores, greatly
87 simplifies creating a collection of music
88 @item A music-understanding system
89 (difficult) A system to generate accompaniments, figured bass,
90 automatic accompaniment, etc.
91 @item A performing system
92 A system which can play credible performances of abstract music
93 representations. LilyPond has a bare bones system, but it cannot
94 (yet) be described as "credible".
97 @node Programs, Top, Components, GNU Music project - manifesto
101 @item A noninteractive typesetter, suited for batch jobs, and typesetting
102 existing music. This would couple the ASCII language, the printing
103 engine and the typesetting engine
104 LilyPond is currently representing this section.
105 @item A GUI for composing. This would combine the display engine, the input
106 system and the typesetting engine.
107 @item Libraries for reading and writing various audio/music/notation