This page will try to describe the process of getting started with music production in Linux in a user-friendly way.

Hopefully this will be useful for people that have no or little experience in the area, or producers switching from a Mac/Windows environment.

Note: This guide is based on Ubuntu 8.04, not Ubuntu Studio. Please add comments where the two differs.

First step - Platform for production

Hardware support

Before everything (and especially if you plan to use Firewire hardware), you have to be sure your hardware is supported by Ubuntu Studio.

For Mac and Windows platforms, manufacturers usually provide ASIO-compliant drivers. Things are a bit different in the linux world. Before considering buying new hardware, please check https://help.ubuntu.com/community/UbuntuStudio/HardwareOptimization to be sure your hardware is ok with ALSA and JACK.

This page will detail where to check if your hardware is compatible, depending on your audio setup.

Real-time kernel

The first vital step to a working environment is to have a real-time kernel. (Note that if you are using UbuntuStudio, you do not need to perform this step, as the real-time kernel is already in use).

This makes sure that the audio recorded gets the highest priority possible so the audio quality will be good without skips.

To install this kernel, open up a terminal and run:

sudo apt-get install linux-rt

Also, we need to give the audio-group the rights to set real-time priorities, lock a big amount of memory and prioritize processes in general.

In the terminal, issue these commands:

sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf'
sudo su -c 'echo @audio - memlock 250000 >> /etc/security/limits.conf'
sudo su -c 'echo @audio - nice -10 >> /etc/security/limits.conf'

Note: Modifying /etc/security/limits.conf Should Not Be Required Anymore
Beginning with the Ubuntu package jack-audio-connection-kit-0.118+svn3796-1ubuntu2 editing of /etc/security/limits.conf should not be required. JACK will write the following during post-installation to /etc/security/limits.d/audio.conf:

# generated by jackd's postinst.
# Do not edit this file by hand, use
# dpkg-reconfigure -p high jack
# instead
@audio - rtprio 99
@audio - memlock unlimited
#@audio - nice -19

Please note that creating or modifying /etc/security/limits.conf may cause conflicts with the JACK written /etc/security/limits.d/audio.conf settings.

Email from Linux Audio Users mailing list: http://linuxaudio.org/mailarchive/lau/2010/3/5/166428
Debian Bug #507248: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507248
-- Scott Lavender 4/25/10

Now, reboot the system and boot into your -rt kernel (should be default).

This kernel is the same as the standard kernel but with real-time support, so everything should be as normal and the kernel can be used even when the machine is not used for music production.

JACK

Note: You don't need to start JACK through Qjackctl in this step, it can be handled from within Ardour. But later on, when applications should be connected, it is needed - so we might as well get used to it right away.

What is JACK ?

When it comes to the audio hardware in Linux, the kernel and ALSA (Advanced Linux Sound Interface) take care of getting it to work.

But this stack is unable to provide a transport channel for different audio applications to "talk" to eachother (audio sequencer and drum machine, for example). To accomplish this and to optimize the sound processing to lower latency, the JACK system is used.

Note: The easiest setup is to have a secondary soundcard with which JACK will be used. If only one soundcard is present, JACK will take control over it and it won't be possible to play any "regular" audio while JACK is running. When starting JACK through QJackCtl, be sure no other process is using the soundcard.

Installation

To be able to configure and start the JACK daemon through a graphical interface, start up a terminal and install QJackCtl with this command:

sudo apt-get install qjackctl

This application will then be found through Applications -> Sound & Video -> Audio Production -> Jack Control.

Configuration

The configuration depends on the capabilities of the soundcard, but be sure to check the "Realtime" box and select the proper input and output devices.

Common configurations include "Force 16bit" and 44100 sample rate.

For more information, be sure to check out https://help.ubuntu.com/community/HowToJACKConfiguration.

Once the basic configuration is done, start the JACK daemon and install an audio sequencer.

XRuns

https://help.ubuntu.com/community/UbuntuStudio/DapperPreparation

Ardour

Alternative replacement software: Rosegarden

Function names: Digital Audio Workstation/Audio sequencer

Windows/Mac equivalent: Cubase, Logic, GarageBand

Ardour (http://ardour.org/) is a Digital Audio Workstation. You can use it to record, edit and mix multi-track audio. It is the central place for music production in Ubuntu Studio.

To install, enter that convenient terminal and issue:

sudo apt-get install ardour

Once installed, it will be found under Applications -> Sound & Video -> Ardour GTK2.

Ardour requires a JACK daemon to be running when it starts, so be sure it's started from the previous step.

Second step - Connecting applications through JACK

When audio is recording and playing back as it's supposed to, connecting other applications that can provide drum machines etc could be useful.

Hydrogen

Alternative replacement software:

Function names: Drum machine

Windows/Mac equivalent: EZ Drummer, Reason

Hydrogen is an easy drum machine to get started with, the downside is that it tends to crash when used with Ardour over JACK.

Install from terminal:

sudo apt-get install hydrogen

Connections in JACK Patchbay

https://help.ubuntu.com/community/HowToQjackCtlConnections

Using the JACK transport

Third step - Using filters

There is no obvious superior way of using filters at this point of Linux music production.

We to prioritize between having stable and well-integrated but graphically displeasing and hindering plugins (LADSPA) or emulated, mostly non-free, unstable and badly integrated but state-of-the-art plugins (VST).

LADSPA

LADSPA (Linux Audio Developer's Simple Plugin API) is a simple, stable and well-supported plugin API which works very well in applications like Ardour.

To get a bunch of plugins, just install the proper packages:

sudo apt-get install blop caps cmt fil-plugins ladspa-sdk mcp-plugins omins swh-plugins tap-plugins

When done, open up the mixer in Ardour, choose if you want the plugin before the fader or after, right click and choose "Insert plugin...".

If Ardour was open when you installed the plugins, you might have to click "Refresh".

When the plugin is inserted, it is enclosed in parenthesis to show that it's not enabled.

Right-click and choose "Enable" to enable it, and double-click on it to set its settings.

DSSI

VST/VSTi

The standard for music plugins is the VST format by Steinberg, which means the plugins are in Windows DLL format.

This means that WINE has to be used and will not be as easy, stable or optimized as a native solution.

Wineasio

Wineasio is an ASIO sound driver for Wine, which makes all ASIO-compatible VSTs talk to JACK through the ASIO-driver.

On AMD64

wget http://homerecording.de/~4damind/hr/wineasio-x_0.3.deb
sudo dpkg -i wineasio-x_0.3.deb
regsvr32 wineasio.dll

Now, start jack through qjackctl, and also jackbridge, then run winecfg.

Configure:

Windows version: Windows XP

Audio drivers: ALSA and JACK

"Test sound" never worked for me..

From here, I connected jackbridge output 0 and 1 to system playback 1 and 2, installed Reaper and configured the audio to use ASIO and it played back through Jack.

More advanced and thorough information on this coming later..

Ardour/VST

Fourth step - Using MIDI

Unsorted

UbuntuStudio/GettingStarted (last edited 2010-04-25 15:58:58 by slavender)