Skip to content

Instantly share code, notes, and snippets.

@mbfisher
Last active December 20, 2015 22:29
Show Gist options
  • Save mbfisher/6205253 to your computer and use it in GitHub Desktop.
Save mbfisher/6205253 to your computer and use it in GitHub Desktop.
JACK

JACK

Installation

Realtime Audio

https://help.ubuntu.com/community/Ubuntu%20Studio%20Upgrade%20from%20Ubuntu

$> apt-get install linux-lowlatency
$> vim /etc/security/limits.d/audio.conf
@audio - rtprio 99
@audio - memlock unlimited
$> adduser mbfisher audio

Restart!

JACK

$> apt-get install libasound2-dev libsamplerate0-dev libsndfile-dev pgk-config
$> git clone https://github.com/jackaudio/jack2.git
$> ./waf configure --alsa
$> [sudo] ./waf build
$> [sudo] ./waf install
$> [sudo] ldconfig

Usage

To find available hardware interfaces:

$> arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: US800 [US-800], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

The jackd argument is then constructed as hw:$CARD[,$SUBDEVICE]. My Tascam interface is referenced with hw:1:

$> jackd -d alsa -d hw:1

Now you have the serve running it's time to connect a client to it.

Examples

JACK ships with a bunch of example code in example-clients/; each provides a simple implementation of a basic principle. simple_client.c is an excellent first step. JACK's documentation gives an example command to build a client however I think it's out of date due to changes in the default linking behaviour of gcc. The command that works for me is:

$> gcc example-clients/simple_client.c -o ~/jack-simple $( pkg-config --cflags --libs jack ) -lm

pkg-config links the JACK library and -lm links the math library required to use sin.

qjackctl

$> apt-get install libqt4-dev
$> wget http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz
$> ./configure
$> make
$> make install

a2jmidid

$> apt-get install a2jmidid

fst

http://www.joebutton.co.uk/fst/

VST SDK

Jump through Steinberg's hoops!

lash

http://download.savannah.gnu.org/releases/lash/

$> apt-get install libxml2-dev uuid-dev

Wine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment