LinuxSampler

blank
news about features screenshots demos download donations support developers faq documentation bugs instruments links credits
Bitcoins Or donate Bitcoins at:
1Q9CK7xUhMNWryqYTZLbUTXbrjpYYtwvng

Why donate?

LS Development Roadmap

The following list shows the planned work to be done until the next release of LinuxSampler. There will be no new release before all of them are completed.

  1. Abstraction of common code from existing Gigasampler engine to base classes for further sampler engines.
  2. Implementation of SFZ(2) format sampler engine.
  3. Implementation of SF2 format sampler engine
    (might not be finished for next release, due to low demand & priority).
  4. Implementation of Akai format sampler engine
    (will probably not make into next release, due to low demand & priority).
  5. Real-time instrument script support
    (allows to override / customize sampler's behavior by textual, easy to write scripts included with instruments, which act like small programs, plugged into the sampler).
Done Done Partly implemented Partly implemented Not started yet No work started yet

Note that we frequently cast a moderated poll on our web forum for the next features to be implemented and problems / bugs to be fixed soon. Don't hesitate to register to our forum and vote for your feature!

Features

The following list shows which features have already been implemented in current Subversion version of LinuxSampler and what is planned to be done in (hopefully) near future. If you are missing something that is not already listed below, you can write a proposal to the developers mailing list , open an "enhancement" request on our bug tracking system or even better send us your patch if you have done something. Even if features are listed to be planned below, it can be that it takes a while until somebody finds the time to implement it. So if you have the time and will to finish one of them, let us know!

  1. Operating Systems
    1. Linux
    2. Windows (we provide a convenient Windows installer for all components of the project, including native 64 bit and native 32 bit binaries, standalone and VSTi plugin versions)
    3. Mac OS X (package provides universal binary for 64 bit Intel, 32 bit Intel and PPC, all software components are included, stand-alone sampler, VST plugin, AU plugin, QSampler & Fantasia frontends, gigedit instrument editor)
  2. Host plugin versions of the sampler
    1. VSTi (Windows, Mac, Linux)
    2. Audio Units (Mac)
    3. DSSI (Linux)
    4. LV2 (Linux)
  3. MIDI input drivers
    1. ALSA (Linux)
    2. JACK (Linux, OSX, Windows, ...)
    3. CoreMIDI (Mac OS X)
    4. MidiShare (Linux, OS X, Windows)
    5. MME (Windows)
    6. MIDI over ethernet (Distributed MIDI)
  4. Audio output drivers
    1. ALSA (Linux)
    2. JACK (Linux, OSX, Windows, ...)
    3. aRts (not RT safe!)
    4. ASIO (Windows)
    5. CoreAudio (Mac OS X)
    6. Audio over ethernet
  5. Sampler Engines
    1. Gigasampler / GigaStudio format Engine
      1. Gig file loader
        1. Gig v2 format
        2. Gig v3 & v4 format
          1. large file support (64 bit file offsets are currently truncated to 32 bit)
          2. 24 bit samples (uncompressed as well as compressed)
          3. support for multi-file format (.gig, .gx01, .gx02, ...)
          4. support for articulation (.art) files
          5. support for Dimension Splits not equal to two
          6. up to 8 Dimensions or 256 Dimension Regions
          7. iMIDI rules (smart midi); Note: due its strong limitations usage of iMIDI rules is discouraged. We recommend you to consider using real-time instrument scripts instead.
            1. Controller trigger rule
            2. Legato rule
            3. Alternator rule
          8. convolution
      2. Generic playback (RAM playback & disk streaming)
      3. Dimension switching
        1. Sample Channel
        2. Layer
        3. Velocity
        4. Channel Aftertouch
        5. Release Trigger
        6. Keyboard Position
        7. Round Robin
        8. Round Robin Keyboard
        9. Smart MIDI
        10. Random
        11. Modulation Wheel
        12. Breath Ctrl.
        13. Foot Ctrl.
        14. Portamento Time Ctrl.
        15. Effect 1 & 2 Ctrl.
        16. Effect 1 - 5 Depth Ctrl.
        17. General Purpose Ctrl. 1 - 8
        18. Sustain Pedal
        19. Portamento
        20. Sostenuto Pedal
        21. Soft Pedal
      4. Sustain pedal interpretation
      5. Sostenuto pedal interpretation
      6. Key velocity <-> volume mapping
      7. Looping
        1. endless loop
        2. limited amount of loops
        3. fractional looping
      8. Pitchbend wheel support
      9. Bidirectional voice state transition, allowing to cancel the relase stage of voices forth and back arbitrary times if needed
      10. Filter (VCF)
        1. Highpass
        2. Bandpass
        3. Bandreject
        4. Lowpass
        5. Turbo lowpass
        6. all filter types provide extremely accurate characteristics compared to the original Gigasampler format filters
        7. Cutoff frequency controllable by MIDI controller
        8. Resonance controllable by MIDI controller
      11. VCA Envelope Generator (Volume)
      12. VCF Envelope Generator (Filter)
      13. VCO Envelope Generator (Pitch)
      14. VCA Low Frequency Oscillator (Volume)
      15. VCF Low Frequency Oscillator (Filter Cutoff)
      16. VCO Low Frequency Oscillator (Pitch)
      17. Layers
      18. Crossfades
      19. Key Groups (a.k.a Exclusive Groups), for mutually switching off sounds i.e. for drumkits
      20. Release Triggered Voices, specific samples that are played back when voices are released
      21. Key Switching, which allows to map a certain range on thy keyboard as additional performance controller, i.e. for switching articulations of orchestral sounds in realtime
      22. Voice Stealing
      23. Portamento Mode and Solo Mode (a.k.a 'Mono Mode', can be altered via standard GM messages, that is CC5 for altering portamento time, CC65 for enabling / disabling portamento mode, CC126 for enabling solo mode and CC127 for disabling solo mode)
      24. Scale Tuning (via standard MIDI GS SysEx message)
    2. DLS Engine
      1. DLS file loader (DLS version 1 & 2)
      2. Generic playback
    3. Akai Engine
      1. Akai file loader (S1000, S3000 series)
      2. Generic playback
    4. SoundFont v2 (SF2) format engine
      1. SF2 file loader
      2. Generic playback
      3. Articulations
    5. SFZ v2 format engine (Note: not to be interchanged with "SoundFont" format !!)
      1. SFZ file loader
      2. Generic playback
      3. Articulations: Major part of opcodes have been implemented. Have a look at the SFZ status page for details.
    6. KORG format Engine
      1. KORG format file loader (currently supports Kronos, Oasys, M3, Triton and Trinity sample based sounds).
      2. Generic playback
    7. Control interfaces
      1. Native C++ API
      2. Custom network interface for frontends (LSCP)
      3. OSC
    8. Time stamp event system & jitter correction
    9. Multi channel & multi engine support
    10. Pitch shifter / Interpolation
      1. Linear interpolation
      2. Cubic interpolation
      3. Formant frequency correction / formant manipulation
    11. Extensive SMP (multi processor) support
      1. User can explicitly run individual sampler parts on different CPUs/cores.
      2. Automatic SMP voice pooling.
    12. Network cluster support
    13. MIDI instrument mapper, allows to create very flexible MIDI progam change setups in a very easy way.
      1. MIDI program change
      2. MIDI bank select (automatic detection of MSB only, LSB only or full MSB+LSB)
      3. Load Strategy for each Item individually
        1. On-Demand: loads the instrument only when needed, frees it immediately once not used by any sampler channel anymore
        2. On-Demand-Hold: loads the instrument when needed and keeps it in memory, that is even if not used by a sampler channel
        3. 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
        4. Default: let the sampler decide
      4. 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
      5. Mapping of arbitrary Instrument Files, already independent of the underlying format in respect for future sampler engines
      6. arbitrary amount of independent MIDI instrumet maps, (i.e. for chromatic instruments, drumkits, ...), each sampler channel can be assigned to a specific MIDI map
    14. Effect Sends
      1. Arbitrary Amount of FX Sends on Sampler Channels
      2. Realtime MIDI Control of Send Level
      3. Arbitrary MIDI Controller assignable
      4. Flexible Routing i.e. to a dedicated effect audio output
    15. Instrument Database System, allowing to keep track of even the largest sample library collections
      1. Ordering in Categories
      2. Search by various Criteria
      3. Transparently maintained on backend side
    16. (Graphical) frontends
      1. JSampler a.k.a "Fantasia" (Java based frontend)
        1. Supports all currently available features of LinuxSampler
      2. QSampler (C++ based frontend using Qt)
        1. Supports all features of LinuxSampler except the following ...
        2. MIDI Instrument Maps (qsampler does currently not yet support to create more than two MIDI instrument maps [one intended for chromatic instruments and one for drumkits])
        3. Instruments DB support (to ease handling of huge sample library collections)
        4. Audio and MIDI device management (only minor thing that qsampler lacks support yet are "multiplicity" 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)
    17. Playing while Loading, i.e. allowing to play and hold notes on the keyboard while loading a new instrument on the same sampler channel at the same time
    18. Limits for max. voices and max. disk streams can be altered at runtime
    19. Instrument Editor Plugin System for 3rd Party Instrument Editors
    20. Instrument Editors
      1. gigedit (C++ based using gtkmm/Gtk+)
        1. allows to modify all aspects of Gigsampler/GigaStudio v2, v3 and v4 format files
        2. allows to modify existing as well as creating completely new .gig files from scratch
        3. stand-alone mode (independent of LinuxSampler)
        4. live-mode (attached with LinuxSampler), which makes all modifications audible in the sampler in realtime without having to reload
        5. created / modified files are accepted by LinuxSampler as well as by Gigastudio 3 & 4
        6. virtual MIDI keyboard (for triggering notes by mouse click and highlighting the virtual keys on external note events)
        7. Support for managing and editing real-time instrument scripts (LinuxSampler extension of the original GigaStudio format).
    21. Real-time instrument script support
      (allows to override / customize sampler's behavior by textual, easy to write scripts included with instruments, which act like small programs, plugged into the sampler).

    Done Done Partly implemented Partly implemented Planned Planned

    (Last page update on $Date: 2014-06-15 18:18:16 +0200 (Sun, 15 Jun 2014) $ by $Author: schoenebeck $, also see Subversion Log for recent changes)