Please take that into consideration, and any corrections or comments are appreciated.
This document is a supplemental resource intended as a companion reference to the video series: The Guide To Linux Audio & Music Production. This text guide contains much of the information presented in the videos. In some cases it offers more information including links, tables, my own notes, and images.
A. Part ONE:
B. PART TWO:
C. PART THREE:
First, let's look at audio-production terms and concepts in general, as in NOT specific to GNU/Linux.
DAW: Stands for Digital Audio Workstation. A DAW is a software suite for making or recording music with a computer. DAW's usually allow you to create separate audio tracks and channels for playing, mixing, and recording audio. Typically the DAW also allows you to process and manipulate digital instruments, samples, and effects.
Think of it as a recording studio in a software program.
Plug-In's: Standardized portable software that can be used in different DAW's as instruments, effects, and utilities. The most common plug-in types are VST:Virtual Studio Technology, and AU: Audio Units which are specific to MacOS.
MIDI: Musical Instrument Digital Interface, a standard that is used to connect instruments and controllers to software for music production. Examples: Synthesizers, Controllers, Samplers, Turn-Tables.
Latency: Basically means delay. When working with music/audio in a computer this delay can become a problem when you are controlling musical notes or recording audio.
It's commonly thought that anything over 10ms(milliseconds) is noticeable to humans.
Real-Time: In computers RealTime has multiple meanings, but in general it means that the computer has to complete a task in a pre-determined & predictable amount of time, like a deadline.
The Linux kernel has several patches that help mitigate latency, and achieve real-time/low-latency performance regarding input/output of audio for:
Let's start with the Linux audio stack, Every operating system has a sub-system that handles audio input/output, and provides a way for developers to write programs to take advantage of this.
Linux has three audio systems: ALSA, Pulseaudio, and JACK.
Why 3? Each have their own purposes, but most Linux distributions will have ALSA and Pulseaudio installed by default.
When it comes to producing music on Linux, getting started can be overwhelming because of the three entirely different audio systems on the back end.
If you just want to quickly start learning and playing around making beats and songs you can skip installing JACK, and simply run your DAW of choice with the ALSA or Pulseaudio back-ends.
However, if you have music hardware like MIDI controllers or you plan on recording guitars, drums, or other live instruments of vocals along with music from the DAW you'll want to use JACK.
LinuxAudio.org System Configuration Guide
Linux Audio Bundles and Distributions
https://wiki.archlinux.org/index.php/Professional_audio
Arch Wiki: Getting JACK to play nice with ALSA
Libre Music Production: Advantages of Linux Audio Distros
The number one issue I've seen on forums when researching Linux audio production is issues with JACK, usually being blamed on Pulseaudio. Many people claim it's difficullt to get them to function together.
Because of this I was put off on the idea of using JACK, and decided to only use Pulseaudio/ALSA applications.
At the same time people also generally agree that JACK is one of the best parts of working with audio on Linux, and I had to find out what I was missing.
As a compromise I chose to try out an audio-focused distro that comes with JACK/Pulseaudio pre-installed and configured. So I installed AVLinux on a separate computer, and used that machine exclusively for music/audio.
After becoming more familiar with how ALSA, Pulseaudio, & JACK work I started installing JACK on my other computers too.
I now use JACK/Pulseaudio on every Linux machine I work with. This ranges from a laptop with a MIDI controller to my studio machine with 6 different audio interfaces and over 30 unique inputs/outputs.
ALSA & JACK MIDI for Dummies...Explained By A Dummy
It's definitely not as difficult as it's made to seem. Maybe in the past it was much more difficult, but in Part ONE I go over how they work, and it's not that complicated at all.
My hope is with this guide you'll be able to install JACK and use it on any machine, but also I won't discount the benefits of learning on a studio distro like AVLinux or Ubuntu Studio.
All of these are covered in the PART ONE video at 17:22
The left side of the table is how the packages are named in the Ubuntu repositories. Meaning you can typically install them in the terminal via:
sudo apt install paprefsor
sudo apt install pavucontrol
| alsautils | = | terminal volume mixer for ALSA | |
|---|---|---|---|
| pavucontrol | = | pulseaudio volume control | |
| paprefs | = | pulseaudio preferences | |
| jackd2 | = | Jack Audio Connection Kit 2 | |
| jackd1 | = | Jack Audio Connection Kit 1 | |
| qjackctl | = | Graphical JACK Controller Interface | |
| pactl | = | Pulseaudio Control(command line) | |
| a2jmidid | = | ALSA to JACK MIDI daemon | |
| pulseaudio-module-jack | = | JACK Connections for Pulseaudio | |
| pajackconnect | = | Pulseaudio Jack Connect |
JACK2 is the one I use, and is typically the recommended JACK implemementation. JACK1 is no longer under active development.
JACK2 has many new features missing from JACK1, but JACK2 uses ALSA to handle MIDI support while JACK1 handles it natively.
You can find in-depth explanations and discussions at the links below:
Differences Between JACK 1 & 2 from the jackaudio Github
JACK Audio Connection Kit - ArchWiki
Jack1 & 2 Discussion on LinuxMusicians
Every GNU/Linux distribution comes with a Linux kernel.
Some of them have patched kernels that add or change certain things about the OS. You can find out what kernel you are using by runnig the uname -a command in a terminal:
drown@xeon-studio ~ uname -a
Linux xeon-studio 5.3.0-7642-generic #34158440762318.04~36777b2-Ubuntu SMP Tue Mar 17 03:29:38 UTC x86_64 x86_64 x86_64 GNU/Linux
This output shows I'm running Linux, my computer's name is xeon-studio, and I'm using a generic kernel on Ubuntu.
In certain situations having a kernel that's patched can achieve better real-time performance, and there are several patched kernels that are designed around low-latency and realtime high-performance for audio.
Below is a list of possible kernels including ones that are patched to achieve better performance:
-generic kernel - this is the stock kernel that is provided by default in Ubuntu.
-preempt kernel - this kernel is based on the -generic kernel source tree but is built with different configurations (settings) to reduce latency. Also known as a soft real-time kernel.
-rt kernel - is based on the Ubuntu kernel source tree with Ingo Molnar maintained PREEMPT_RT patch applied to it. Also known as a hard real-time kernel.
-lowlatency kernel - very similar to the -preempt kernel and based on the -generic kernel source tree, but uses a more aggressive configuration to further reduce latency. Also known as a soft real-time kernel.
-realtime kernel - is based on the vanilla kernel source tree with Ingo Molnar maintained PREEMPT_RT patch applied to it. Also known as a hard real-time kernel.
The Liquorix Kernel - A truly custom low-latency kernel. Liquorix is a distro kernel replacement built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads.
Right now I am editing this text guide just after finishing the PART THREE video, and Liquorix is only briefly mentioned in PART ONE. But I have just discovered that AVLinux(covered in Part TWO) is now based on MX Linux and uses the Liquorix Kernel.
Warning!
If you are not familiar with Linux kernel commands you should probably not attempt installing a patched kernel.
If you're certain you want to attempt this on your distro you should look at a guide that applies to your distro, and compare it to other reputable guides. There are multiple ways to improve audio performance on your Linux system.
You can get various patched-kernels out of the box using one of the audio/studio distros we'll be covering.
Linux supports a large number of plug-ins through different solutions, either native or hosted.
LADSPA: Linux native plug-ins, usually not too fancy looking.
LV2: Fancier looking native Linux plug-ins, some are LinuxVST's, other's are based on LADSPA plug-ins.
DSSI: Non native plug-ins that work via a "wrapper".
Wine stands for Wine Is not an Emulator. It's a system that allows Windows software to run on Linux. Windows VST, VST3, and VSTi plug-ins are possible with Wine.
WineASIO: Additionally, some other Windows audio production software requires Windows ASIO low-latency drivers, basically the Windows version of JACK.
WineASIO can be installed to make some of these porgrams work with Linux. Installing WineASIO can be tricky, but it comes pre-installed in AVLinux.
Calf Studio Gear is a collection of native plug-ins for Linux that also has it's own host to run it independently.
Carla is a plug-in host for virtually all types of plug-ins. It can be ran on it's own or like a plug-in inside of a DAW.
In my configuration I have Carla set to also scan for VST2 plug-ins located in my Wine virtual drives at:
- /home/your-user/.wine/drive_c/Program Files (x86)/Steinberg/VSTPlugins
- /home/your-user/.wine/drive_c/Program Files (x86)/VstPlugins
- /home/your-user/.wine/drive_c/Program Files/VstPlugins
This may be different depending on how you have your Wine setup configured.
My VST3 Wine locations:
- /home/your-user/.wine/drive_c/Program Files (x86)/Common Files/VST3
- /home/your-user/.wine/drive_c/Program Files/Common Files/VST3
Another great place to get started is by installing a Linux distribution designed for music & audio work. In PART TWO of this guide we focus on three of these Linux distros.
When I began doing audio production on Linux I installed AVLinux on a separate computer for a few reasons:
Starting off with AVLinux gave me a lot better understanding and confidence with these things, and acted as sort of a shopping list for some of the plug-ins and programs that I'd later install on my main systems.
I definitely don't regret going that route, but it was far easier to get JACK/Pulseaudio working than people online made it seem.
- Ubuntu-Studio https://ubuntustudio.org/
- KX-Studio https://kx.studio/
- AVLinux https://www.bandshed.net/avlinux/
- CCRMA - http://ccrma.stanford.edu/planetccrma/software/
Overviews & Studio Websites:
KX-Studio Guide
Ubuntu Studio Guide
AVLinux Guide
AVLinux Install 50:35
Installing AVLinux Realtime Kernel 55:45
AVLinux Assistant 57:14
JACK/Alsa/MIDI/Pulse 59:35
Included Software/Tools 1:00:02
Carla Plug-Ins 1:03:47
File Manager Audio Tools 1:08:15
Harrison Mixbus 1:10:23
Ardour 1:18:42
WineASIO Helper 1:22:22
Conclusion/Thoughts 1:23:05
Even though the KX-Studio distribution itself is outdated, the KX-Studio website contains a ton of useful information. It also contains Guides for using the KX Studio Repositories to install packages on your Debian/Ubuntu system.
Outdated, based on Ubuntu 14.04(released in April of 2014).
Uses the low-latency kernel. Pre-configured & loaded with software and plug-ins. Uses Cadence as a central control system for loading tons of instruments & plug-ins. Additionally, the KX-Studio repositories can be added to other Debian or Ubuntu based distros. However, this can create complications because of dependencies and can brake your operating system.
WARNING:
You should ONLY add KX-Studio repositories if you know what you are doing, and have working back-ups of your system.
I have personally encountered issues from using KX-Studio repositories such as not being able to upgrade certain libraries for other software. This is due to having installed KX packages that are marked as manually installed by Ubuntu's APT package manager meaning it won't remove them automatically.
In my case the benefit of keeping them outweighs the drawback of not upgrading.
An Official flavor of Ubuntu. The most widely used multimedia orientated GNU/Linux distribution in the world. Like KX-Studio it uses the low-latency kernel, but the much more up-to-date 18.04 version(At the time of writing this). It comes pre-loaded with a selection of the most common free multimedia applications available, and is configured for best performance for the Ubuntu Studio defined workflows: Audio, Video, Graphics, and Publishing.
Ubuntu-Studio doesn't include quite as many plug-ins or programs for music production as AVLinux or KX-Studio, but they can always be installed later.
Official Ubuntu Studio Resources from Help.Ubuntu.com
Pro Audio Intro - Introduction to audio on Ubuntu Studio
Ubuntu Studio Audio Handbook - Handbook for audio and music production on Ubuntu Studio
Hardware Support - Information about linux supported hardware
Ubuntu Studio Controls - Ubuntu Studio's definitive configuration tool
Ubuntu Studio Installer - Adds additional packages and/or gives Ubuntu and its official flavors all of Ubuntu Studio's benefits.
Ubuntu Studio Backports PPA - Contains updated tools for Ubuntu Studio
Kernel Information - Information about Real Time Kernels vs the Low Latency Kernel
Unfortunately, since I've began this project AVLinux has discontinued the AC Linux Kernel Repository. Citing the responsibility and security risks involved. You can read it from them here
However, there is good news!
AVLinux is now based on MX Linux and now comes with the high-performance Liquorix Kernel that I've touched on briefly, but have not yet featured in the video series(as of Part THREE).
Some of the information in this written guide and the videos will be out of date so please remember that.
When I started this project AVLinux was still based on Debian, and was very different. The latest AVLinux MX-Edition Manual can be found here.
Formerly based on Debian Stable and using the -rt hard real time kernel by default, but the low-latency kernel also available in the repositories. Comes with a custom settings system, and other performance squeezing configurations as well as JACK & Pulseaudio pre-configured to work smoothly together. AVLinux is loaded with hundreds of third-party plug-ins, including some free 32-bit Windows VSTs.
Another unique feature is WineASIO. In Linux, Wine is a software system that allows Windows programs to be run in Linux, WineASIO allows Windows native ASIO sound drivers to be used with JACK.
AVLinux also includes the DEMO version of Harrison Mixbus, that plays random static at different intervals if you haven't purchased a license.
Created by Glen MacArthur, a musician and producer who runs Bandshed Records, and records music with his band Rated Blue. As a musician he began using Linux for audio in 2006 and eventually developed AVLinux for his own needs in audio-production and recording. Glen decided to make his custom studio Linux distribution available to others, and that's how we got AVLinux. AVLinux offers a ton of unique aspects out of the box not found in KX-Studio or Ubuntu-Studio.
Briefly touched on my video guide, but still worth mentioning.
Stanford University's Center For Computer Research In Music and Acoustics, pronounced "Karma". Hosts Planet CCRMA At Home. The specific collection of free and open source software packages specifically for Fedora Linux that is used by Stanford's CCRMA. This collection has gotten smaller over time because most of the packages have moved to the official Fedora repositories.
Low-Latency Kernel
JACK & Pulseaudio both installed & configured
Ubuntu Studio Controls (Management Software)
Included DAWs:
Carla Plugin Host
Yoshimi Synthesizer
Rakarrack Guitar Amp Modeler
Much more available in the software repositories
Pre-installed Realtime Kernel
AVLinux Assistant for various RT config and system admin tools
Shuriken Beat Slicer pre-installed
ZynAddSubFX synthesizer with new Modern UI
Harrison Mixbus Demo Included
The most plug-ins pre-loaded
Originates from 32bit and 64bit snapshots of the Debian Stable Distribution.(Now based on MX Linux)
High Peformance Liquorix Kernel for optimal low-latency Audio potential.
Extra tweaks for performance, meets all criteria of the included software and tools.
Realtime Configuration Quick Scan.
Some special custom packaging not found in default Repositories.
Extensive Audio/Video and Administrator-friendly Custom Actions.
Seamless JACK Audio/MIDI environment with PulseAudio Integration.
Intro 00:00
Recap 04:23
QJack-Control MIDI Configuration 05:17
Alsa2Jack MIDI Bridge 08:14
CALF Studio Gear Plug-ins
10:11 Carla Plug-In Host
15:34 Hydrogen Drum Machine
23:13 Renoise
30:59 Waveform(Traktion-T7)
38:05 LMMS:Linux Multimedia Studio
57:00 Reaper 08:48
Harrison Mixbus 01:11:01
Ardour 01:14:34
Bitwig Studio 01:26:54
Final Thoughts & Outro 01:44:46
Hydrogen
ReNoise
Waveform
LMMS
Reaper
Ardour
Harrison Mixbus
Bitwig Studio
So Hydrogen is not actually a traditional DAW, it's branded as a drum-machine. However, it's far more than just a drum-machine. It allows you to create drum kits based off of audio samples, and supports Linux LADSPA plug-in effects. It has it's own mixer, and allows you to export as songs, as MIDI files, and as Lilypond files.
It also supports JACK Transport functionality.
Config/Audio System/MIDI
Mixer
LADSPA effects
JACK Transport
Lilypond File Support
H2 Drumkit Server : https://musical-artifacts.com/hydrogen_drumkits.xml
LMMS is Digital Audio Workstation that is specifically for "producing" tracks, not for recording live music aside from MIDI. It's designed as an open-source alternative to Fruity Loops AKA FLStudio. It does most of what FL can do, but it is not a 1:1 replacement. It specifically lacks any way to record from outside sources, meaning it only works with recorded samples. If you want to work with or record live audio, you will need to do so beforehand using another program.
LMMS does however include a host of instrument and effects plugins and features support for Soundfonts/gig files, it also provides a host for Windows 32-bit VST2 plug-ins in the form of Windows Dynamically Linked Libraries DLL, and even installers or .EXE executables. Also, depending on your version, CAN support Carla as a plug-in. With the Carla plug-in, depending on your system packages, you can add support for additionally plug-ins such VST3/VSTi, LV2, DSSI, and others.
LMMS also connects to ALSA, JACK, and Pulseaudio sound architectures, and supports MIDI seamlessly on any of them with no configuration necessary.
Ardour is a true general purpose DAW, more like Pro-Tools. It provides a robust integrated audio routing system with buses,channels, and tracks, while allowing external audio from hardware, MIDI, or even other software to route into any interface.
Ardour uses two main work flows: The Editor side and the The Mixer side. This allows you multiple ways of approaching audio production, such as recording live instruments and mixing on the fly, or producing pre-sampled tracks for mixing later, as well as the ability to work with a mixture of the two. Unlike LMMS, Ardour would be right at home as a dedicated studio control center with fixed hardware. It's more complicated than LMMS for producing software-based music, but it excels at this as well. It can also be used to extract audio from Video files and edit them along with the visual progression. By default it supports ALSA and JACK and requires you to manually configure ALSA's MIDI drivers into JACK which can be a bit tricky, but some pre-built versions have more support for various configurations. It comes with a collection of plugins and natively supports LADSPA, Linux-VST, and LV2. Windows-VST plugins can be used on special builds of Ardour and also require Wine to be installed.
Harrison Mixbus is an affordable, proprietary DAW that is built out of Ardour, it's developed, supported, and maintained by Harrison Consoles. Harrison is a reputable manufacturer of high-end analogue mixing/control consoles used in major studios. Some of the features Mixbus features over Ardour are Harrison's proprietary DSP algorithms for analogue sound mixing and many other advanced features. The interface for Mixbus also varies from Ardour with channels that have Harrison-specific mixing/control built into each one.
Reaper is an open-source non-free DAW, that offers a fully-featured trial version that has no enforced expiration, but does ask you to pay the very affordable $60(non commercial use) price after the time expires. Reaper sports a slew of features for audio processing, recording, and editing. Reaper also includes it's own suite of plug-ins and supports VST, VST3, and VSTi formats, and includes a collection of it's own JSFX plug-ins.
Bitwig Studio is created by former developers of the extremely popular Ableton Live DAW, and like Ableton it is marketed to professionals at professional prices. It is available on Linux, MacOS, and Windows. Bitwig is not free, but there are limited demos available. A Bitwig license costs $399 USD.
Traktion T7 is a proprietary DAW that's available for free, but with instruments and effects add-on's that are paid. The development library behind it is called JUCE, which has been sprung off on it's own as open-source software that has been used to build other plug-ins that are available for Linux.
Also proprietary, but with a demo version available. ReNoise is a "Tracker" style DAW, meaning it functions very differently than most of it's contemporaries. It uses vertical tracking versus horizontal, and definitely has a learning curve even for people who are familiar with DAW's.
That's it for the FIRST DRAFT of the written guide.
There's a lot more that will be added to future & final drafts.
If you have any suggestions please leave a comment below.
The goal is to make this written guide as useful as possible.
I have a bunch of stuff that I kept out just because this guide is the only thing stopping me from release the Part 3 video, and so I'm out of time.
If this helped you in any way feel free to leave a comment below or under one of the videos!