This is an old revision of the document!
Table of Contents
First, you must create the universe...
I use this guide in its current form on Debian Sid.
Start with the essentials.
sudo apt-get -y install ncurses-dev build-essential automake cmake subversion git libogg-dev alsa-tools alsa-tools-gui rtirq-init
Recent (hah) changes:
rtirq-init
used to be listed here, but with BFS-patched kernels, I don't think it's necessary anymore
Opus
There's an Opus 1.1 now. I haven't tried it.
wget http://downloads.xiph.org/releases/opus/opus-1.0.1.tar.gz
tar -xvf opus-1.0.1.tar.gz
cd opus-1.0.1
./configure --enable-custom-modes
make
sudo make install
JACK
ALWAYS ALWAYS ALWAYS CONFIGURE JACK WITH prefix=/usr
ONLY INSTALL ONE JACK AT A TIME
UPDATING WITHOUT REMOVING FIRST IS OK
NEVER EVER OVERWRITE JACKD1 WITH JACKD2 OR VICE-VERSA
Install the build dependencies:
sudo apt-get -y install libasound2-dev libsamplerate0-dev libsndfile1-dev libreadline6-dev libncurses5-dev qt4-dev-tools libtool libdb-dev
Only Install JACK1 or JACK2, not both!!
I recommend checking out both jack1 and jack2, so if you decide you need to switch, it isn't a big deal. But always remember you have to uninstall one before you install the other.
git clone git://github.com/jackaudio/jack2.git jackd2
git clone git://github.com/jackaudio/jack1.git jackd1
cd jack1
git submodule init
git submodule update
Decide whether you want jack1 or jack2. Refer first to http://trac.jackaudio.org/wiki/Q_differenc_jack1_jack2. It's also a good idea to read the rest of the JACK faq. Personally, I recommend Jack2 unless you plan to do audio work for more than 6 hours continually.
For jackd1:
cd jackd1
./autogen.sh
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
make
sudo make install
For jackd2:
(By the way, these instructions assume you'll be using the ALSA backend driver. If you plan to use a firewire audio interface, you need to build ffado, which I really don't want to help with. But I still love you.)
cd jackd2
./waf configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --alsa
./waf
sudo ./waf install
In case it wasn't clear enough before, only follow one of the above sets of instructions. But now that we're all hunky-dory, we can get on with qjackctl.
Give yourself access to Realtime Scheduling
Add these lines to /etc/security/limits.conf
: (Note: I've heard that some systems are using /etc/systemd/user.conf
instead. I've not encountered this yet.)
@audio - rtprio 99 @audio - nice -19 @audio - memlock unlimited
Then add yourself to the audio group:
sudo adduser [username] audio
So on my system, I did sudo adduser david audio
. Between the time you do this and the time you start using any of this software, you'll need to log completely out and back in.
LV2 Plugins
There are LOTS and LOTS of LV2 plugins, usable as synths, processors, mixers, routers, and so on. I'm compiling instructions for as many of them as I can; many simply won't work right now, and many I can't get to yet because, for crap's sake, I have a day job! But here are all the main ones I use.
Talentedhack
This is fun; automatic pitch correction. IMO, the latency is too high for live performance.
The tarball contains a directory that isn't the same name as the tarball, grr.
There's no configure stage.
make install
doesn't, or at least didn't in my case. I had to copy the files by hand; no big deal though.
wget http://talentledhack.googlecode.com/files/talentedhack1.85_source.tar.gz
tar -xvf talentedhack1.85_source.tar.gz
make
cd ../
sudo cp -a talentedhack.lv2 /usr/local/lib/lv2
Swami
sudo apt-get -y install intltool librsvg2-dev libinstpatch-dev libglade2-dev
git clone https://git.code.sf.net/p/swami/code swami-code
cd swami/swami
./autogen.sh
./configure
make
sudo make install
Ardour
Fetch the packaged dependencies:
sudo apt-get -y install uuid-dev liblrdf-dev libaubio-dev libarchive-dev libcppunit-dev liblrdf-dev libcwiid-dev libtag1-dev libtag-extras-dev vamp-plugin-sdk librubberband-dev libarchive-dev liblilv-dev libsratom-dev libsord-dev libserd-dev lv2-dev libsamplerate0-dev libjack-jackd2-dev libasound2-dev
Then check out and build Ardour:
git clone git://git.ardour.org/ardour/ardour.git ardour
cd ardour
./waf configure --optimize
./waf
sudo ./waf install