The LinuxSampler Project
@@ -112,6 +123,8 @@ + + @@ -119,34 +132,258 @@ + ++
General
+The Project
++ 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 software + samplers and to introduce new features not yet available by any + other sampler in the world. +
+ +The Engine
+
+ LinuxSampler was designed very modular, especially
+ (and in contrast to other samplers) it was decoupled from any user
+ interface. LinuxSampler itself usually runs as 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
+ informations 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). We call LinuxSampler the sampler backend.
+
The Face(s)
+
+ Obviously you need some way to control the sampler. That's where a
+ 2nd application comes into game, which we call a
+ sampler frontend application. A frontend 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 informations on the screen. A frontend
+ does not perform any signal processing tasks, so you can see it as
+ a "face" of the sampler.
+
+ For luxury we already provide you two different frontends / "faces"
+ for LinuxSampler:
+
-
+
-
+ QSampler is a light-weight frontend 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 only 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. But if you don't need that particular feature, + you're certainly fine with QSampler as well.
+
+
+
+ -
+ JSampler is a full-fledged frontend 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 frontend(s).
+
+
+ It's completely up to you which frontend to use. You could even use + both parallel at the same time for the same sampler engine + instance, really! ;-) You're concerned that your sampler frontend + might waste precious resources of your computer? No problem, just + setup the sampler session for your needs and then quit the + frontend application. The sampler engine doesn't care! It continues + to do its job. You need to change something? Start the frontend + again (or another frontend) and you see what you expect to see: the + current setup and state of the running sampler engine. +
+ +The Format
++ It is planned to support all common sampler formats in + LinuxSampler, but at the moment we chose to concentrate on the + Gigasampler format, because when we started this project, the + Gigasampler format was (in our opinion) the most popular + and "best" sampler format in regards of quality and power, + especially for the synthesis of natural instruments like pianos, + brass and bowed instruments. But we already made good advance in + implementing this format, so we are optimistic to start with + adding other formats soon. Beside that we also planned to + design our own, sophisticated sampler format to introduce a more + powerful and more flexible sampler format compared to + any sampler format currently available in the world. Be encouraged + to share your ideas about such a new format with us! +
+ +The Editor
+
+ gigedit allows you to edit and create instruments
+ for the Gigasampler format, which can be used with LinuxSampler
+ as well as with Tascam's Gigastudio. Following our line of
+ modularity we also made the instrument editors independent
+ applications. Because let's face it: every sampler format is
+ different, so in our opinion it is better to honor the specific
+ features of one format with its own instrument editor application
+ instead of trying to fiddle everything into one single bloated
+ application. So gigedit is our first editor, dedicated to the .gig
+ format:
+
+
+
+ You can use gigedit as stand-alone application or in conjunction
+ with LinuxSampler. For the latter case gigedit installs a plugin
+ into the sampler engine, so the engine (and with it the frontends)
+ knows that gigedit actually exists and can handle the .gig format.
+ So even though we decoupled the sampler's components into
+ independent applications, they all work seamlessly together.
+
+ Just press the "Edit" button
+ on a channel strip of a frontend and
+ gigedit will automatically popup on the screen and you're
+ immediately ready to edit your selected instrument, making all your
+ modifications audible in realtime. Even when editing huge
+ instruments of 1GB or more, tweak the instrument with gigedit and
+ immediately hear it while playing on the keyboard at the same time.
+ And the good thing: even with new sampler formats we're going to
+ add soon (and with it new editors), you don't have to remember
+ which instrument you loaded uses which format. Simply click on
+ "Edit" in a frontend and the sampler engine will choose the right
+ instrument editor application for the respective instrument for
+ you.
+
The Technical Interface
+
+ As the components of the sampler are independent applications,
+ there must be a way to let the applications communicate with each
+ other. For this LinuxSampler provides a native C++
+ API
+ as well as a network interface using an ASCII based protocol which
+ we call "LSCP"
+ for controlling the sampler engine and managing sampler sessions.
+ Our frontends support that network interface, which also allows to
+ control the sampler engine with the GUI frontend(s) remotely from
+ another computer, probably even running a completely different
+ Operating System. And compared to other remote control solutions,
+ the frontend won't feel sluggish, as the frontend is running on
+ your local machine.
+
+ You can also configure your computer to automatically start the
+ sampler engine and loading your prefered sampler session without
+ any frontend, simply by using a LSCP session file. How do
+ you get such a "LSCP session file"? Both frontends write LSCP
+ session files for you when you request them to save your current
+ sampler session. And as those LSCP session files are ordinary
+ human readable text files, you can adjust them with any text
+ editor if you want.
+
The Compatibility
- LinuxSampler is a work in progress. The goal is to produce a free, open source pure software audio sampler
- with professional grade features, comparable to both hardware and commercial Windows/Mac software samplers
- and to introduce new features not yet available by any other sampler in the world.
-
- LinuxSampler was designed as a sampler backend, decoupled from any user interface. It provides a native C++
- API as well as a network interface
- using an ASCII based protocol called LSCP
- for controlling the sampler and managing sampler sessions. But don't be afraid, with QSampler (based on the
- cross-platform C++ GUI library Qt) and JSampler (Java based, thus platform independent) we already have two convenient
- frontends for LinuxSampler and due to the
- decoupled design you can even control the sampler with the GUI frontend(s) from another computer, probably even running
- another OS like Windows or OS X. Beside our own custom network control layer we planned to add existing ones as well
- (e.g. OSC). With the planned SMP and cluster support
- LinuxSampler might become a very interesting tool for high-end studios and concerts in future.
-
- It is planned to support all common sampler formats in LinuxSampler, but at the moment we chose to concentrate on the
- Gigasampler format, because we think it's currently the best sampler format in regards of quality and power, especially
- for the synthesis of natural instruments like pianos, brass and bowed instruments. But we already made good advance in
- implementing this format, so we are optimistic to start with adding other formats soon. Beside that we also planned to
- design our own, sophisticated sampler format to introduce a more powerful and more flexible sampler format compared to
- any sampler format currently available in the world. Be encouraged to share your ideas about such a new format with us!
+ LinuxSampler is available for the most popular operating
+ systems and already supports a variety of audio and MIDI driver
+ systems on each OS. It does not require any special dedicated
+ device drivers from the sound card manufacturers, so you can
+ also use it with cheap consumer cards. Due to its clean design
+ the sampler can be ported to other operating systems and
+ extended for further driver systems with a minimum of effort.
+ So we're prepared for the future!
+
The Community
+
+ You need a helping hand? You certainly get the answers on your
+ personal questions on our
+ web forum.
+
+ All applications are under active development. However we all work
+ on this project for fun in our spare time. There are still so many
+ things to do and our hands are limited. So don't hesitate on
+ participating to the project! You don't necessarily need to be a
+ skilled programmer to help the project. Testing the applications,
+ reporting bugs, writing
+ documentation, providing artwork, themes for frontends, etc. helps
+ us and all users a lot! Simply subscribe to our
+
+ developers mailing list
+ and we'll of course take you by the hand in case you want to
+ participate with active source code development. Don't be afraid!
+ You have your own ideas and concepts for making the sampler better?
+ Great, share them with us!
- Anyway, there are so many things to do and our hands are limited. So don't hesitate on participating to the project!