Linux Audio/Midi System overview

A typical linux audio/midi system consists of these basic components:

  • Linux kernel. Provides audio drivers in the form of ALSA or OSS/Free. OSS/Free has been deprecated in favour of ALSA.
  • For some ALSA drivers (like ice1712) you’ll need a specialized mixer app, like envy24control.
  • An audio server. The professional choice here is JACK. There are many other soundservers (artsd, esd, mas, etc.) but these do not provide sample synchronous audio routing and mixing. Using an audio server is in a way optional, as there are quite a few apps talking to ALSA directly (or to OSS/Free, but ALSA can emulate that).
  • There are quite a few applications for jack. Have a look at the jack webpage or the Linux Sound And Midi pages by Dave Phillips.
  • There are several plugin standards, each with slightly different goals:

    • LADSPA. The name stands for Linux Audio Developers Simple Plugin API. And the name is rightly chosen. It’s an audio/control signal-only plugin standard without custom gui support.
    • DSSI. The Disposable Soft Synth Interface is basically LADSPA plus midi (in) ports and custom GUI creation.
    • LV2. LV2 is the next generation linux (and possibly UNIX) plugin standard. It is easily extended and should pretty much make everything right what was done wrong with LADSPA and DSSI.
    • Also i think AMS, Rosegarden, Muse, Aldrin, and many others have defined their own application specific plugin formats.

The JACK audio server allows for a very flexible application setup. You can basically connect any jack application to any other. Starting and connecting all these applications can be a time consuming task.

Thus LASH, the Linux Audio Session Handler, was created (it was originally named LADCCA, but that name was dropped in favour of LASH). Whole sessions of LASH enabled applications can be easily stored and restored. Sadly LASH adoption is rather slow. All the major sequencer applications still do not support LASH (Ardour, Rosegarden, Muse, etc). A fine counterexample is Seq24.

One Comment

  1. vlada says:

    “Also i think AMS, Rosegarden, Muse, Aldrin, and many others have defined their own application specific plugin formats.”

    Rosegarden does not. It uses DSSI (Chris Cannam, autor of Rosegarden, is one of the DSSI authors)!

Leave a Reply