The LinuxSampler project was founded with the goal to produce a free, streaming capable, open source pure software audio sampler with professional grade features, comparable to both hardware and commercial Windows / Mac OS X software samplers and to introduce new features not yet available by any other sampler in the world.
LinuxSampler was designed very modular, especially (and in contrast to other samplers) it was decoupled from any user interface. LinuxSampler itself usually runs as its own process in the background of the computer and usually does not show up anything on the screen, or at most it can be launched to show status information and debug messages in a console window.
That means LinuxSampler itself is the "engine" of the sampler, it is the software component which performs all the heavy and time critical computational tasks of handling MIDI events, calculating the audio data and sending the final audio data to your sound card (s). The dev team call LinuxSampler the "sampler back-end".
Obviously you need some way to control the sampler. That's where a 2nd application comes into game - a sampler front-end application. A front-end is (usually) a graphical application, visible on the screen, providing the user a set of e.g. menus, buttons, sliders, dials, etc. to allow the user to control the sampler in a convenient way. It merely sends the user requests to the sampler engine (LinuxSampler) and in turn shows the engine's status information on the screen. A front-end does not perform any signal processing tasks, so you can see it as a "face" of the sampler.
Two different front-ends / "faces" for LinuxSampler are provided:
QSampler is a light-weight front-end written in C++, using straightforward native graphical controls of the underlying operating system. That way the appearance of QSampler on the screen is very fast and it consumes very little resources. Due to its utilization of the operating system's common GUI controls, it looks slightly different on every operating system (also dependent of the user's selected theme on his OS). Note however, QSampler does not fully support all features of the sampler engine (LinuxSampler), yet. Most notably the engine's instruments database feature is not yet covered by QSampler.
JSampler is a full-fledged front-end for LinuxSampler, written in Java and currently comes in two flavors: JSampler "Classic" offers straightforward GUI controls whereas JSampler "Fantasia" provides a modern skin based user interface. JSampler supports all features currently available in the sampler engine (LinuxSampler). Also note that even though JSampler is written in Java and slightly more hungry regarding resources (compared to QSampler), this usually does not have any impact on the audio rendering performance of the sampler, since the engine runs completely independently and with much higher CPU priority than the front-end (s).
- A detailed list of planned and implemented features is available here.