Skip to Content

The quick guide to music production on linux

theSamo's picture

Originally written by theSamo on Fri 03 Feb 2006 04:16:13 AM EET

note: This guide persumes you have ALSA working on your soundcard device.

In the beginning...:

You will need the pillars of linux audio.


Low latency soundserver(daemon) that interconnects jack-supporting applications' audio channels. you can get it here.

Low-latency kernel

You propably need to re-compile your kernel for this. It's advised for any desktop to have low-latency pre-emption enabled in the kernel for good performance nowadays. If you run a 2.6 kernel, then you just need to enable the preemptive kernel option (older kernels need a patch).

The Toolbox:

Now you need some software to run, connect to jack,etc.

JACK Control:

the usual suspect for this is Qjackctl which is a GUI to start jackd (with diffrent options) and manage its connections. It also manages ALSA's MIDI connections. Although not a straight GTK replacement, Patchage offers a much better scheme for connections (MIDI/AUDIO) but doesn't start JACK for you.


LADSPA is the standard for sound effects plugins on Linux. LADSPA plugins can be used in any LADSPA-friendly application. A large number of diffrent plugins can be found online.

JACK rack is a very nice guitar rack-like JACK client in which you can load LADSPA plug-ins.


DSSI can be best defined as LADSPA-for-instruments(softsynths/samplers). Although, it has a limited number of plug-ins and few hosts support it natively, it's a very promising project.


Rosegarden(MIDI/Audio) - for KDE. Propably the most mature user-friendly sequencer. (DSSI host)

MusE(MIDI/Audio) - Qt sequencer. Offwrs a productive pro GUI. (DSSI in CVS)

Seq24 (MIDI) - A minimal loop-based sequencer that works great for live performance.


There are tons of those. They come in all sorts and shapes, from scriptable languages to JACK clients with a gui.

ZynAddSubFX - is pretty much all you need if you're just starting.(No DSSI edition)

Om Synth - is a strong modular synth in active development, depends on LADSPA and DSSI plug-ins for signal processing.


both support jack output.

LinuxSampler - supports GIG, DLS and akai sample libraries.

Specimen - nice simple sampler with support for filters, multiple samples, etc.


Audacity the infamous open-source editor. easy-to-use, supports many formats. Also, supports LADSPA effects.

Sweep similar editor. Has DJing capabilities (scratching, piano-mode play, monitoring).

More essential stuff:

Ardour - Harddisk Multi-track recording. It can be used as an editor. has no midi support so far. depends on JACK for input.

JAMin - The JACK Mastering Interface. Usually, used with Ardour for heavy studio work.

Hydrogen - Drum Machine/Sampler. quite mature. (supports JACK, LADSPA).

A Diffrent Approach:

This whole process seems nothing but endless loops of modularity. A large grid of object with lots of inter-connections. Hence, comes a more abstract approach to digital music making. MAX is a graphical development enviroment. It can be seen as a programming language for music. It had many incarnations over the years with the commercial MAX/MSP being the most notorious one. The open-source version Pd (puredata) made by the original MAX developer can be used as your platform for ... everything.

Pd is highly modular with externals written for it that support LADSPA, DSSI,etc. However, the software's internal generator and DSP objects are more oftenly used. MAX-based software in general is mostly used for minimal, expiremental music. It is used extensively in the IDM genre for live shows.

The Big Picture:

So now you have like 10,000$ of software (if you've bought the windows commercial stuff). Your creative web around JACK is functioning in perfect harmony. You want to save your progress so far, but saving in each software then loading them in a logical order later is time-consuming. So you try to write scripts and everything is getting complicated -Why am i supposed to write scripts instead of music?!- . Well, there is an answer to that...


LASH - is simply what solves this whole thing. Unfortunately, Not so many software support it yet. Quoting there homepage: "(Non-bundled) Clients currently with LASH support:

* Timemachine - A simple one-click recording program, which can start recording 10 seconds in the past. (as of version 0.3.1) * Patchage - A modular patch bay for Jack and Alsa Midi apps. (as of version 0.2.3) * Om - An OSC controlled realtime modular synthesizer

More coming soon (support has been completed for Seq24, Meterbridge, and ZynAddSubFX)"

Dr. Radut | book