/[svn]/web/trunk/www.linuxsampler.org/about.html
ViewVC logotype

Contents of /web/trunk/www.linuxsampler.org/about.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1856 - (show annotations) (download) (as text)
Fri Mar 6 13:07:07 2009 UTC (11 years, 2 months ago) by schoenebeck
File MIME type: text/html
File size: 17428 byte(s)
* updated all links to bb.linuxsampler.org to not use https by default

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4
5 <link rel="stylesheet" type="text/css" href="index.css">
6 <title>The Linux Sampler Project</title>
7
8 <meta http-equiv="content-type"
9 content="text/html; charset=ISO-8859-1">
10
11 <script language="javascript" type="text/javascript">
12 <!--
13 var dir = "gfx/";
14
15 if(document.images) {
16
17 newsover = new Image();
18 newsover.src = dir + "mnewshover.png";
19
20 newsout = new Image();
21 newsout.src = dir + "mnews.png";
22
23 aboutover = new Image();
24 aboutover.src = dir + "mabouthover.png";
25
26 aboutout = new Image();
27 aboutout.src = dir + "mabout.png";
28
29 featuresover = new Image();
30 featuresover.src = dir + "mfeatureshover.png";
31
32 featuresout = new Image();
33 featuresout.src = dir + "mfeatures.png";
34
35 screenshotsover = new Image();
36 screenshotsover.src = dir + "mscreenshotshover.png";
37
38 screenshotsout = new Image();
39 screenshotsout.src = dir + "mscreenshots.png";
40
41 demosover = new Image();
42 demosover.src = dir + "mdemoshover.png";
43
44 demosout = new Image();
45 demosout.src = dir + "mdemos.png";
46
47 downloadsover = new Image();
48 downloadsover.src = dir + "mdownloadshover.png";
49
50 downloadsout = new Image();
51 downloadsout.src = dir + "mdownloads.png";
52
53 supportover = new Image();
54 supportover.src = dir + "msupporthover.png";
55 supportout = new Image();
56 supportout.src = dir + "msupport.png";
57
58 developersover = new Image();
59 developersover.src = dir + "mdevelopershover.png";
60
61 developersout = new Image();
62 developersout.src = dir + "mdevelopers.png";
63
64 instrumentsover = new Image();
65 instrumentsover.src = dir + "minstrumentshover.png";
66
67 instrumentsout = new Image();
68 instrumentsout.src = dir + "minstruments.png";
69
70 linksover = new Image();
71 linksover.src = dir + "mlinkshover.png";
72
73 linksout = new Image();
74 linksout.src = dir + "mlinks.png";
75
76 documentationover = new Image();
77 documentationover.src = dir + "mdocumentationhover.png";
78
79 documentationout = new Image();
80 documentationout.src = dir + "mdocumentation.png";
81
82 creditsover = new Image();
83 creditsover.src = dir + "mcreditshover.png";
84
85 creditsout = new Image();
86 creditsout.src = dir + "mcredits.png";
87
88 faqover = new Image();
89 faqover.src = dir + "mfaqhover.png";
90
91 faqout = new Image();
92 faqout.src = dir + "mfaq.png";
93
94 bugsover = new Image();
95 bugsover.src = dir + "mbugshover.png";
96
97 bugsout = new Image();
98 bugsout.src = dir + "mbugs.png";
99 }
100 -->
101 </script>
102
103 </head>
104
105 <body>
106
107 <div id="mainwindow"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler">
108
109 <h1><span class="hidden">The LinuxSampler Project</span></h1>
110
111 <table border=0 cellspacing=0 cellpadding=0><tr><th colspan=2 align=left>
112 <img name="h1about" src="gfx/h1about.png" alt="About"><span class="hidden">about</span></th></tr>
113 <tr><td valign=top>
114 <a id="news" href="index.php" onmouseover="javascript:if(document.images)document.news.src = newsover.src" onmouseout="javascript:if(document.images)document.news.src = newsout.src"><img name="news" src="gfx/mnews.png" alt="news"></a>
115 <a id="about" href="about.html" onmouseover="javascript:if(document.images)document.about.src = aboutover.src" onmouseout="javascript:if(document.images)document.about.src = aboutout.src"><img name="about" src="gfx/mabout.png" alt="about"></a>
116 <a id="features" href="features.html" onmouseover="javascript:if(document.images)document.features.src = featuresover.src" onmouseout="javascript:if(document.images)document.features.src = featuresout.src"><img name="features" src="gfx/mfeatures.png" alt="features"></a>
117 <a id="screenshots" href="screenshots.html" onmouseover="javascript:if(document.images)document.screenshots.src = screenshotsover.src" onmouseout="javascript:if(document.images)document.screenshots.src = screenshotsout.src"><img name="screenshots" src="gfx/mscreenshots.png" alt="screenshots"></a>
118 <a id="demos" href="demos.html" onmouseover="javascript:if(document.images)document.demos.src = demosover.src" onmouseout="javascript:if(document.images)document.demos.src = demosout.src"><img name="demos" src="gfx/mdemos.png" alt="demos"></a>
119 <a id="downloads" href="downloads.html" onmouseover="javascript:if(document.images)document.downloads.src = downloadsover.src" onmouseout="javascript:if(document.images)document.downloads.src = downloadsout.src"><img name="downloads" src="gfx/mdownloads.png" alt="download"></a>
120 <a id="support" href="support.html" onmouseover="javascript:if(document.images)document.support.src = supportover.src" onmouseout="javascript:if(document.images)document.support.src = supportout.src"><img name="support" src="gfx/msupport.png" alt="support"></a>
121 <a id="developers" href="developers.html" onmouseover="javascript:if(document.images)document.developers.src = developersover.src" onmouseout="javascript:if(document.images)document.developers.src = developersout.src"><img name="developers" src="gfx/mdevelopers.png" alt="developers"></a>
122 <a id="faq" href="faq.html" onmouseover="javascript:if(document.images)document.faq.src = faqover.src" onmouseout="javascript:if(document.images)document.faq.src = faqout.src"><img name="faq" src="gfx/mfaq.png" alt="faq"></a>
123 <a id="documentation" href="documentation.html" onmouseover="javascript:if(document.images)document.documentation.src = documentationover.src" onmouseout="javascript:if(document.images)document.documentation.src = documentationout.src"><img name="documentation" src="gfx/mdocumentation.png" alt="documentation"></a>
124 <a id="bugs" href="http://bugs.linuxsampler.org" onmouseover="javascript:if(document.images)document.bugs.src = bugsover.src" onmouseout="javascript:if(document.images)document.bugs.src = bugsout.src"><img name="bugs" src="gfx/mbugs.png" alt="bugs"></a>
125 <a id="instruments" href="instruments.html" onmouseover="javascript:if(document.images)document.instruments.src = instrumentsover.src" onmouseout="javascript:if(document.images)document.instruments.src = instrumentsout.src"><img name="instruments" src="gfx/minstruments.png" alt="instruments"></a>
126 <a id="links" href="links.html" onmouseover="javascript:if(document.images)document.links.src = linksover.src" onmouseout="javascript:if(document.images)document.links.src = linksout.src"><img name="links" src="gfx/mlinks.png" alt="links"></a>
127 <a id="credits" href="credits.html" onmouseover="javascript:if(document.images)document.credits.src = creditsover.src" onmouseout="javascript:if(document.images)document.credits.src = creditsout.src"><img name="credits" src="gfx/mcredits.png" alt="credits"></a>
128 </td><td valign=top width="100%">
129 <div id="contents">
130
131 <h2>The Project</h2>
132 <p class="default">
133 The LinuxSampler project was founded with the
134 goal to produce a free, streaming capable open source pure
135 software audio sampler with professional grade features,
136 comparable to both hardware and commercial Windows/Mac software
137 samplers and to introduce new features not yet available by any
138 other sampler in the world.
139 </p>
140
141 <h2>The Engine</h2>
142 <p class="default">
143 <u><b>LinuxSampler</b></u> was designed very modular, especially
144 (and in contrast to other samplers) it was decoupled from any user
145 interface. LinuxSampler itself usually runs as own process in the
146 background of the computer and usually does not show up anything on
147 the screen, or at most it can be launched to show status
148 informations and debug messages in a console window:<br>
149 <br>
150 <a href="screenshots/ls_0_5_1_console.png">
151 <img src="screenshots/ls_0_5_1_console_preview.png">
152 </a><br>
153 <br>
154 That means LinuxSampler itself is the "engine" of the sampler, it
155 is the software component which performs all the heavy and time
156 critical computational tasks of handling MIDI events, calculating
157 the audio data and sending the final audio data to your sound
158 card(s). We call LinuxSampler the <i>sampler backend</i>.
159 </p>
160
161 <h2>The Face(s)</h2>
162 <p class="default">
163 Obviously you need some way to control the sampler. That's where a
164 2nd application comes into game, which we call a
165 <i>sampler frontend</i> application. A frontend is (usually) a
166 graphical application, visible on the screen, providing the user
167 a set of e.g. menus, buttons, sliders, dials, etc. to allow the
168 user to control the sampler in a convenient way. It merely sends
169 the user requests to the sampler engine (LinuxSampler) and in turn
170 shows the engine's status informations on the screen. A frontend
171 does not perform any signal processing tasks, so you can see it as
172 a "face" of the sampler.<br>
173 <br>
174 For luxury we already provide you two different frontends / "faces"
175 for LinuxSampler:
176 </p>
177 <ul>
178 <li>
179 <u><b>QSampler</b></u> is a light-weight frontend written in
180 C++, using straightforward native graphical controls of the
181 underlying operating system. That way the appearance of
182 QSampler on the screen is very fast and it only consumes very
183 little resources. Due to its utilization of the operating
184 system's common GUI controls, it looks slightly different on
185 every operating system (also dependent of the user's selected
186 theme on his OS):<br>
187 <br>
188 <a href="screenshots/qs_0_2_1_win.jpg">
189 <img src="screenshots/qs_0_2_1_win_preview.jpg">
190 </a>&nbsp;
191 <a href="screenshots/qs_0_2_1_ubuntu.png">
192 <img src="screenshots/qs_0_2_1_ubuntu_preview.png">
193 </a><br>
194 <br>
195 Note however, QSampler does not fully support all features of
196 the sampler engine (LinuxSampler) yet. Most notably the
197 engine's instruments database feature is not yet covered by
198 QSampler. But if you don't need that particular feature,
199 you're certainly fine with QSampler as well.<br>
200 <br>
201 </li>
202
203 <li>
204 <u><b>JSampler</b></u> is a full-fledged frontend for
205 LinuxSampler, written in Java and currently comes in two
206 flavors: <b>JSampler "Classic"</b> offers straightforward GUI
207 controls whereas <b>JSampler "Fantasia"</b> provides a modern
208 skin based user interface:<br>
209 <br>
210 <a href="screenshots/fantasia.png"><img src="screenshots/fantasia-preview.png"></a>
211 <br>
212 JSampler supports all features currently available in the
213 sampler engine (LinuxSampler). Also note that even though
214 JSampler is written in Java and slightly more hungry
215 regarding resources (compared to QSampler), this usually
216 does not have any impact on the audio rendering performance
217 of the sampler, since the engine runs completely independently
218 and with much higher CPU priority than the frontend(s).<br>
219 </li>
220 </ul>
221 <p class="default">
222 It's completely up to you which frontend to use. You could even use
223 both parallel at the same time for the same sampler engine
224 instance, really! ;-) You're concerned that your sampler frontend
225 might waste precious resources of your computer? No problem, just
226 setup the sampler session for your needs and then quit the
227 frontend application. The sampler engine doesn't care! It continues
228 to do its job. You need to change something? Start the frontend
229 again (or another frontend) and you see what you expect to see: the
230 current setup and state of the running sampler engine.
231 </p>
232
233 <h2>The Format</h2>
234 <p class="default">
235 It is planned to support all common sampler formats in
236 LinuxSampler, but at the moment we chose to concentrate on the
237 Gigasampler format, because when we started this project, the
238 Gigasampler format was (in our opinion) the most popular
239 and "best" sampler format in regards of quality and power,
240 especially for the synthesis of natural instruments like pianos,
241 brass and bowed instruments. But we already made good advance in
242 implementing this format, so we are optimistic to start with
243 adding other formats soon. Beside that we also planned to
244 design our own, sophisticated sampler format to introduce a more
245 powerful and more flexible sampler format compared to
246 any sampler format currently available in the world. Be encouraged
247 to share your ideas about such a new format with us!
248 </p>
249
250 <h2>The Editor</h2>
251 <p class="default">
252 <u><b>gigedit</b></u> allows you to edit and create instruments
253 for the Gigasampler format, which can be used with LinuxSampler
254 as well as with Tascam's Gigastudio. Following our line of
255 modularity we also made the instrument editors independent
256 applications. Because let's face it: every sampler format is
257 different, so in our opinion it is better to honor the specific
258 features of one format with its own instrument editor application
259 instead of trying to fiddle everything into one single bloated
260 application. So gigedit is our first editor, dedicated to the .gig
261 format:<br>
262 <br>
263 <a href="screenshots/gigedit_0_0_3.png"><img src="screenshots/gigedit_0_0_3_preview.jpg"></a>
264 <br>
265 You can use gigedit as stand-alone application or in conjunction
266 with LinuxSampler. For the latter case gigedit installs a plugin
267 into the sampler engine, so the engine (and with it the frontends)
268 knows that gigedit actually exists and can handle the .gig format.
269 So even though we decoupled the sampler's components into
270 independent applications, they all work seamlessly together.
271 <a href="http://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html#live_editing">
272 Just press the "Edit" button
273 </a> on a channel strip of a frontend and
274 gigedit will automatically popup on the screen and you're
275 immediately ready to edit your selected instrument, making all your
276 modifications audible in realtime. Even when editing huge
277 instruments of 1GB or more, tweak the instrument with gigedit and
278 immediately hear it while playing on the keyboard at the same time.
279 And the good thing: even with new sampler formats we're going to
280 add soon (and with it new editors), you don't have to remember
281 which instrument you loaded uses which format. Simply click on
282 "Edit" in a frontend and the sampler engine will choose the right
283 instrument editor application for the respective instrument for
284 you.
285 </p>
286
287 <h2>The Technical Interface</h2>
288 <p class="default">
289 As the components of the sampler are independent applications,
290 there must be a way to let the applications communicate with each
291 other. For this LinuxSampler provides a native C++
292 <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API</a>
293 as well as a network interface using an ASCII based protocol which
294 we call "<a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html" title="LinuxSampler Control Protocol">LSCP</a>"
295 for controlling the sampler engine and managing sampler sessions.
296 Our frontends support that network interface, which also allows to
297 control the sampler engine with the GUI frontend(s) remotely from
298 another computer, probably even running a completely different
299 Operating System. And compared to other remote control solutions,
300 the frontend won't feel sluggish, as the frontend is running on
301 your local machine.<br>
302 <br>
303 You can also configure your computer to automatically start the
304 sampler engine and loading your prefered sampler session without
305 any frontend, simply by using a <i>LSCP session file</i>. How do
306 you get such a "LSCP session file"? Both frontends write LSCP
307 session files for you when you request them to save your current
308 sampler session. And as those LSCP session files are ordinary
309 human readable text files, you can adjust them with any text
310 editor if you want.
311 </p>
312
313 <h2>The Compatibility</h2>
314 <p class="default">
315 LinuxSampler is available for the most popular operating
316 systems and already supports a variety of audio and MIDI driver
317 systems on each OS. It does not require any special dedicated
318 device drivers from the sound card manufacturers, so you can
319 also use it with cheap consumer cards. Due to its clean design
320 the sampler can be ported to other operating systems and
321 extended for further driver systems with a minimum of effort.
322 So we're prepared for the future!
323 </p>
324
325 <h2>The Community</h2>
326 <p class="default">
327 You need a helping hand? You certainly get the answers on your
328 personal questions on our
329 <a href="http://bb.linuxsampler.org/">web forum</a>.<br>
330 <br>
331 All applications are under active development. However we all work
332 on this project for fun in our spare time. There are still so many
333 things to do and our hands are limited. So don't hesitate on
334 participating to the project! You don't necessarily need to be a
335 skilled programmer to help the project. Testing the applications,
336 <a href="http://bugs.linuxsampler.org.">reporting bugs</a>, writing
337 documentation, providing artwork, themes for frontends, etc. helps
338 us and all users a lot! Simply subscribe to our
339 <a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel">
340 developers mailing list
341 </a> and we'll of course take you by the hand in case you want to
342 participate with active source code development. Don't be afraid!
343 You have your own ideas and concepts for making the sampler better?
344 Great, share them with us!<br>
345 <br>
346 </p>
347
348 </div>
349 </td></tr></table>
350
351 </div>
352
353 </body>
354 </html>

  ViewVC Help
Powered by ViewVC