The purpose of this page
Some system configuration needs to be done in order to be able to run IDJC. Fortunately it only needs
to be done once and full details follow.
Configuring your system for JACK Audio Connection Kit
No JACK means no IDJC
I'm going to be talking about JACK Audio Connection Kit (or JACK) from now on
and its sound server, jackd. Forget IDJC exists for the moment as the information on this page
applies to all applications that require JACK in order to function.
JACK needs real-time privileges in order to run smoothly because of the small sized buffers
that it uses to transfer audio. Using small buffers keeps the audio time delay (latency) to a minimum
which is a good thing if you are listening to your voice being captured live but it does mean
it's effectively running a just in time delivery system and does not want to be interrupted by
the operating system effectively saying time's up I have to run these other apps.
By default the JACK sound server now requires real-time privileges in order to even start. Previous
versions would not use real-time by default and audio data would be lost because of it.
Manually running jackd to see what happens
$ jackd -d alsa
jackd 0.118.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK is running in realtime mode, but you are not allowed to use realtime scheduling.
Please check your /etc/security/limits.conf for the following lines
and correct/add them:
@audio - rtprio 100
@audio - nice -10
After applying these changes, please re-login in order for them to take effect.
You don't appear to have a sane system configuration. It is very likely that you
encounter xruns. Please apply all the above mentioned changes and start jack again!
What just happened here is jackd just failed to start because it considers your system's
configuration to be wrong.
Let's get configuring
Add the two lines mentioned above to the file also mentioned above.
Ubuntu $ sudo echo "@audio - rtprio 100" >> /etc/security/limits.conf
$ sudo echo "@audio - nice -10" >> /etc/security/limits.conf
Debian $ su echo "@audio - rtprio 100" >> /etc/security/limits.conf
$ su echo "@audio - nice -10" >> /etc/security/limits.conf
Now that you have added all members of the audio group to the real-time privileges list lets
make sure your user account has audio group membership. You can do this in the Ubuntu System menu
by selecting Users and Groups from the Administration menu and clicking the
Manage Groups button. Choose audio and make sure the check-box is selected.
You now need to log out of your desktop and log back in again for the changes to take effect.
Let's try starting jackd one more time.
$ jackd -d alsa
jackd 0.118.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
This time it has successfully started so you can now run IDJC.
Making a simple JACK configuration file
$ echo "/usr/bin/jackd -d alsa -r 44100 -p 256" > ~/.jackdrc
This will ensure that when jackd is started on demand that it will do so with a sample
rate equalling that of CD audio and therefore most likely your entire music collection.
Making JACK use a particular sound card
It's a two step process of finding the names of all the sound cards and specifying
which one to use to jackd.
$ cat /proc/asound/cards
0 [Revolution71 ]: ICE1724 - M Audio Revolution-7.1
M Audio Revolution-7.1 at 0xd000, irq 19
1 [nanoKONTROL ]: USB-Audio - nanoKONTROL
KORG INC. nanoKONTROL at usb-0000:00:1d.0-2, full speed
$ jackd -d alsa -d Revolution71 -r 44100 -p 256
Enabling MIDI events
$ jackd -d alsa -r 44100 --midi raw
Only use the --midi option if you intend to use a MIDI device to control IDJC.
Finally
The program qjackctl can be used to start a JACK sound server. It has a nice graphical user
interface and can generate a .jackdrc file as well.
|