ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log

Revision 2580 - (show annotations) (download) (as text)
Sat May 24 16:01:58 2014 UTC (9 years, 10 months ago) by schoenebeck
File MIME type: text/html
File size: 24796 byte(s)
- fixed minor typo

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
5 <link rel="stylesheet" type="text/css" href="index.css">
6 <title>The Linux Sampler Project</title>
8 <meta http-equiv="content-type"
9 content="text/html; charset=ISO-8859-1">
11 <script language="javascript" type="text/javascript">
12 <!--
13 var dir = "gfx/";
15 if(document.images) {
17 newsover = new Image();
18 newsover.src = dir + "mnewshover.png";
20 newsout = new Image();
21 newsout.src = dir + "mnews.png";
23 aboutover = new Image();
24 aboutover.src = dir + "mabouthover.png";
26 aboutout = new Image();
27 aboutout.src = dir + "mabout.png";
29 featuresover = new Image();
30 featuresover.src = dir + "mfeatureshover.png";
32 featuresout = new Image();
33 featuresout.src = dir + "mfeatures.png";
35 screenshotsover = new Image();
36 screenshotsover.src = dir + "mscreenshotshover.png";
38 screenshotsout = new Image();
39 screenshotsout.src = dir + "mscreenshots.png";
41 demosover = new Image();
42 demosover.src = dir + "mdemoshover.png";
44 demosout = new Image();
45 demosout.src = dir + "mdemos.png";
47 downloadsover = new Image();
48 downloadsover.src = dir + "mdownloadshover.png";
50 downloadsout = new Image();
51 downloadsout.src = dir + "mdownloads.png";
53 donationsover = new Image();
54 donationsover.src = dir + "mdonationshover.png";
56 donationsout = new Image();
57 donationsout.src = dir + "mdonations.png";
59 supportover = new Image();
60 supportover.src = dir + "msupporthover.png";
61 supportout = new Image();
62 supportout.src = dir + "msupport.png";
64 developersover = new Image();
65 developersover.src = dir + "mdevelopershover.png";
67 developersout = new Image();
68 developersout.src = dir + "mdevelopers.png";
70 instrumentsover = new Image();
71 instrumentsover.src = dir + "minstrumentshover.png";
73 instrumentsout = new Image();
74 instrumentsout.src = dir + "minstruments.png";
76 linksover = new Image();
77 linksover.src = dir + "mlinkshover.png";
79 linksout = new Image();
80 linksout.src = dir + "mlinks.png";
82 documentationover = new Image();
83 documentationover.src = dir + "mdocumentationhover.png";
85 documentationout = new Image();
86 documentationout.src = dir + "mdocumentation.png";
88 creditsover = new Image();
89 creditsover.src = dir + "mcreditshover.png";
91 creditsout = new Image();
92 creditsout.src = dir + "mcredits.png";
94 faqover = new Image();
95 faqover.src = dir + "mfaqhover.png";
97 faqout = new Image();
98 faqout.src = dir + "mfaq.png";
100 bugsover = new Image();
101 bugsover.src = dir + "mbugshover.png";
103 bugsout = new Image();
104 bugsout.src = dir + "mbugs.png";
105 }
106 -->
107 </script>
109 </head>
111 <body>
113 <div id="mainwindow"><div class="lsbackground"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler"></div>
115 <h1><span class="hidden">The LinuxSampler Project</span></h1>
117 <table border=0 cellspacing=0 cellpadding=0><tr><th colspan=2 align=left>
118 <img name="h1about" src="gfx/h1about.png" alt="About"><span class="hidden">about</span></th></tr>
119 <tr><td valign=top>
120 <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>
121 <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>
122 <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>
123 <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>
124 <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>
125 <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>
126 <a id="donations" href="donations.html" onmouseover="javascript:if(document.images)document.donations.src = donationsover.src" onmouseout="javascript:if(document.images)document.donations.src = donationsout.src"><img name="donations" src="gfx/mdonations.png" alt="donations"></a>
127 <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>
128 <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>
129 <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>
130 <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>
131 <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>
132 <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>
133 <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>
134 <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>
136 <div class="boxed">
137 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
138 <input type="hidden" name="cmd" value="_s-xclick">
139 <input type="hidden" name="hosted_button_id" value="6746056">
140 <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
141 <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
142 </form>
143 <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
144 <input type="hidden" name="cmd" value="_s-xclick">
145 <input type="hidden" name="hosted_button_id" value="6746149">
146 <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
147 <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
148 </form>
149 <table><tr>
150 <td><a href="http://en.wikipedia.org/wiki/Bitcoin"><img src="gfx/logos/bitcoin32.png" alt="Bitcoins"></a></td>
151 <td>Or donate Bitcoins at:</td>
152 </tr></table>
153 <pre class="btcaddr">1Q9CK7xUhMNWryqYTZLbUTXbrjpYYtwvng</pre>
154 <hr>
155 <a href="donations.html">Why donate?</a>
156 </div>
157 <p>
158 <div class="">
159 <center>
160 <script type="text/javascript"><!--
161 google_ad_client = "pub-3408196773880325";
162 /* 120x600, created 8/3/09 */
163 google_ad_slot = "2910827959";
164 google_ad_width = 120;
165 google_ad_height = 600;
166 //-->
167 </script>
168 <script type="text/javascript"
169 src="//pagead2.googlesyndication.com/pagead/show_ads.js">
170 </script>
171 </center>
172 </div>
175 </td><td valign=top width="100%">
176 <div id="contents">
178 <h2>The Project</h2>
179 <p class="default">
180 The LinuxSampler project was founded in 2002 with the
181 goal to produce a free, streaming capable open source pure
182 software audio sampler with high stability, efficiency and very
183 low latency, providing professional grade features,
184 comparable to both hardware and commercial Windows/Mac software
185 samplers and to introduce new features not yet available by any
186 other sampler in the world.
187 </p>
189 <h2>The Engine</h2>
190 <p class="default">
191 <u><b>LinuxSampler</b></u> was designed very modular, especially
192 (and in contrast to other samplers) it was decoupled from any user
193 interface. LinuxSampler itself usually runs as own process in the
194 background of the computer and usually does not show up anything on
195 the screen, or at most it can be launched to show status
196 informations and debug messages in a console window:<br>
197 <br>
198 <a href="screenshots/ls_0_5_1_console.png">
199 <img src="screenshots/ls_0_5_1_console_preview.png">
200 </a><br>
201 <br>
202 That means LinuxSampler itself is the "engine" of the sampler, it
203 is the software component which performs all the heavy and time
204 critical computational tasks of handling MIDI events, calculating
205 the audio data and sending the final audio data to your sound
206 card(s). We call LinuxSampler the <i>sampler backend</i>.
207 </p>
209 <h2>The Face(s)</h2>
210 <p class="default">
211 Obviously you need some way to control the sampler. That's where a
212 2nd application comes into game, which we call a
213 <i>sampler frontend</i> application. A frontend is (usually) a
214 graphical application, visible on the screen, providing the user
215 a set of e.g. menus, buttons, sliders, dials, etc. to allow the
216 user to control the sampler in a convenient way. It merely sends
217 the user requests to the sampler engine (LinuxSampler) and in turn
218 shows the engine's status informations on the screen. A frontend
219 does not perform any signal processing tasks, so you can see it as
220 a "face" of the sampler.<br>
221 <br>
222 For luxury we already provide you two different frontends / "faces"
223 for LinuxSampler:
224 </p>
225 <ul>
226 <li>
227 <u><b>QSampler</b></u> is a light-weight frontend written in
228 C++, using straightforward native graphical controls of the
229 underlying operating system. That way the appearance of
230 QSampler on the screen is very fast and it only consumes very
231 little resources. Due to its utilization of the operating
232 system's common GUI controls, it looks slightly different on
233 every operating system (also dependent of the user's selected
234 theme on his OS):<br>
235 <br>
236 <a href="screenshots/qs_0_2_1_win.jpg">
237 <img src="screenshots/qs_0_2_1_win_preview.jpg">
238 </a>&nbsp;
239 <a href="screenshots/qs_0_2_1_ubuntu.png">
240 <img src="screenshots/qs_0_2_1_ubuntu_preview.png">
241 </a><br>
242 <br>
243 Note however, QSampler does not fully support all features of
244 the sampler engine (LinuxSampler) yet. Most notably the
245 engine's instruments database feature is not yet covered by
246 QSampler. But if you don't need that particular feature,
247 you're certainly fine with QSampler as well.<br>
248 <br>
249 </li>
251 <li>
252 <u><b>JSampler</b></u> is a full-fledged frontend for
253 LinuxSampler, written in Java and currently comes in two
254 flavors: <b>JSampler "Classic"</b> offers straightforward GUI
255 controls whereas <b>JSampler "Fantasia"</b> provides a modern
256 skin based user interface:<br>
257 <br>
258 <a href="screenshots/fantasia.png"><img src="screenshots/fantasia-preview.png"></a>
259 <br>
260 JSampler supports all features currently available in the
261 sampler engine (LinuxSampler). Also note that even though
262 JSampler is written in Java and slightly more hungry
263 regarding resources (compared to QSampler), this usually
264 does not have any impact on the audio rendering performance
265 of the sampler, since the engine runs completely independently
266 and with much higher CPU priority than the frontend(s).<br>
267 </li>
268 </ul>
269 <p class="default">
270 It's completely up to you which frontend to use. You could even use
271 both parallel at the same time for the same sampler engine
272 instance, really! ;-) You're concerned that your sampler frontend
273 might waste precious resources of your computer? No problem, just
274 setup the sampler session for your needs and then quit the
275 frontend application. The sampler engine doesn't care! It continues
276 to do its job. You need to change something? Start the frontend
277 again (or another frontend) and you see what you expect to see: the
278 current setup and state of the running sampler engine.
279 </p>
281 <h2>Sampler Formats</h2>
282 <p class="default">
283 Virtual instruments (i.e. pianos, drums, orchestra ensembles) based
284 on sampler software are created and distributed as files, which
285 essentially contain recorded audio samples plus so called
286 <i>articulation informations</i>. The latter are a very important
287 factor to make audio samples assemble a realistic sound of i.e.
288 natural instruments. The are defining when and how exactly
289 the individual audio samples shall be played back and modified by
290 the sampler. So a <i>sampler format</i> is made up of two things:
291 </p>
292 <ol class="default">
293 <li>
294 <b>File format:</b> which defines how audio samples and
295 articulation informations are stored in files exactly.
296 </li>
297 <li><b>Synthesis model:</b> which defines what the sampler sampler
298 can do with audio samples, and how the sampler should interpret
299 the articulation informations stored in files.
300 </i>
301 </ol>
302 <p class="default">
303 It is planned to support all common sampler formats in
304 LinuxSampler. At the moment the sampler supports the following
305 three:
306 </p>
307 <ol class="default">
308 <li>
309 <b>GigaStudio/GigaSampler Format:</b>
310 First format ever supported by LinuxSampler and hence probably
311 the most mature option in LinuxSampler right now. When we
312 started to develop LinuxSampler back in 2002, we chose to
313 concentrate on this commercial sampler format first, because at
314 that point it was (in our opinion) the most popular and "best"
315 sampler format in regards of quality and features, especially
316 for the synthesis of natural instruments like pianos, brass and
317 bowed instruments. Some of the best sounding orchestra
318 libraries were made in this format at that time.<br>
319 <br>
320 In contrast to all those commercial samplers
321 out there who claim to support the GigaStudio/GigaSampler format,
322 we invested many years and a lot of effort to reassemble the original
323 sound of this format as exactly as possible, as it was with the
324 original GigaStudio PC software. Other samplers usually provide
325 only raw sample playback for this format and - if at all - only
326 limited support for its articulations and synthesis model.
327 LinuxSampler however is providing i.e. envelopes and filters
328 with very precise characteristics and accuracy of the original
329 ones used in the original GigaStudio software. We even
330 reassembled the "warty" parts of the format, that is strange
331 aspects of the format. All this just to fulfill one goal:
332 playing back your huge collection of high class .gig instruments with
333 LinuxSampler exactly as they sounded like with GigaStudio!
334 And as of to date there is probably no other sampler out there
335 which does that job better.
336 <br><br>
337 </li>
338 <li>
339 <b>SoundFont Format:</b>
340 Being a very popular sampler format, supported by numerous
341 hardware devices and sampler software products for many years,
342 we also added support for the SoundFont format. However, since
343 this format is fairly old and limited we did not spend as much
344 effort on it than on the other formats. So there is currently
345 not full support for all aspects of this format yet. Be invited
346 to help us on finishing support for this format!
347 <br><br>
348 </li>
349 <li>
350 <b>SFZ Format:</b> Not to be interchanged with the
351 <i>SoundFont</i> format! Even though their names suggest them to
352 be similar, and also being initiated by the same company, the SFZ
353 format does not have much in common with the SoundFont format!
354 The SFZ format is a quite new one, an open format that is also
355 used as basis in many commercial sampler products. It has the
356 potential to become a broad standard format among sampler
357 products. It is extensible for custom features, provides
358 articulation information in human-readable text form and samples
359 are usually stored as separate files along to the articulation
360 files. The latter also allows a variety of audio formats to be
361 used and gives sound designers and their customers various
362 advantages to work with.
363 <br><br>
364 Due to its high potential we recently spent a lot of time in
365 supporting this format in LinuxSampler. A lot of this format is
366 <a href="/sfz/">already supported</a> (v1 and v2) in
367 LinuxSampler, also extensions of commercial samplers, and we
368 continue to evolve support for this format.
369 </li>
370 </ol>
371 <p class="default">
372 Along to these formats, we have been thinking about creating our
373 own, new sampler format from scratch, for providing new sampler
374 features currently not available in any sampler yet. However when
375 we started adding support for SFZ, we realized such features should
376 rather be implemented as extension to the SFZ format.
377 </p>
379 <h2>Instrument Editors</h2>
380 <p class="default">
381 For creating new virtual instruments and for adjusting your
382 existing ones, you may want to use an instrument editor.
383 LinuxSampler was designed decoupled from instrument editors, but
384 provides extensive support for cooperation with instrument editor
385 applications. Especially for the aspect of being able to edit an
386 instrument while playing it in the sampler, and for making all
387 changes audible immediately and without reloading the sounds into
388 sampler.<br>
389 <br>
390 Currently we implemented the following instrument editor
391 application:<br>
392 <br>
393 <u><b>gigedit</b></u> allows you to edit and create instruments
394 for the GigaStudio/Gigasampler format, which can be used with LinuxSampler
395 as well as with Tascam's original Gigastudio software. Following our line of
396 modularity we also made this instrument editor an independent
397 application. Because let's face it: every sampler format is
398 different, so in our opinion it is better to honor the specific
399 features of one format with its own instrument editor application
400 instead of trying to fiddle everything into one single bloated
401 application. So gigedit is our first editor, dedicated to the .gig
402 format:<br>
403 <br>
404 <a href="screenshots/gigedit_0_0_3.png"><img src="screenshots/gigedit_0_0_3_preview.jpg"></a>
405 <br>
406 You can use gigedit as stand-alone application or in conjunction
407 with LinuxSampler. For the latter case gigedit installs a plugin
408 into the sampler engine, so the engine (and with it the frontends)
409 knows that gigedit actually exists and can handle the .gig format.
410 So even though we decoupled the sampler's components into
411 independent applications, they all work seamlessly together.
412 <a href="http://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html#live_editing">
413 Just press the "Edit" button
414 </a> on a channel strip of a frontend and
415 gigedit will automatically popup on the screen and you're
416 immediately ready to edit your selected instrument, making all your
417 modifications audible in realtime. Even when editing huge
418 instruments of 1GB or more, tweak the instrument with gigedit and
419 immediately hear it while playing on the keyboard at the same time.
420 And the good thing: even with new sampler formats we're going to
421 add soon (and with it new editors), you don't have to remember
422 which instrument you loaded uses which format. Simply click on
423 "Edit" in a frontend and the sampler engine will choose the right
424 instrument editor application for the respective instrument for
425 you.
426 </p>
428 <h2>Technical Interfaces</h2>
429 <p class="default">
430 As the components of the sampler are independent applications,
431 there must be a way to let the applications communicate with each
432 other. For this LinuxSampler provides a native C++
433 <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API</a>
434 as well as a network interface using an ASCII based protocol which
435 we call "<a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html" title="LinuxSampler Control Protocol">LSCP</a>"
436 for controlling the sampler engine and managing sampler sessions.
437 Our frontends support that network interface, which also allows to
438 control the sampler engine with the GUI frontend(s) remotely from
439 another computer, probably even running a completely different
440 Operating System. And compared to other remote control solutions,
441 the frontend won't feel sluggish, as the frontend is running on
442 your local machine.<br>
443 <br>
444 You can also configure your computer to automatically start the
445 sampler engine and loading your prefered sampler session without
446 any frontend, simply by using a <i>LSCP session file</i>. How do
447 you get such a "LSCP session file"? Both frontends write LSCP
448 session files for you when you request them to save your current
449 sampler session. And as those LSCP session files are ordinary
450 human readable text files, you can adjust them with any text
451 editor if you want.
452 </p>
454 <h2>Compatibility &amp; Cross Platform</h2>
455 <p class="default">
456 LinuxSampler is available for the most popular operating
457 systems and already supports a variety of audio and MIDI driver
458 systems on each OS. It does not require any special dedicated
459 device drivers from the sound card manufacturers, so you can
460 also use it with cheap consumer cards. Due to its clean design
461 the sampler can be ported to other operating systems and
462 extended for further driver systems with a minimum of effort.
463 So we're prepared for the future!
464 </p>
466 <h2>Sequencer &amp; DAW Plugin Support</h2>
467 <p class="default">
468 The sampler can be run stand alone as well as host plugin in popular
469 sequencer or digital audio workstations like Cubase, Logic, Ardour,
470 QTractor, Reaper and many more. At the moment the sampler supports
471 the host plugin formats VSTi (v2), AudiUnit (AU), DSSI and LV2.<br>
472 <br>
473 You can also load effect plugins into the sampler, for them being
474 used on parts or as master effects. Currently only the LADSPA plugin
475 format is supported for sampler internal effects.
476 </p>
478 <h2>Community</h2>
479 <p class="default">
480 You need a helping hand? You certainly get the answers on your
481 personal questions on our
482 <a href="http://bb.linuxsampler.org/">web forum</a>.<br>
483 <br>
484 All applications are under active development. However we all work
485 on this project for fun in our spare time. There are still so many
486 things to do and our hands are limited. So don't hesitate on
487 participating to the project! You don't necessarily need to be a
488 skilled programmer to help the project. Testing the applications,
489 <a href="http://bugs.linuxsampler.org.">reporting bugs</a>, writing
490 documentation, providing artwork, themes for frontends, etc. helps
491 us and all users a lot! Simply subscribe to our
492 <a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel">
493 developers mailing list
494 </a> and we'll of course take you by the hand in case you want to
495 participate with active source code development. Don't be afraid!
496 You have your own ideas and concepts for making the sampler better?
497 Great, share them with us!<br>
498 <br>
499 <br>
500 </p>
502 </div>
503 </td></tr></table>
505 </div>
507 </body>
508 </html>

  ViewVC Help
Powered by ViewVC