User Tools

Site Tools


nndocs:lad

First, you must create the universe...

I use this guide in its current form on Debian Bookworm. The host needs to be provisioned “The Naptastic Way” already.

Start with the essentials.

  • sudo apt -y install ncurses-dev build-essential automake cmake subversion git libogg-dev alsa-tools alsa-tools-gui rtirq-init

Development headers we're going to need

  • sudo apt -y install libcurl4-gnutls-dev libarchive-dev libfftw3-dev uuid-dev liblrdf-dev libaubio-dev libcppunit-dev liblrdf-dev libcwiid-dev libtag1-dev libtag-extras-dev vamp-plugin-sdk librubberband-dev libsratom-dev liblilv-dev

JACK

Install the build dependencies:
  • sudo apt-get -y install libasound2-dev libsamplerate0-dev libsndfile1-dev libreadline6-dev libncurses5-dev libtool libdb-dev

opus with custom modes

This is necessary for Netjack to get compiled. Since removing Debian's version of libopus causes half the system to attempt seppuku, we will overwrite it with our version. Keep in mind that, if Debian updates libopus (which happens with surprising frequency) then you have to do this again because Netjack (and possibly Jack) will be broken.

Go download opus from xiph.org and

  • git clone git@github.com:xiph/opus.git
  • cd opus
  • ./autogen.sh
  • ./configure –prefix=/usr –libdir=/usr/lib/x86_64-linux-gnu –enable-custom-modes
  • …you know the rest…

jackd

Like libopus, we will be overwriting Debian's jack-related files with our own.

(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.)

  • git clone git@github.com:jackaudio/jack2.git
  • cd jackd2
  • ./waf configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --alsa
  • ./waf
  • sudo ./waf install

qjackctl

  • git clone git://git.code.sf.net/p/qjackctl/code qjackctl
  • cd qjackctl
  • cmake -DCONFIG_QT6=0
  • make
  • sudo make install
  • cd ..

Applications and plugins we install from Debian

  • sudo apt -y install ir.lv2 eq10q qsynth

Specifically request soundfonts be installed

  • sudo apt -y install fluid-soundfont-gm fluid-soundfont-gs musescore-general-soundfont-lossless opl3-soundfont

This is where we install our own soundfonts globally

rsync soundfonts from someplace to /usr/local/share/someplace

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.

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
nndocs/lad.txt · Last modified: 2022/03/30 00:43 by naptastic