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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1769 - (show annotations) (download) (as text)
Wed Sep 10 10:14:03 2008 UTC (11 years, 4 months ago) by schoenebeck
File MIME type: text/html
File size: 23338 byte(s)
* added note on features site, that we regulary cast a moderated
  "next features" poll on our forum

1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <link rel="stylesheet" type="text/css" href="index.css">
5 <title>The Linux Sampler Project</title>
6
7 <meta http-equiv="content-type"
8 content="text/html; charset=ISO-8859-1">
9
10 <script language="javascript" type="text/javascript">
11 <!--
12 var dir = "gfx/";
13
14 if(document.images) {
15
16 newsover = new Image();
17 newsover.src = dir + "mnewshover.png";
18
19 newsout = new Image();
20 newsout.src = dir + "mnews.png";
21
22 aboutover = new Image();
23 aboutover.src = dir + "mabouthover.png";
24
25 aboutout = new Image();
26 aboutout.src = dir + "mabout.png";
27
28 featuresover = new Image();
29 featuresover.src = dir + "mfeatureshover.png";
30
31 featuresout = new Image();
32 featuresout.src = dir + "mfeatures.png";
33
34 screenshotsover = new Image();
35 screenshotsover.src = dir + "mscreenshotshover.png";
36
37 screenshotsout = new Image();
38 screenshotsout.src = dir + "mscreenshots.png";
39
40 demosover = new Image();
41 demosover.src = dir + "mdemoshover.png";
42
43 demosout = new Image();
44 demosout.src = dir + "mdemos.png";
45
46 downloadsover = new Image();
47 downloadsover.src = dir + "mdownloadshover.png";
48
49 downloadsout = new Image();
50 downloadsout.src = dir + "mdownloads.png";
51
52 supportover = new Image();
53 supportover.src = dir + "msupporthover.png";
54 supportout = new Image();
55 supportout.src = dir + "msupport.png";
56
57 developersover = new Image();
58 developersover.src = dir + "mdevelopershover.png";
59
60 developersout = new Image();
61 developersout.src = dir + "mdevelopers.png";
62
63 instrumentsover = new Image();
64 instrumentsover.src = dir + "minstrumentshover.png";
65
66 instrumentsout = new Image();
67 instrumentsout.src = dir + "minstruments.png";
68
69 linksover = new Image();
70 linksover.src = dir + "mlinkshover.png";
71
72 linksout = new Image();
73 linksout.src = dir + "mlinks.png";
74
75 documentationover = new Image();
76 documentationover.src = dir + "mdocumentationhover.png";
77
78 documentationout = new Image();
79 documentationout.src = dir + "mdocumentation.png";
80
81 creditsover = new Image();
82 creditsover.src = dir + "mcreditshover.png";
83
84 creditsout = new Image();
85 creditsout.src = dir + "mcredits.png";
86
87 faqover = new Image();
88 faqover.src = dir + "mfaqhover.png";
89
90 faqout = new Image();
91 faqout.src = dir + "mfaq.png";
92
93 bugsover = new Image();
94 bugsover.src = dir + "mbugshover.png";
95
96 bugsout = new Image();
97 bugsout.src = dir + "mbugs.png";
98 }
99 -->
100 </script>
101
102 </head>
103
104 <body>
105
106 <div id="mainwindow"><img name="LinuxSampler" src="gfx/lsbackground.jpg" alt="LinuxSampler">
107
108 <h1><span class="hidden">The LinuxSampler Project</span></h1>
109
110 <table border=0 cellspacing=0 cellpadding=0><tr><th colspan=2 align=left>
111 <img name="h1blank" src="gfx/h1blank.png" alt="blank"><span class="hidden">about</span></th></tr>
112 <tr><td valign=top>
113 <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>
114 <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>
115 <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>
116 <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>
117 <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>
118 <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>
119 <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>
120 <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>
121 <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>
122 <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>
123 <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>
124 <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>
125 <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>
126 <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>
127 </td><td valign=top width="100%">
128 <div id="contents">
129
130 <h2>LS Development Roadmap</h2>
131 <p class="default">
132 The following list shows the planned work to be done until the next
133 release of LinuxSampler. There will be no new release before all of them
134 are completed.
135 </p>
136
137 <ol class="default">
138 <li class="false">nothing scheduled yet</li>
139 </ol>
140
141 <table class="default">
142 <tr>
143 <td class="default"><img src="gfx/okay_green.png" alt="Done" width="13" height="13" border="1"> Done </td>
144 <td class="default"><img src="gfx/yellow_light.png" alt="Partly implemented" width="13" height="13" border="1"> Partly implemented </td>
145 <td class="default"><img src="gfx/x.png" alt="Not started yet" width="13" height="13" border="1"> No work started yet </td>
146 </tr>
147 </table>
148
149 <p class="default">
150 Note that we frequently cast a moderated poll on our
151 <a href="https://bb.linuxsampler.org/"">web forum</a> for
152 the next features to be implemented and problems / bugs to be
153 fixed soon. Don't hesitate to register to our forum and vote for
154 your feature!
155 </p>
156
157 <h2>Features</h2>
158 <p class="default">
159 The following list shows which features have already been implemented in
160 current CVS version of LinuxSampler and what is planned to be done in
161 (hopefully) near future. If you are missing something that is not already
162 listed below, you can write a proposol to the
163 <a href="http://lists.sourceforge.net/lists/listinfo/linuxsampler-devel">
164 developers mailing list
165 </a>, open an "enhancement" request on our
166 <a href="http://bugs.linuxsampler.org">bug tracking system</a>
167 or even better send us your patch if you have done something. Even
168 if features are listed to be planned below, it can be that it takes a
169 while until somebody finds the time to implement it. So if you have the
170 time and will to finish one of them, let us know!
171 </p>
172
173 <ol class="default">
174 <li class="partly"> Operating Systems
175 <ol>
176 <li class="ok">Linux</li>
177 <li class="partly">Mac <a href="http://www.apple.com/macosx/">OS X</a> (gigedit and JSampler are not yet available for OS X and thus not included with the installer yet)</li>
178 <li class="partly">Windows</a> (we provide a convenient Windows installer for all components of the project, only the <a href="#instruments_db">instruments DB feature</a> is not yet supported on Windows)</li>
179 </ol>
180 </li>
181 <li class="partly"> Sampler Engines
182 <ol>
183 <li class="partly"> Gigasampler Engine
184 <ol>
185 <li class="ok">Gig file loader
186 <ol>
187 <li class="ok">Gig v2 format</li>
188 <li class="partly">Gig v3 format
189 <ol>
190 <li class="partly">large file support (64 bit file offsets are currently truncated to 32 bit)</li>
191 <li class="ok">24 bit samples (uncompressed as well as compressed)</li>
192 <li class="ok">support for multi-file format (.gig, .gx01, .gx02, ...)</li>
193 <li class="partly">support for articulation (.art) files</li>
194 <li class="ok">support for Dimension Splits not equal to two</li>
195 <li class="ok">up to 8 Dimensions or 256 Dimension Regions</li>
196 <li class="partly">MIDI rules</li>
197 <li class="false">convolution</li>
198 </ol>
199 </li>
200 </ol>
201 </li>
202 <li class="ok">Generic playback (RAM playback & disk streaming)</li>
203 <li class="ok">Dimension switching
204 <ol>
205 <li class="ok">Sample Channel</li>
206 <li class="ok">Layer</li>
207 <li class="ok">Velocity</li>
208 <li class="ok">Channel Aftertouch</li>
209 <li class="ok">Release Trigger</li>
210 <li class="ok">Keyboard Position</li>
211 <li class="ok">Round Robin</li>
212 <li class="ok">Random</li>
213 <li class="ok">Modulation Wheel</li>
214 <li class="ok">Breath Ctrl.</li>
215 <li class="ok">Foot Ctrl.</li>
216 <li class="ok">Portamento Time Ctrl.</li>
217 <li class="ok">Effect 1 &#038; 2 Ctrl.</li>
218 <li class="ok">Effect 1 - 5 Depth Ctrl.</li>
219 <li class="ok">General Purpose Ctrl. 1 - 8</li>
220 <li class="ok">Sustain Pedal</li>
221 <li class="ok">Portamento</li>
222 <li class="ok">Sostenuto Pedal</li>
223 <li class="ok">Soft Pedal</li>
224 </ol>
225 </li>
226 <li class="ok">Sustain pedal interpretation</li>
227 <li class="ok">Sostenuto pedal interpretation</li>
228 <li class="ok">Key velocity &#060;-&#062; volume mapping</li>
229 <li class="ok">Looping
230 <ol>
231 <li class="ok">endless loop</li>
232 <li class="ok">limited amount of loops</li>
233 <li class="ok">fractional looping</li>
234 </ol>
235 </li>
236 <li class="ok">Pitchbend wheel support</li>
237 <li class="ok">Bidirectional voice state transition, allowing
238 to cancel the relase stage of voices forth and back arbitrary
239 times if needed</li>
240 <li class="ok">Filter (VCF)
241 <ol>
242 <li class="ok">Highpass</li>
243 <li class="ok">Bandpass</li>
244 <li class="ok">Bandreject</li>
245 <li class="ok">Lowpass</li>
246 <li class="ok">Turbo lowpass</li>
247 <li class="ok">all filter types provide extremely
248 accurate characteristics compared to the original
249 Gigasampler format filters</li>
250 <li class="ok">Cutoff frequency controllable by MIDI controller</li>
251 <li class="ok">Resonance controllable by MIDI controller</li>
252 </ol>
253 </li>
254 <li class="ok">VCA Envelope Generator (Volume)</li>
255 <li class="ok">VCF Envelope Generator (Filter)</li>
256 <li class="ok">VCO Envelope Generator (Pitch)</li>
257 <li class="ok">VCA Low Frequency Oscillator (Volume)</li>
258 <li class="ok">VCF Low Frequency Oscillator (Filter Cutoff)</li>
259 <li class="ok">VCO Low Frequency Oscillator (Pitch)</li>
260 <li class="ok">Layers</li>
261 <li class="ok">Crossfades</li>
262 <li class="ok">Key Groups (a.k.a Exclusive Groups),
263 for mutually switching off sounds i.e. for drumkits</li>
264 <li class="ok">Release Triggered Voices, specific samples
265 that are played back when voices are released</li>
266 <li class="ok">Key Switching, which allows to map a certain
267 range on thy keyboard as additional performance controller,
268 i.e. for switching articulations of orchestral sounds in realtime</li>
269 <li class="ok">Voice Stealing</li>
270 <li class="ok">Portamento Mode and Solo Mode (a.k.a 'Mono Mode',
271 can be altered via standard GM messages, that is CC5 for
272 altering portamento time, CC65 for enabling / disabling
273 portamento mode, CC126 for enabling solo mode and CC127 for
274 disabling solo mode)</li>
275 <li class="ok">Scale Tuning (via standard MIDI GS SysEx message)</li>
276 </ol>
277 </li>
278 <li style="partly"><a href="http://www.midi.org/about-midi/dls/abtdls.shtml">DLS</a> Engine
279 <ol>
280 <li class="ok">DLS file loader (DLS version <a href="http://www.midi.org/about-midi/dls/dls1v11b.pdf">1</a> &#038; <a href="http://www.midi.org/about-midi/dls/dls2spec.shtml">2</a>)</li>
281 <li class="false">Generic playback</li>
282 </ol>
283 </li>
284 <li class="partly">Akai Engine</li>
285 <ol>
286 <li class="ok"><a href="http://stud.fh-heilbronn.de/~cschoene/projects/libakai/">Akai file loader</a> (<a href="http://www.vintagesynth.com/akai/s1000.shtml">S1000</a>, <a href="http://www.vintagesynth.com/akai/s3000.shtml">S3000</a> series)</li>
287 <li class="false">Generic playback</li>
288 </ol>
289 <li class="false">Custom, modular Engine</li>
290 </ol>
291 </li>
292 <li class="partly">Control interfaces
293 <ol>
294 <li class="ok">Native C++ <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API</a></li>
295 <li class="ok">Custom network interface for frontends (<a name="LSCP" href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html">LSCP</a>)
296 </li>
297 <li class="false"><a name="OSC" href="http://www.cnmat.berkeley.edu/OpenSoundControl/">OSC</a>
298 </li>
299 </ol>
300 </li>
301 <li class="partly">MIDI input drivers
302 <ol>
303 <li class="ok"><a href="http://www.alsa-project.org/">ALSA</a> (Linux)</li>
304 <li class="ok"><a href="http://jackit.sourceforge.net/">JACK</a> (Linux, OSX, Windows, ...)</li>
305 <li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li>
306 <li class="false">MIDI over ethernet (<a href="http://standards.ieee.org/announcements/p1639app.html">Distributed MIDI</a>)</li>
307 <li class="ok"><a href="http://developer.apple.com/audio/pdf/coreaudio.pdf">CoreMIDI</a> (Mac <a href="http://www.apple.com/macosx/">OS X</a>)</li>
308 <li class="ok"><a href="http://midishare.sourceforge.net/">MidiShare</a> (Linux, OS X, Windows)</li>
309 <li class="ok"><a href="http://en.wikipedia.org/wiki/MultiMedia_Extensions">MME</a> (Windows)</li>
310 </ol>
311 </li>
312 <li class="partly">Audio output drivers
313 <ol>
314 <li class="ok"><a href="http://www.alsa-project.org/">ALSA</a> (Linux)</li>
315 <li class="ok"><a href="http://jackit.sourceforge.net/">JACK</a> (Linux, OSX, Windows, ...)</li>
316 <li class="ok"><a href="http://www.arts-project.org/">aRts</a> (not RT safe!)</li>
317 <li class="ok"><a href="http://en.wikipedia.org/wiki/Audio_stream_input_output">ASIO</a> (Windows)</li>
318 <li class="false"><a href="http://www.steinberg.net/en/support/3rdparty/">VSTi</a></li>
319 <li class="false">Audio over ethernet</li>
320 <li class="false"><a href="http://developer.apple.com/audio/pdf/coreaudio.pdf">CoreAudio</a> (Mac <a href="http://www.apple.com/macosx/">OS X</a>)</li>
321 </ol>
322 </li>
323 <li class="ok">Time stamp event system &#038; jitter correction</li>
324 <li class="ok">Multi channel &#038; multi engine support</li>
325 <li class="partly">Pitch shifter / Interpolation
326 <ol>
327 <li class="ok">Linear interpolation</li>
328 <li class="ok">Cubic interpolation</li>
329 <li class="false">Formant frequency correction / formant manipulation</li>
330 </ol>
331 </li>
332 <li class="false">Dynamic engine recompilation</li>
333 <li class="false">Extensive SMP (multi processor) support</li>
334 <li class="false">Network cluster support</li>
335 <li class="ok">MIDI instrument mapper, allows to create very flexible MIDI progam change setups in a very easy way.
336 <ol>
337 <li class="ok">MIDI program change</li>
338 <li class="ok">MIDI bank select (automatic detection of MSB only, LSB only or full MSB+LSB)</li>
339 <li class="ok">Load Strategy for each Item individually
340 <ol>
341 <li class="ok">On-Demand: loads the instrument only when needed, frees it immediately once not used by any sampler channel anymore</li>
342 <li class="ok">On-Demand-Hold: loads the instrument when needed and keeps it in memory, that is even if not used by a sampler channel</li>
343 <li class="ok">Persistent: loads the instrument immediately in the background (i.e. at sampler startup), allowing immediate program changes in realtime even of largest instruments, without wait time</li>
344 <li class="ok">Default: let the sampler decide</li>
345 </ol>
346 </li>
347 <li class="ok">Volume Factor for each Item, allowing to compensate the volume difference of sample library collections i.e. for live performances, without having to edit the instrument files</li>
348 <li class="ok">Mapping of arbitrary Instrument Files, already independent of the underlying format in respect for future sampler engines</li>
349 <li class="ok">arbitrary amount of independent MIDI instrumet maps, (i.e. for chromatic instruments, drumkits, ...), each sampler channel can be assigned to a specific MIDI map</li>
350 </ol>
351 </li>
352 <li class="ok">Effect Sends
353 <ol>
354 <li class="ok">Arbitrary Amount of FX Sends on Sampler Channels</li>
355 <li class="ok">Realtime MIDI Control of Send Level</li>
356 <li class="ok">Arbitrary MIDI Controller assignable</li>
357 <li class="ok">Flexible Routing i.e. to a dedicated effect audio output</li>
358 </ol>
359 </li>
360 <a name="instruments_db"></a>
361 <li class="ok">Instrument Database System, allowing to keep track of even the largest sample library collections
362 <ol>
363 <li class="ok">Ordering in Categories</li>
364 <li class="ok">Search by various Criteria</li>
365 <li class="ok">Transparently maintained on backend side</li>
366 </ol>
367 </li>
368 <li class="partly">(Graphical) frontends
369 <ol>
370 <li class="partly"><a href="http://qsampler.sourceforge.net">QSampler</a> (C++ based frontend using Qt)
371 <ol>
372 <li class="ok">Supports all features of LinuxSampler except the following ...</li>
373 <li class="ok"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#CREATE FX_SEND">
374 Effect Sends</a>
375 </li>
376 <li class="partly"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#MIDI Instrument Mapping">MIDI Instrument Maps</a>
377 (qsampler does currently not yet support to create more than two MIDI instrument maps [one intended for chromatic instruments and one for drumkits])
378 </li>
379 <li class="false"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#Managing Instruments Database">Instruments DB support</a> (to ease handling of huge sample library collections)</li>
380 <li class="false"><a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#events">Sampler events</a> (to let qsampler react on certain events occuring on sampler side)</li>
381 <li class="partly">Audio and MIDI device management (only minor thing that qsampler lacks support yet are <a href="http://www.linuxsampler.org/api/draft-linuxsampler-protocol.html#GET MIDI_INPUT_DRIVER_PARAMETER INFO">"multiplicity"</a> type device parameters, that is parameters which don't just accept one value, but also a list of values, i.e. for the "ALSA_SEQ_BINDINGS" parameter of the ALSA MIDI driver)</li>
382 </ol>
383 </li>
384 <li class="ok"><a href="http://sourceforge.net/projects/jsampler">JSampler</a> (Java based frontend)
385 <ol>
386 <li class="ok">Supports all currently available features of LinuxSampler</li>
387 </ol>
388 </li>
389 <li class="false">VSTi frontend</li>
390 </ol>
391 </li>
392 <li class="ok">Playing while Loading, i.e. allowing to play and hold notes on the keyboard
393 while loading a new instrument on the same sampler channel at the same time</li>
394 <li class="ok">Instrument Editor Plugin System for 3rd Party Instrument Editors</li>
395 <li class="ok">Instrument Editors
396 <ol>
397 <li class="ok"><a href="http://download.linuxsampler.org/doc/gigedit/quickstart/gigedit_quickstart.html">gigedit</a> (C++ based using gtkmm/Gtk+)
398 <ol>
399 <li class="ok">allows to modify all aspects of Gigsampler v2 and v3 format files</li>
400 <li class="ok">allows to modify existing as well as creating completely new .gig files from scratch</li>
401 <li class="ok">stand-alone mode (independent of LinuxSampler)</li>
402 <li class="ok">live-mode (attached with LinuxSampler), which makes all modifications audible in the sampler in realtime without having to reload</li>
403 <li class="ok">created / modified files are accepted by LinuxSampler as well as by Gigastudio 3</li>
404 <li class="ok">virtual MIDI keyboard (for triggering notes by mouse click and highlighting the virtual keys on external note events)</li>
405 </ol>
406 </li>
407 </ol>
408 </li>
409 </ol>
410
411 <hr>
412
413 <p>
414 <TABLE class="formatmatrix">
415 <TR>
416 <TD><IMG src="gfx/okay_green.png" alt="Done" width="13" height="13" border="1"> Done</TD>
417 <TD><IMG src="gfx/yellow_light.png" alt="Partly implemented" width="13" height="13" border="1"> Partly implemented</TD>
418 <TD><IMG src="gfx/x.png" alt="Planned" width="13" height="13" border="1"> Planned</TD>
419 </TR>
420 </TABLE>
421 </p>
422
423 <p>
424 (Last page update on <b>$Date: 2008-09-10 10:14:03 $</b> by $Author: schoenebeck $,
425 also see <a href="http://www.linuxsampler.org">CVS Log</a> for recent changes)
426 </p>
427
428 </div>
429 </td></tr></table>
430
431 </div>
432
433 </body>
434 </html>

  ViewVC Help
Powered by ViewVC