1 |
senoner |
542 |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
2 |
|
|
<html> |
3 |
|
|
<head> |
4 |
senoner |
702 |
|
5 |
senoner |
542 |
<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 |
senoner |
1938 |
donationsover = new Image(); |
54 |
|
|
donationsover.src = dir + "mdonationshover.png"; |
55 |
|
|
|
56 |
|
|
donationsout = new Image(); |
57 |
|
|
donationsout.src = dir + "mdonations.png"; |
58 |
|
|
|
59 |
schoenebeck |
1675 |
supportover = new Image(); |
60 |
|
|
supportover.src = dir + "msupporthover.png"; |
61 |
|
|
supportout = new Image(); |
62 |
|
|
supportout.src = dir + "msupport.png"; |
63 |
|
|
|
64 |
senoner |
542 |
developersover = new Image(); |
65 |
|
|
developersover.src = dir + "mdevelopershover.png"; |
66 |
|
|
|
67 |
|
|
developersout = new Image(); |
68 |
|
|
developersout.src = dir + "mdevelopers.png"; |
69 |
|
|
|
70 |
|
|
instrumentsover = new Image(); |
71 |
|
|
instrumentsover.src = dir + "minstrumentshover.png"; |
72 |
|
|
|
73 |
|
|
instrumentsout = new Image(); |
74 |
|
|
instrumentsout.src = dir + "minstruments.png"; |
75 |
|
|
|
76 |
|
|
linksover = new Image(); |
77 |
|
|
linksover.src = dir + "mlinkshover.png"; |
78 |
|
|
|
79 |
|
|
linksout = new Image(); |
80 |
|
|
linksout.src = dir + "mlinks.png"; |
81 |
|
|
|
82 |
|
|
documentationover = new Image(); |
83 |
|
|
documentationover.src = dir + "mdocumentationhover.png"; |
84 |
|
|
|
85 |
|
|
documentationout = new Image(); |
86 |
|
|
documentationout.src = dir + "mdocumentation.png"; |
87 |
|
|
|
88 |
|
|
creditsover = new Image(); |
89 |
|
|
creditsover.src = dir + "mcreditshover.png"; |
90 |
|
|
|
91 |
|
|
creditsout = new Image(); |
92 |
|
|
creditsout.src = dir + "mcredits.png"; |
93 |
|
|
|
94 |
|
|
faqover = new Image(); |
95 |
|
|
faqover.src = dir + "mfaqhover.png"; |
96 |
|
|
|
97 |
|
|
faqout = new Image(); |
98 |
|
|
faqout.src = dir + "mfaq.png"; |
99 |
|
|
|
100 |
|
|
bugsover = new Image(); |
101 |
|
|
bugsover.src = dir + "mbugshover.png"; |
102 |
|
|
|
103 |
|
|
bugsout = new Image(); |
104 |
|
|
bugsout.src = dir + "mbugs.png"; |
105 |
|
|
} |
106 |
|
|
--> |
107 |
|
|
</script> |
108 |
|
|
|
109 |
|
|
</head> |
110 |
|
|
|
111 |
|
|
<body> |
112 |
|
|
|
113 |
persson |
2033 |
<div id="mainwindow"><div class="lsbackground"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler"></div> |
114 |
senoner |
542 |
|
115 |
|
|
<h1><span class="hidden">The LinuxSampler Project</span></h1> |
116 |
|
|
|
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 |
senoner |
1938 |
<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 |
schoenebeck |
1675 |
<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 |
senoner |
542 |
<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> |
135 |
schoenebeck |
1935 |
|
136 |
schoenebeck |
1947 |
<div class="boxed"> |
137 |
schoenebeck |
1935 |
<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 |
schoenebeck |
2379 |
<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 |
schoenebeck |
1947 |
<a href="donations.html">Why donate?</a> |
156 |
|
|
</div> |
157 |
senoner |
1973 |
<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 |
persson |
2479 |
src="//pagead2.googlesyndication.com/pagead/show_ads.js"> |
170 |
senoner |
1973 |
</script> |
171 |
|
|
</center> |
172 |
|
|
</div> |
173 |
schoenebeck |
1935 |
|
174 |
senoner |
1973 |
|
175 |
senoner |
542 |
</td><td valign=top width="100%"> |
176 |
|
|
<div id="contents"> |
177 |
|
|
|
178 |
schoenebeck |
1610 |
<h2>The Project</h2> |
179 |
senoner |
542 |
<p class="default"> |
180 |
schoenebeck |
2514 |
The LinuxSampler project was founded in 2002 with the |
181 |
schoenebeck |
1770 |
goal to produce a free, streaming capable open source pure |
182 |
schoenebeck |
2514 |
software audio sampler with high stability, efficiency and very |
183 |
|
|
low latency, providing professional grade features, |
184 |
schoenebeck |
1770 |
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 |
schoenebeck |
1610 |
</p> |
188 |
|
|
|
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 |
senoner |
542 |
<br> |
198 |
schoenebeck |
1610 |
<a href="screenshots/ls_0_5_1_console.png"> |
199 |
|
|
<img src="screenshots/ls_0_5_1_console_preview.png"> |
200 |
|
|
</a><br> |
201 |
senoner |
542 |
<br> |
202 |
schoenebeck |
1610 |
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> |
208 |
|
|
|
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 |
senoner |
542 |
<br> |
222 |
schoenebeck |
1610 |
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> |
239 |
schoenebeck |
1612 |
<a href="screenshots/qs_0_2_1_ubuntu.png"> |
240 |
schoenebeck |
1610 |
<img src="screenshots/qs_0_2_1_ubuntu_preview.png"> |
241 |
|
|
</a><br> |
242 |
|
|
<br> |
243 |
schoenebeck |
1624 |
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 |
schoenebeck |
1610 |
</li> |
250 |
|
|
|
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 |
schoenebeck |
1624 |
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 |
schoenebeck |
1610 |
</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 |
schoenebeck |
1624 |
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 |
schoenebeck |
1610 |
</p> |
280 |
|
|
|
281 |
schoenebeck |
2514 |
<h2>Sampler Formats</h2> |
282 |
schoenebeck |
1610 |
<p class="default"> |
283 |
schoenebeck |
2514 |
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 |
schoenebeck |
1610 |
It is planned to support all common sampler formats in |
304 |
schoenebeck |
2514 |
LinuxSampler. At the moment the sampler supports the following |
305 |
|
|
three: |
306 |
schoenebeck |
1610 |
</p> |
307 |
schoenebeck |
2514 |
<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 |
|
|
powed 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> |
378 |
schoenebeck |
1610 |
|
379 |
schoenebeck |
2514 |
<h2>Instrument Editors</h2> |
380 |
schoenebeck |
1610 |
<p class="default"> |
381 |
schoenebeck |
2514 |
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 |
schoenebeck |
1610 |
<u><b>gigedit</b></u> allows you to edit and create instruments |
394 |
schoenebeck |
2514 |
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 |
schoenebeck |
1610 |
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 |
schoenebeck |
1404 |
<br> |
404 |
schoenebeck |
1610 |
<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 |
schoenebeck |
1624 |
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 |
schoenebeck |
1610 |
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 |
senoner |
542 |
</p> |
427 |
|
|
|
428 |
schoenebeck |
2514 |
<h2>Technical Interfaces</h2> |
429 |
schoenebeck |
1610 |
<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 |
schoenebeck |
1624 |
Our frontends support that network interface, which also allows to |
438 |
schoenebeck |
1610 |
control the sampler engine with the GUI frontend(s) remotely from |
439 |
|
|
another computer, probably even running a completely different |
440 |
schoenebeck |
1624 |
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 |
schoenebeck |
1610 |
</p> |
453 |
|
|
|
454 |
schoenebeck |
2514 |
<h2>Compatibility & Cross Platform</h2> |
455 |
schoenebeck |
1624 |
<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> |
465 |
|
|
|
466 |
schoenebeck |
2514 |
<h2>Sequencer & DAW Plugin Support</h2> |
467 |
schoenebeck |
1610 |
<p class="default"> |
468 |
schoenebeck |
2514 |
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> |
477 |
|
|
|
478 |
|
|
<h2>Community</h2> |
479 |
|
|
<p class="default"> |
480 |
schoenebeck |
1770 |
You need a helping hand? You certainly get the answers on your |
481 |
|
|
personal questions on our |
482 |
schoenebeck |
1856 |
<a href="http://bb.linuxsampler.org/">web forum</a>.<br> |
483 |
schoenebeck |
1770 |
<br> |
484 |
schoenebeck |
1610 |
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 |
schoenebeck |
1770 |
developers mailing list |
494 |
schoenebeck |
1610 |
</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 |
schoenebeck |
2514 |
<br> |
500 |
schoenebeck |
1610 |
</p> |
501 |
|
|
|
502 |
senoner |
542 |
</div> |
503 |
|
|
</td></tr></table> |
504 |
|
|
|
505 |
|
|
</div> |
506 |
|
|
|
507 |
|
|
</body> |
508 |
|
|
</html> |